The irqbalance source tree - The new official site for irqbalance
C Roff M4 Makefile Shell
Clone or download
Neil Horman Neil Horman
Neil Horman and Neil Horman parse_proc_interrupts: ensure that buffer is long enough for a string
Instead of using strcpy to a save each line in /proc/interrupts, use
strdup  and free to ensure that the buffer will hold the string
consistently, avoiding the gcc error that using a fixed size stack
variable triggers

Signed-off-by: Neil Horman <nhorman@tuxdriver.com>
Latest commit 8ab70a8 May 29, 2018
Permalink
Failed to load latest commit information.
misc systemd: remove syslog target dependency Dec 11, 2017
tests Add make check targets May 14, 2018
ui irqbalance: Fix the compile warning. Aug 19, 2017
.gitignore irqbalance: Misc build enhancements Mar 26, 2012
.travis.yml Dump the log to the console May 14, 2018
AUTHORS Add autotools scripts to irqbalance Sep 1, 2009
COPYING Adding missing configure files Oct 2, 2009
Makefile.am Add make check targets May 14, 2018
README.md Adding Travis bagde Aug 4, 2017
activate.c remove affinity_hint infrastructure Apr 26, 2016
autogen.sh Make sure the m4 directory is created in autogen.sh Jun 20, 2012
bitmap.c import __bitmap_parselist from Linux kernel Mar 12, 2015
bitmap.h import __bitmap_parselist from Linux kernel Mar 12, 2015
classify.c classify: remove unused label May 29, 2018
configure.ac Add make check targets May 14, 2018
constants.h Compute load in nanoseconds Feb 18, 2013
cpumask.h fix cpulist_parse definition to match bitmap_parselist and kernel Mar 12, 2015
cputree.c cputree: adjust snprintf sizes to avoid gcc warnings May 29, 2018
irqbalance.1 Add user interface to configuration and build, document socket API in… Jan 3, 2017
irqbalance.c Revert "Debug patch to determine rescan cause." May 29, 2018
irqbalance.h Teach irqbalance about Intel CoD. Jul 11, 2017
irqlist.c Fix min_load to pick actual min load across all objects Nov 15, 2017
non-atomic.h initial import Dec 9, 2006
numa.c Teach irqbalance about Intel CoD. Jul 11, 2017
placement.c remove affinity_hint infrastructure Apr 26, 2016
procinterrupts.c parse_proc_interrupts: ensure that buffer is long enough for a string May 29, 2018
types.h Types: clean out unused variables from irq_info struct Aug 8, 2017

README.md

What is Irqbalance

Irqbalance is a daemon to help balance the cpu load generated by interrupts across all of a systems cpus. Irqbalance identifies the highest volume interrupt sources, and isolates them to a single unique cpu, so that load is spread as much as possible over an entire processor set, while minimizing cache miss rates for irq handlers.

Building and Installing Build Status

./autogen.sh
./configure [options]
make
make install

Developing Irqbalance

Irqbalance is currently hosted on github, and so developers are welcome to use the issue/pull request/etc infrastructure found there. However, most development discussions take place on the irqbalance mailing list, which can be subscribed to at: http://lists.infradead.org/mailman/listinfo/irqbalance

New Developers are encouraged to use this mailing list to discuss ideas and propose patches.

Bug reporting

When something goes wrong, feel free to send us bugreport by one of the ways described above. Your report should include:

  • Irqbalance version you've been using (or commit hash)
  • /proc/interrupts output
  • irqbalance --debug output
  • content of smp_affinity files - can be obtained by e.g.: $ for i in $(seq 0 300); do grep . /proc/irq/$i/smp_affinity /dev/null 2>/dev/null; done
  • your hw hierarchy - e.g. lstopo-no-graphics output