dx-packages team mailing list archive
-
dx-packages team
-
Mailing list archive
-
Message #13710
[Bug 1308130] Re: indicator-messages-service is waking up every 4 seconds adding inotifies on paths that don't exist
@Oliver, it would be surprising if upstart wouldn't get the same issue.
The problem here is that the mechanism provided by the kernel (inotify)
is not handling those usecases in a nice way, what client is using the
interface is not going to change that, you are just going to move the
wakeups to the upstart job (upstart might be able to reduce/share the
polling if several processes watch the same location though, but I'm
unsure that's the case here)
--
You received this bug notification because you are a member of DX
Packages, which is subscribed to indicator-messages in Ubuntu.
Matching subscriptions: dx-packages
https://bugs.launchpad.net/bugs/1308130
Title:
indicator-messages-service is waking up every 4 seconds adding
inotifies on paths that don't exist
Status in “indicator-messages” package in Ubuntu:
Confirmed
Bug description:
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.
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/indicator-messages/+bug/1308130/+subscriptions
References