I've observed that an "idle" indicator-messages-services is waking up every 4 seconds on a poll() and doing two inotify_add_watch() calls on paths that don't exist, which wastes power on devices such as phones.
strace shows:
clock_gettime(CLOCK_MONOTONIC, {10117, 224455428}) = 0
poll([{fd=8, events=POLLIN}, {fd=9, events=POLLIN}], 2, 3991) = 0 (Timeout)
clock_gettime(CLOCK_MONOTONIC, {10121, 224516469}) = 0
inotify_add_watch(9, "/usr/local/share/applications", IN_MODIFY|IN_ATTRIB|IN_CLOSE_WRITE|IN_MOVED_FROM|IN_MOVED_TO|IN_CREATE|IN_DELETE|IN_DELETE_SELF|IN_MOVE_SELF|IN_UNMOUNT|IN_ONLYDIR) = -1 ENOENT (No such file or directory)
inotify_add_watch(9, "/usr/share/ubuntu-touch/applications", IN_MODIFY|IN_ATTRIB|IN_CLOSE_WRITE|IN_MOVED_FROM|IN_MOVED_TO|IN_CREATE|IN_DELETE|IN_DELETE_SELF|IN_MOVE_SELF|IN_UNMOUNT|IN_ONLYDIR) = -1 ENOENT (No such file or directory)
clock_gettime(CLOCK_MONOTONIC, {10121, 232085521}) = 0
poll([{fd=8, events=POLLIN}, {fd=9, events=POLLIN}], 2, 3984) = 0 (Timeout)
clock_gettime(CLOCK_MONOTONIC, {10125, 222593684}) = 0
inotify_add_watch(9, "/usr/local/share/applications", IN_MODIFY|IN_ATTRIB|IN_CLOSE_WRITE|IN_MOVED_FROM|IN_MOVED_TO|IN_CREATE|IN_DELETE|IN_DELETE_SELF|IN_MOVE_SELF|IN_UNMOUNT|IN_ONLYDIR) = -1 ENOENT (No such file or directory)
inotify_add_watch(9, "/usr/share/ubuntu-touch/applications", IN_MODIFY|IN_ATTRIB|IN_CLOSE_WRITE|IN_MOVED_FROM|IN_MOVED_TO|IN_CREATE|IN_DELETE|IN_DELETE_SELF|IN_MOVE_SELF|IN_UNMOUNT|IN_ONLYDIR) = -1 ENOENT (No such file or directory)
clock_gettime(CLOCK_MONOTONIC, {10125, 229094524}) = 0
Can these redundant polling checks be reduced or removed? Polling every 4 seconds is a little bit heavy handed IMHO.
This shows up in the daily testing too: http:// ci.ubuntu. com/power/ eventstat/ image/3138/ machine/ 6/task/ indicator- messages- service/ details/