The config file is implemented. The config file is preferred method to configure birq daemon. The command line options to set parameters is a legacy method. Use SIGHUP to re-read config file.
The 'exclude-cpus=<cpumap>' option is implemented. It allows to exclude some CPUs from the list of CPUs that process IRQs.
Fix bug with wrong shebang while VAR expanding within ACTION script.
Bugfix release. It's strongly recommended to update your klish.
The problem is with FIFO races. You can get it when use something like 'yourscript &' in ACTION script. Klish can hang when cpu is under the high load.
Bugfix release. It's recommended to update from version klish-2.1.0. The klish-2.1.1 fix regression (2.1.0) with signal handling, CDATA container (libxml2), xslt configuring. Add rtld_global=true/false attribute for PLUGIN tag.
The licence of all birq code is BSD now. The birq doesn't contain GPL code. Thanks to Semyon Verchenko for the patch.
The klish now supports XSLT transformations. The project can be build with --with-libxslt option. The XSLT engine needs libxml2 library. The clish utility has --xslt(-p) option to set stylesheet file. The embedded stylesheets is also supported.
The plugin mechanism has new CLISH_PLUGIN_OSYM() API to define ACTION functions. This mechanism allows to get all ACTION's stdout output to internal variable. VARs use this internal variable to get their values. See clish_script() function for exmaple. Such function must be added by clish_plugin_add_osym() function. The old API is also supported.
There were a hardware problems with birq server for a several days. Now the problems are fixed.
There were a hardware problems with klish server for a several days. Now the problems are fixed.
Conservative birq behaviour. The birq on start tries to link IRQs to CPU using current affinity. It doesn't change affinity if IRQ doesn't have affinity to multiply CPUs. It doesn't change IRQ affinity if number of interrupts is 0.
In some cases the OS can't move IRQ to specified CPU. To keep the state consistent the birq analyzes real IRQ affinity on each iteration.
Add new option --load-limit. If the loading of CPU is greater than this limit then no IRQs can't be moved to this CPU. It stabilizes the behaviour on a high load.
Bugfix release. The bug with the null symbol at the end of script was fixed. It's important for some shebangs. The using of Lua as a shabang was broken before this fix.
Also available in: Atom