Skip to content

luci-app-irqbalance: show the interrupts as a table, not a textarea - #8980

Merged
hnyman merged 1 commit into
openwrt:masterfrom
VizzleTF:luci-app-irqbalance-page
Aug 25, 2026
Merged

luci-app-irqbalance: show the interrupts as a table, not a textarea#8980
hnyman merged 1 commit into
openwrt:masterfrom
VizzleTF:luci-app-irqbalance-page

Conversation

@VizzleTF

Copy link
Copy Markdown
Contributor

The page printed /proc/interrupts into a read-only ui.Textarea and the service
state into a bare <p>. This renders the same data with stock LuCI widgets, so a
theme can lay it out and a phone can read it.

What changes:

  • Status becomes form rows — service state, CPU count, hardware IRQ count,
    busiest interrupt — instead of a paragraph alone in a section.
  • The snapshot becomes two tables: hardware IRQs, and the software and
    inter-processor counters. One column per CPU, a total, and the device the line
    belongs to. Cells carry data-title, which is what themes key their
    narrow-screen layout off.
  • Interrupts that never fired collapse behind a checkbox: 6 rows instead of 18
    on a four-core router, with the count stated beside the toggle.
  • The numbers refresh in place on the existing poll rather than being rebuilt,
    so the page does not move under the reader.
  • Exclude IRQs offers each IRQ with the device that owns it, instead of listing
    valid values in the description to match by hand against the snapshot.

Settings are unchanged: same options, same defaults, same validation. No
stylesheet is added and no colour is hardcoded — running/not running uses the
--success-color-high / --error-color-high variables themes export, with a
literal fallback.

Measured on a live GL-MT6000 (OpenWrt 25.12.5): 6 of 18 hardware IRQs collapsed,
18 expanded, counters advancing each tick with the scroll offset unmoved.

Context: the page came up in #8903, where the spacing under the textarea was
reported and before/after screenshots of this rewrite were posted.

@openwrt openwrt Bot added the not following guidelines Pull request does not follow formatting guidelines label Aug 25, 2026
The page printed /proc/interrupts into a read-only ui.Textarea and the
service state into a bare <p>. Neither is something a theme can lay out:
the
snapshot is a monospace block that scrolls sideways on a phone, and the
status paragraph sits alone in a section with no label beside it.

Same data, stock widgets:

  * status becomes form rows -- service state, CPU count, hardware IRQ
    count, and the busiest interrupt -- so it folds like every other page;
  * the snapshot becomes two LuCI tables, hardware IRQs and the software
    and inter-processor counters, with one column per CPU, a total, and the
    device the line belongs to. Every cell carries data-title, which is
    what
    a theme keys its narrow-screen layout off;
  * interrupts that have never fired are collapsed behind a checkbox. On a
    four-core router that is 6 rows instead of 18, and the count is stated
    beside the toggle;
  * the numbers refresh in place on the existing poll rather than being
    rebuilt, so the page does not move under the reader;
  * Exclude IRQs offers each IRQ with the device that owns it, instead of
    listing valid values in the description for the reader to match by hand
    against the snapshot.

The settings are unchanged: same options, same defaults, same validation.
No stylesheet is added and no colour is hardcoded -- the running/not
running
state uses the --success-color-high / --error-color-high variables themes
export, with a literal fallback for themes that define neither.

Measured on a live GL-MT6000 (OpenWrt 25.12.5): 6 of 18 hardware IRQs shown
collapsed, 18 expanded, counters advancing on each tick with the scroll
offset unmoved.

Signed-off-by: Ivan Kvashonkin <vizzlef@gmail.com>
@VizzleTF
VizzleTF force-pushed the luci-app-irqbalance-page branch from be9132a to ca66057 Compare August 25, 2026 11:59
@openwrt openwrt Bot removed the not following guidelines Pull request does not follow formatting guidelines label Aug 25, 2026
@VizzleTF

Copy link
Copy Markdown
Contributor Author

@hnyman here we go

@hnyman

hnyman commented Aug 25, 2026

Copy link
Copy Markdown
Contributor

Thanks.
I tested this on two of my routers, and looked ok, so merging in.

@hnyman
hnyman merged commit 13d2926 into openwrt:master Aug 25, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants