Irqbalance / irqbalance

The irqbalance source tree - The new official site for irqbalance
http://irqbalance.github.io/irqbalance/
GNU General Public License v2.0
576 stars 139 forks source link

"PrivateNetwork=yes" systemd statement causes "Failed to initialize thermal events" #324

Closed bubbleguuum closed 2 months ago

bubbleguuum commented 2 months ago

PrivateNetwork=yes in irqbalance.service causes this failure to initialize thermal:

Jul 15 11:43:14 p72 systemd[1]: Started irqbalance daemon.
Jul 15 11:43:14 p72 irqbalance[11518]: thermal: failed to receive messages.
Jul 15 11:43:14 p72 irqbalance[11518]: Failed to initialize thermal events.

Remove that statement and that error is gone.

Observed on current openSUSE Tumbleweed (kernel 6.9.9) with irqbalance 1.9.4.0.git+f8b8cdd

nhorman commented 2 months ago

Its not an error, its a warning, and can be safely ignored.

It occurs because the netlink family that handles thermal events is coded such that it only responds to messages in the init network namespace. When you set PrivateNetwork=true, you enter a private network namespace, and thermal control in the kernel becomes unresponsive, leading to the above.

If you want to do thermal control, you need to run irqbalance in the init namespace

bubbleguuum commented 2 months ago

Thank yo for your reply. So if I understand correctly, if you want thermal control you need to edit the service to either remove the PrivateNetwork line or change it to PrivateNetwork=no ? Assuming that's the case, how are users supposed to know that ? Also, the logged message really looks like an error rather than a warning or info message.

nhorman commented 2 months ago

correct, or alternatively just not set PrivateNetwork at all, as =no is the default. As to how to understand that, the only way I see right now is to read the code. PR's to update docs would be welcome