[PATCH 0/5] irqbalance: User interface and API availability

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]


Currently, it is not possible to view assignment tree in a different way than
debug output, and there are no possibilities to change the settings during
runtime. This patchset adds the ability for socket communication, creating an
interface for users to change some settings during runtime (sleep interval,
CPU and IRQ banning). Strings needed for retrieving data and setting changes
are described in the first patch's commit message.

The main purpose of this patchset is to create a simple user interface (using
curses library). The user interface is added into configuration script and
makefile and builds as a `irqbalance-ui` command. It uses aforementioned socket
interface to communicate with irqbalance and allows user to view assignment
tree, sleep interval, CPUs and IRQs that irqbalance is working with, and to
setup irqbalance's settings (which was yet possible only with restarting).

The user interface makes it possible for users to check how the IRQs are
balanced in given moment (refresh interval of assignment tree is set to 5s) and
to easily change irqbalance's settings in case the requirements change later.
The socket interface iteslf can also be used for scripting (eg automatic banning
depending on load), which can be useful for system administrators for various

Current plans for future development include unicode / ASCII signs in tree based
on locale settings, lspci and /proc/interrupts integration for IRQ source
information (eg device or kernel driver names) and displaying generic load of
CPUs. Ideas for other enhancements are welcome.

The patches are also available as `ui` branch at GitHub:

Veronika Kabatova (5):
  Add ability for socket communication
  Add helper functions for user interface
  Add user interface functionality
  Add main user interface files
  Add user interface to configuration and build

 Makefile.am        |   8 +-
 configure.ac       |   4 +-
 cputree.c          |   9 +-
 irqbalance.c       | 257 ++++++++++++++-----
 irqbalance.h       |   4 +
 ui/helpers.c       | 169 +++++++++++++
 ui/helpers.h       |  31 +++
 ui/irqbalance-ui.c | 323 ++++++++++++++++++++++++
 ui/irqbalance-ui.h |  85 +++++++
 ui/ui.c            | 730 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 ui/ui.h            |  53 ++++
 11 files changed, 1612 insertions(+), 61 deletions(-)
 create mode 100644 ui/helpers.c
 create mode 100644 ui/helpers.h
 create mode 100644 ui/irqbalance-ui.c
 create mode 100644 ui/irqbalance-ui.h
 create mode 100644 ui/ui.c
 create mode 100644 ui/ui.h


[Index of Archives]     [Linux Samsung SoC]     [Linux Rockchip SoC]     [Linux Actions SoC]     [Linux for Synopsys ARC Processors]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux