Go to file
Paride Legovini c8757c6d87 activate_mapping: activate only online CPUs
When echoing a mask to /proc/irq/N/smp_affinity make sure to activate
only CPUs which are online. Activating a CPU which is not online results
in a EOVERFLOW.

Originally fixed in Debian by Helge Deller <deller@gmx.de>.
2020-08-25 23:31:59 +02:00
misc Fix typo in service unit file 2020-06-08 06:24:56 -04:00
tests Add make check targets 2018-05-14 14:14:02 -04:00
ui fix resource leak for not invoking closedir() after opendir() 2019-10-11 17:44:06 +08:00
.gitignore irqbalance: Misc build enhancements 2012-03-26 10:19:00 -04:00
.travis.yml Dump the log to the console 2018-05-14 14:27:03 -04:00
activate.c activate_mapping: activate only online CPUs 2020-08-25 23:31:59 +02:00
AUTHORS Add autotools scripts to irqbalance 2009-09-01 15:50:39 +00:00
autogen.sh Make sure the m4 directory is created in autogen.sh 2012-06-20 11:45:37 -04:00
bitmap.c import __bitmap_parselist from Linux kernel 2015-03-12 17:47:00 -04:00
bitmap.h import __bitmap_parselist from Linux kernel 2015-03-12 17:47:00 -04:00
classify.c arm64: Add irq aff change check 2020-03-17 20:03:43 +08:00
configure.ac Updating configure script to version 1.7.0 2020-08-04 08:30:13 -04:00
constants.h Compute load in nanoseconds 2013-02-18 14:08:57 -05:00
COPYING Adding missing configure files 2009-10-02 18:22:21 +00:00
cpumask.h irqbalance: use num_online_cpus() instead core_count 2019-11-04 23:01:02 +08:00
cputree.c Add strlen checking for IRQBALANCE_BANNED_CPUS 2020-07-24 09:49:04 +08:00
irqbalance-ui.1 Add stub manpage for irqbalance-ui 2019-07-21 12:15:14 +02:00
irqbalance.1 Capitalize HOMEPAGE in irqbalance.1 2019-07-21 12:15:24 +02:00
irqbalance.c put arg parsing detail into parse_command_line() 2020-08-17 20:52:30 +08:00
irqbalance.h remove redundant "/" in SOCKET_TMPFS 2020-07-03 16:35:56 +08:00
irqlist.c improve irq migrate rule to avoid high irq load 2020-01-20 23:20:47 +08:00
Makefile.am Add irqbalance-ui.1 to dist_man_MANS 2019-07-23 19:40:12 +02:00
non-atomic.h initial import 2006-12-09 15:59:16 +00:00
numa.c irqbalance: use add_one_node() to create unspecified node for numa 2019-11-07 10:58:13 +08:00
placement.c irqbalance: use NUMA_NO_NODE macro instead of -1 for numa 2019-11-03 22:12:36 +08:00
procinterrupts.c irqbalance: use num_online_cpus() instead core_count 2019-11-04 23:01:02 +08:00
README.md Clarify the README description 2019-07-05 00:00:05 +02:00
types.h Types: clean out unused variables from irq_info struct 2017-08-08 14:35:31 -04:00

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 each of 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