avahi-daemon: polling with zero timeout
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
The Ubuntu Power Consumption Project |
Triaged
|
High
|
Unassigned | ||
avahi (Ubuntu) |
Triaged
|
Medium
|
Unassigned |
Bug Description
avahi-daemon on a network with many clients is doing poll() with a zero timeout and timing out immediately. This looks like a busy wait to me.
poll([{fd=6, events=POLLIN}, {fd=17, events=POLLIN}, {fd=16, events=POLLIN}, {fd=15, events=POLLIN}, {fd=14, events=POLLIN}, {fd=13, events=POLLIN}, {fd=12, events=POLLIN}, {fd=11, events=POLLIN}, {fd=10, events=POLLIN}, {fd=8, events=POLLIN}], 10, 0) = 0 (Timeout)
write(7, "W", 1) = 1
write(7, "W", 1) = 1
read(6, "WW", 10) = 2
poll([{fd=6, events=POLLIN}, {fd=17, events=POLLIN}, {fd=16, events=POLLIN}, {fd=15, events=POLLIN}, {fd=14, events=POLLIN}, {fd=13, events=POLLIN}, {fd=12, events=POLLIN}, {fd=11, events=POLLIN}, {fd=10, events=POLLIN}, {fd=8, events=POLLIN}], 10, 0) = 0 (Timeout)
write(7, "W", 1) = 1
write(7, "W", 1) = 1
read(6, "WW", 10) = 2
poll([{fd=6, events=POLLIN}, {fd=17, events=POLLIN}, {fd=16, events=POLLIN}, {fd=15, events=POLLIN}, {fd=14, events=POLLIN}, {fd=13, events=POLLIN}, {fd=12, events=POLLIN}, {fd=11, events=POLLIN}, {fd=10, events=POLLIN}, {fd=8, events=POLLIN}], 10, 0) = 0 (Timeout)
write(7, "W", 1) = 1
write(7, "W", 1) = 1
read(6, "WW", 10) = 2
poll([{fd=6, events=POLLIN}, {fd=17, events=POLLIN}, {fd=16, events=POLLIN}, {fd=15, events=POLLIN}, {fd=14, events=POLLIN}, {fd=13, events=POLLIN}, {fd=12, events=POLLIN}, {fd=11, events=POLLIN}, {fd=10, events=POLLIN}, {fd=8, events=POLLIN}], 10, 0) = 0 (Timeout)
tags: | added: battery-power-consumption |
Changed in ubuntu-power-consumption: | |
importance: | Undecided → High |
Changed in avahi (Ubuntu): | |
importance: | Undecided → Medium |
Reproduced here.