Comment 15 for bug 1833322

Revision history for this message
Doug Smythies (dsmythies) wrote : Re: Consider removing irqbalance from default install on desktop images

Lots of good comments. I sort of agree with:

> So if we're going to make a change, there
> should be due diligence to demonstrate a
> benefit, it should not be based on
> Internet hype.

However, I would have said:

If irqbalance is to be included by default, then there should be due diligence to demonstrate a clear benefit.
Simplier is better, and every added thing can have issues, bug 2046470 being an example for irqbalance.

On my Ubuntu 20.04 test server (kernel 6.7-rc8) running a 24.04 server VM (with 4 vcpus) I ran 3 token passing ping pong pairs, monitoring power and idle states on the host with irqbalance enabled and disabled on both host and guest.
The results were:

irqbalance disabled:
pair 1: 4.3378 uSec/loop
pair 2: 4.4207 uSec/loop
pair 3: 4.5144 uSec/loop
Processor energy: 87,500 Joules.

irqbalance enabled:
pair 1: 4.5828 uSec/loop +5.6%
pair 2: 4.7084 uSec/loop +6.5%
pair 3: 4.7704 uSec/loop +5.7%
Processor energy: 92,252 Joules. +5.43%

The attached graph is processor power at 15 seconds per sample from 30 seconds before until some seconds after the test completes. The extra extra energy for the irqbalanced test is because the test took longer to complete.
I also have graphs for all idle states usage and above/below stats, none of which reveal anything.

Another test done was iperf3 between the guest and host forcing a small tcp window size. The test was run for 22 minutes.
The command:
iperf3 --interval 0 --bidir --window 1024 --time 1320 -c s19.smythies.com

irqbalance enabled:
412 MBytes sent
45.1 GBytes rec'd
Processor energy: 69,272 Joules.

irqbalance disabled:
413 MBytes sent, 0.24% improved
45.2 GBytes rec'd, 0.22% improved
Processor energy: 70,560 Joules. +1.86%

The related idle graphs don't reveal anything.

A third test was iperf3 between the guest and host using the default (big) tcp window size. The test was run for 22 minutes.
The command:
iperf3 --interval 0 --bidir --time 1320 -c s19.smythies.com

irqbalance enabled:
6.99 TBytes sent
2.10 TBytes rec'd
9.09 TBytes total
Processor energy: 77,888 Joules.

irqbalance disabled:
7.62 TBytes sent, 9.0% improved
1.62 TBytes rec'd, 22.9% worse
9.24 TBytes total, 1.65% improved
Processor energy: 80,166 Joules. +2.92%

The graphs (not attached) show the main differences are in idle state 0 usage.

Other notes:
Intel(R) Core(TM) i5-10600K CPU @ 4.10GHz
HWP enabled
intel_pstate CPU frequency driver
powersave governor