Bug 16028 - [FR] replace polling with something more sleep-friendly?
Summary: [FR] replace polling with something more sleep-friendly?
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: wmclock (show other bugs)
Version: unstable
Hardware: all Linux
: P2 normal
Assignee: Michael Shigorin
QA Contact: qa-sisyphus
URL:
Keywords:
: 18546 (view as bug list)
Depends on:
Blocks: 15951
  Show dependency tree
 
Reported: 2008-06-14 20:27 MSD by Michael Shigorin
Modified: 2012-03-16 13:59 MSK (History)
6 users (show)

See Also:


Attachments
debian patch (2.03 KB, patch)
2009-08-10 15:47 MSD, Michael Shigorin
no flags Details | Diff
updated spec (1.93 KB, text/plain)
2009-08-10 15:48 MSD, Michael Shigorin
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Michael Shigorin 2008-06-14 20:27:48 MSD
Было бы здорово пройтись хотя бы по основным докаппам (у меня в powertop светятся wmclock, wmnd и wmsm) насчёт замены поллинга на что-то менее wakeup'истое.

Рою в районе lesswatts.org, пока рекомендаций или примеров исправлений не нашёл... если окажется по зубам, буду рад помочь :)
Comment 1 Sir Raorn 2008-06-14 20:36:21 MSD
Угу.  У меня тоже кандидатов полно.  Только руки пока не доходят.

Может metabug на эту тему сделать?
Comment 2 Sir Raorn 2008-06-14 20:52:11 MSD
Только наоборот - надо sleep() на poll()/select() поменять.
Comment 3 Michael Shigorin 2008-06-14 22:25:29 MSD
(In reply to comment #1)
> Может metabug на эту тему сделать?
Мне тоже так подумалось.

> Только наоборот - надо sleep() на poll()/select() поменять.
Научишь -- попробую подключиться :)
Comment 4 Slava Semushin 2008-06-15 13:05:47 MSD
Я так понимаю, задача в уменьшении энергопотребления? Если бы кто научил, то я бы тоже свои докапы подпрвил.
Comment 5 Sir Raorn 2008-06-19 03:40:59 MSD
select(2):

Some code calls select() with all three sets empty, nfds zero, and a non-NULL timeout as a fairly portable way to sleep with subsecond precision.

Соответственно надо поменять sleep()/usleep() в mainloop на такой select() и максимально возможно увеличить таймаут.

Но желательно, конечно, использовать не пустой сет, а ConnectionNumber() от XOpenDisplay() (макрос такой в X11/Xlib.h).
Comment 6 Alexey Voinov 2008-06-19 07:30:19 MSD
Если ты посмотришь внутрь sleep или usleep, то и обнаружишь приблизительно такую конструкцию. Она имеет смысл только на платформах, где нет sleep/usleep. Так что такое изменение смысла не имеет. Вопрос в том, как написать программу-монитор чего-то, которой по любому положено просыпаться, так, чтобы она просыпалаь по минимуму и также не сильно будила всех остальных. У меня, например, в топе висит wmpower, точнее acpi, разбуженный им.
Comment 7 ildar 2008-06-27 16:30:22 MSD
Возможно, это наставит вас "на путь истинный":
http://www.lesswatts.org/projects/powertop/patches/
Comment 8 Sir Raorn 2008-06-27 17:42:19 MSD
(In reply to comment #7)
> Возможно, это наставит вас "на путь истинный":
В случае dockapp'ов - не сильно.  Тут можно только увеличивать интервалы и переписывать агрессивный poll'инг внешних источников.
Comment 9 Michael Shigorin 2009-01-18 00:17:25 MSK
Судя по http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=446680 -- и wmnd уже пилили, вот только патч найти никак не могу... (черкнул человеку)
Comment 10 Michael Shigorin 2009-08-10 15:47:51 MSD
Created attachment 3731 [details]
debian patch
Comment 11 Michael Shigorin 2009-08-10 15:48:59 MSD
Created attachment 3732 [details]
updated spec
Comment 12 Michael Shigorin 2009-08-10 15:54:11 MSD
Предлагаю втащить патчи или выдать мне NMU.  Виноват, полгода как сделал, да забыл сразу зафиксировать.
Comment 13 Michael Shigorin 2009-08-10 16:29:00 MSD
*** Bug 18546 has been marked as a duplicate of this bug. ***
Comment 14 Michael Shigorin 2009-09-13 17:04:39 MSD
2 ldv: прошу выдать мне NMU на wmclock ввиду отсутствия реакции майнтейнера.
Comment 15 Dmitry V. Levin 2009-09-13 23:24:32 MSD
(In reply to comment #14)
> 2 ldv: прошу выдать мне NMU на wmclock ввиду отсутствия реакции майнтейнера.

Сопровождай на здоровье.
Comment 16 Michael Shigorin 2009-09-14 15:03:05 MSD
Спасибо!
Comment 17 Repository Robot 2009-09-14 20:01:57 MSD
wmclock-1.0.12.2-alt3 -> sisyphus:

* Mon Sep 14 2009 Michael Shigorin <mike@altlinux> 1.0.12.2-alt3

- built for Sisyphus (closes: #16028)