Go to file
Liu Chao b65faa2b65 irqbalance-ui: can't change window when in editing state
when invoking setup_irqs in settings or invoking settings in setup_irqs, it
doesn't break but enters another while loop.
For example:
 # gdb program `pidof irqbalance-ui`
 (gdb) bt
 #0  0x0000ffffb0dcc7b0 in poll () from /usr/lib64/libc.so.6
 #1  0x0000ffffb0e9097c in _nc_timed_wait () from /usr/lib64/libtinfo.so.6
 #2  0x0000ffffb0ecc154 in _nc_wgetch () from /usr/lib64/libncursesw.so.6
 #3  0x0000ffffb0eccb18 in wgetch () from /usr/lib64/libncursesw.so.6
 #4  0x00000000004045d4 in setup_irqs () at ui/ui.c:637
 #5  0x0000000000404084 in settings () at ui/ui.c:614
 #6  0x0000000000404084 in settings () at ui/ui.c:614
 #7  0x0000000000404084 in settings () at ui/ui.c:614
 #8  0x0000000000404084 in settings () at ui/ui.c:614
 #9  0x0000000000404084 in settings () at ui/ui.c:614
 #10 0x0000000000404084 in settings () at ui/ui.c:614
 #11 0x0000000000404084 in settings () at ui/ui.c:614
 #12 0x0000000000401fac in key_loop (data=<optimized out>) at ui/irqbalance-ui.c:387
 #13 0x0000ffffb105371c in ?? () from /usr/lib64/libglib-2.0.so.0
 #14 0x0000ffffb1052a84 in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
 #15 0x0000ffffb1052e38 in ?? () from /usr/lib64/libglib-2.0.so.0
 #16 0x0000ffffb1053188 in g_main_loop_run () from /usr/lib64/libglib-2.0.so.0
 #17 0x000000000040196c in main (argc=<optimized out>, argv=<optimized out>) at ui/irqbalance-ui.c:445

Signed-off-by: Liu Chao <liuchao173@huawei.com>
2022-06-30 10:42:37 +08:00
contrib add meson 2022-06-15 14:01:48 -07:00
misc correct wait time in oneshot mode 2022-04-21 16:44:19 +08:00
tests Add make check targets 2018-05-14 14:14:02 -04:00
ui irqbalance-ui: can't change window when in editing state 2022-06-30 10:42:37 +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 get irq->module relationship from /sys/bus/pci/*/driver 2022-06-07 20:48:55 +08:00
configure.ac Merge pull request #206 from ChangSeokBae/irqbalance 2022-06-16 09:46:34 -04:00
constants.h Remove some unused constant macros in constants.h 2020-11-25 23:57:04 +08:00
COPYING Adding missing configure files 2009-10-02 18:22:21 +00:00
cpumask.h Add the cpus_copy() helper 2022-05-17 11:44:57 -07:00
cputree.c Prepare to handle thermal event 2022-06-15 14:52:13 -07:00
irqbalance-ui.1 Add stub manpage for irqbalance-ui 2019-07-21 12:15:14 +02:00
irqbalance.1 Document migrateval 2022-04-07 08:26:15 -04:00
irqbalance.c add keep_going check to prevent irqbalance from failing to exit after SIGTERM 2022-06-25 14:21:28 +08:00
irqbalance.h Add hot pull method for irqbalance 2021-01-04 12:34:02 +08:00
irqlist.c fix unsigned integer subtraction sign overflow 2021-08-24 20:50:18 +08:00
Makefile.am Prepare to handle thermal event 2022-06-15 14:52:13 -07: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 parse_proc_interrupts: fix parsing interrupt counts 2022-06-27 13:55:28 +02:00
README.md Update README.md 2020-10-27 10:09:24 -04:00
thermal.c Handle thermal events to mask CPUs 2022-06-15 14:52:25 -07:00
thermal.h Prepare to handle thermal event 2022-06-15 14:52:13 -07:00
types.h Add hot pull method for irqbalance 2021-01-04 12:34:02 +08: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.

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