summaryrefslogtreecommitdiffstats
path: root/abs/extra/irqbalance
diff options
context:
space:
mode:
Diffstat (limited to 'abs/extra/irqbalance')
-rw-r--r--abs/extra/irqbalance/Makefile.irqbalance13
-rw-r--r--abs/extra/irqbalance/PKGBUILD32
-rw-r--r--abs/extra/irqbalance/irqbalance.conf.d6
-rw-r--r--abs/extra/irqbalance/irqbalance.rc.d46
4 files changed, 97 insertions, 0 deletions
diff --git a/abs/extra/irqbalance/Makefile.irqbalance b/abs/extra/irqbalance/Makefile.irqbalance
new file mode 100644
index 0000000..fe08dc0
--- /dev/null
+++ b/abs/extra/irqbalance/Makefile.irqbalance
@@ -0,0 +1,13 @@
+CFLAGS := $(CFLAGS) -D_FORTIFY_SOURCE=2 -Wall -W $(shell pkg-config --cflags glib-2.0)
+LDFLAGS := $(shell pkg-config --libs glib-2.0)
+
+OBJS = bitmap.o irqbalance.o cputree.o procinterrupts.o irqlist.o \
+ placement.o activate.o network.o powermode.o numa.o classify.o
+
+all: irqbalance
+
+irqbalance: $(OBJS)
+ $(CC) $(CFLAGS) -o $@ $^ $(LDFLAGS)
+
+clean:
+ rm -f irqbalance *~ *.o
diff --git a/abs/extra/irqbalance/PKGBUILD b/abs/extra/irqbalance/PKGBUILD
new file mode 100644
index 0000000..5d823cd
--- /dev/null
+++ b/abs/extra/irqbalance/PKGBUILD
@@ -0,0 +1,32 @@
+# Maintainer: Dan McGee <dan@archlinux.org>
+# Contributor: Martin Striz <ms@poruba.net>
+
+pkgname=irqbalance
+pkgver=0.55
+pkgrel=3
+pkgdesc="IRQ balancing daemon for SMP systems"
+arch=('i686' 'x86_64')
+url="http://www.irqbalance.org/"
+license=('GPL')
+depends=(glib2)
+makedepends=(pkgconfig)
+backup=(etc/conf.d/irqbalance)
+source=(http://www.irqbalance.org/releases/$pkgname-$pkgver.tar.gz
+ Makefile.irqbalance
+ irqbalance.conf.d
+ irqbalance.rc.d)
+md5sums=('9f6b314ff1fdc14173abeb40592d4edf'
+ '45bc9e1d041d8547f2dbf12f887216df'
+ '336c1ee99818f9ecda1687e34c69fd6b'
+ '96efae052553711f74a61760cefa93b5')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ # use our Makefile instead of one provided which is not quite right
+ cp ../Makefile.irqbalance Makefile
+ make || return 1
+
+ install -D -m755 irqbalance $pkgdir/usr/sbin/irqbalance
+ install -D -m644 ../irqbalance.conf.d $pkgdir/etc/conf.d/irqbalance
+ install -D -m755 ../irqbalance.rc.d $pkgdir/etc/rc.d/irqbalance
+}
diff --git a/abs/extra/irqbalance/irqbalance.conf.d b/abs/extra/irqbalance/irqbalance.conf.d
new file mode 100644
index 0000000..ef1bdfd
--- /dev/null
+++ b/abs/extra/irqbalance/irqbalance.conf.d
@@ -0,0 +1,6 @@
+#
+# Settings for irqbalance daemon
+#
+
+# one shot mode - set to 1 if you have Pentium 4 with HT
+ONESHOT=0
diff --git a/abs/extra/irqbalance/irqbalance.rc.d b/abs/extra/irqbalance/irqbalance.rc.d
new file mode 100644
index 0000000..c8d197f
--- /dev/null
+++ b/abs/extra/irqbalance/irqbalance.rc.d
@@ -0,0 +1,46 @@
+#!/bin/bash
+
+# source application-specific settings
+ONESHOT=0
+[ -f /etc/conf.d/irqbalance ] && . /etc/conf.d/irqbalance
+
+if [ "$ONESHOT" -ne 0 ]; then
+ ONESHOT_CMD="oneshot"
+fi
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+
+PID=`pidof -o %PPID /usr/sbin/irqbalance`
+case "$1" in
+ start)
+ stat_busy "Starting IRQ balancing"
+ [ -z "$PID" ] && /usr/sbin/irqbalance $ONESHOT_CMD
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ if [ "$ONESHOT" -eq 0 ]; then
+ add_daemon irqbalance
+ fi
+ stat_done
+ fi
+ ;;
+ stop)
+ stat_busy "Stopping IRQ balancing"
+ [ ! -z "$PID" ] && kill $PID &> /dev/null
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ rm_daemon irqbalance
+ stat_done
+ fi
+ ;;
+ restart)
+ $0 stop
+ sleep 1
+ $0 start
+ ;;
+ *)
+ echo "usage: $0 {start|stop|restart}"
+esac
+exit 0