network manager using small timeout polling timeouts

Bug #1847765 reported by Colin Ian King
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
network-manager (Ubuntu)
New
Low
Unassigned

Bug Description

I've been trying to identify wakeup events that cause the CPU to wakeup from idle on a "idle" laptop on Ubuntu Eoan. The good news is that NetworkManager doesn't utilize much CPU when idle, however, it does seem to wakeup from poll()/epool_wait() system calls once every 4-5 seconds on timer timeouts and I was wondering if those are necessary as they keep the CPU from being idle.

I ran heath-check [1] for 1 hour to monitor NetworkManager. See the attached output. Look at the "Top polling system calls:" section and you see that poll() and epoll_wait() are polling with timeouts set to be 0.0 seconds, 6.0 and 4.0 seconds.

Also look at the "Polling system call analysis:" section and you see a breakdown of the poll()/epoll_wait() calls.

Recommendation:

1. Are the 4.0/6.0 poll waits necessary? Why a timeout every 4.0/6.0 seconds?
2. Why are there so many polls with zero timeouts? These normally occur when a quick peek at busy pool events on file descriptors occurs. Are these necessary?

Anyhow, this is quite low in priority, but it would be nice to get investigated and fixed just to reduce CPU wakeups.

References
[1] https://kernel.ubuntu.com/~cking/health-check/

Revision history for this message
Colin Ian King (colin-king) wrote :
Changed in network-manager (Ubuntu):
importance: Undecided → Low
summary: - network manager using non-blocking zero timeout polling
+ network manager using small timeout polling timeouts
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.