<?xml version="1.0" encoding="UTF-8" ?>

<bugzilla version="5.2"
          urlbase="https://bugzilla.altlinux.org/"
          
          maintainer="jenya@basealt.ru"
>

    <bug>
          <bug_id>16028</bug_id>
          
          <creation_ts>2008-06-14 20:27:48 +0400</creation_ts>
          <short_desc>[FR] replace polling with something more sleep-friendly?</short_desc>
          <delta_ts>2012-03-16 13:59:11 +0400</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>4</classification_id>
          <classification>Development</classification>
          <product>Sisyphus</product>
          <component>wmclock</component>
          <version>unstable</version>
          <rep_platform>all</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>CLOSED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>15951</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Michael Shigorin">mike</reporter>
          <assigned_to name="Michael Shigorin">mike</assigned_to>
          <cc>icesik</cc>
    
    <cc>ildar</cc>
    
    <cc>ldv</cc>
    
    <cc>mike</cc>
    
    <cc>php-coder</cc>
    
    <cc>voins</cc>
          
          <qa_contact>qa-sisyphus</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>72362</commentid>
    <comment_count>0</comment_count>
    <who name="Michael Shigorin">mike</who>
    <bug_when>2008-06-14 20:27:48 +0400</bug_when>
    <thetext>Было бы здорово пройтись хотя бы по основным докаппам (у меня в powertop светятся wmclock, wmnd и wmsm) насчёт замены поллинга на что-то менее wakeup&apos;истое.

Рою в районе lesswatts.org, пока рекомендаций или примеров исправлений не нашёл... если окажется по зубам, буду рад помочь :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>72363</commentid>
    <comment_count>1</comment_count>
    <who name="Sir Raorn">raorn</who>
    <bug_when>2008-06-14 20:36:21 +0400</bug_when>
    <thetext>Угу.  У меня тоже кандидатов полно.  Только руки пока не доходят.

Может metabug на эту тему сделать?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>72365</commentid>
    <comment_count>2</comment_count>
    <who name="Sir Raorn">raorn</who>
    <bug_when>2008-06-14 20:52:11 +0400</bug_when>
    <thetext>Только наоборот - надо sleep() на poll()/select() поменять.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>72367</commentid>
    <comment_count>3</comment_count>
    <who name="Michael Shigorin">mike</who>
    <bug_when>2008-06-14 22:25:29 +0400</bug_when>
    <thetext>(In reply to comment #1)
&gt; Может metabug на эту тему сделать?
Мне тоже так подумалось.

&gt; Только наоборот - надо sleep() на poll()/select() поменять.
Научишь -- попробую подключиться :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>72384</commentid>
    <comment_count>4</comment_count>
    <who name="Slava Semushin">php-coder</who>
    <bug_when>2008-06-15 13:05:47 +0400</bug_when>
    <thetext>Я так понимаю, задача в уменьшении энергопотребления? Если бы кто научил, то я бы тоже свои докапы подпрвил.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>72735</commentid>
    <comment_count>5</comment_count>
    <who name="Sir Raorn">raorn</who>
    <bug_when>2008-06-19 03:40:59 +0400</bug_when>
    <thetext>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).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>72738</commentid>
    <comment_count>6</comment_count>
    <who name="Alexey Voinov">voins</who>
    <bug_when>2008-06-19 07:30:19 +0400</bug_when>
    <thetext>Если ты посмотришь внутрь sleep или usleep, то и обнаружишь приблизительно такую конструкцию. Она имеет смысл только на платформах, где нет sleep/usleep. Так что такое изменение смысла не имеет. Вопрос в том, как написать программу-монитор чего-то, которой по любому положено просыпаться, так, чтобы она просыпалаь по минимуму и также не сильно будила всех остальных. У меня, например, в топе висит wmpower, точнее acpi, разбуженный им.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>73252</commentid>
    <comment_count>7</comment_count>
    <who name="ildar">ildar</who>
    <bug_when>2008-06-27 16:30:22 +0400</bug_when>
    <thetext>Возможно, это наставит вас &quot;на путь истинный&quot;:
http://www.lesswatts.org/projects/powertop/patches/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>73256</commentid>
    <comment_count>8</comment_count>
    <who name="Sir Raorn">raorn</who>
    <bug_when>2008-06-27 17:42:19 +0400</bug_when>
    <thetext>(In reply to comment #7)
&gt; Возможно, это наставит вас &quot;на путь истинный&quot;:
В случае dockapp&apos;ов - не сильно.  Тут можно только увеличивать интервалы и переписывать агрессивный poll&apos;инг внешних источников.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>84545</commentid>
    <comment_count>9</comment_count>
    <who name="Michael Shigorin">mike</who>
    <bug_when>2009-01-18 00:17:25 +0300</bug_when>
    <thetext>Судя по http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=446680 -- и wmnd уже пилили, вот только патч найти никак не могу... (черкнул человеку)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>96059</commentid>
    <comment_count>10</comment_count>
      <attachid>3731</attachid>
    <who name="Michael Shigorin">mike</who>
    <bug_when>2009-08-10 15:47:51 +0400</bug_when>
    <thetext>Created attachment 3731
debian patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>96060</commentid>
    <comment_count>11</comment_count>
      <attachid>3732</attachid>
    <who name="Michael Shigorin">mike</who>
    <bug_when>2009-08-10 15:48:59 +0400</bug_when>
    <thetext>Created attachment 3732
updated spec</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>96061</commentid>
    <comment_count>12</comment_count>
    <who name="Michael Shigorin">mike</who>
    <bug_when>2009-08-10 15:54:11 +0400</bug_when>
    <thetext>Предлагаю втащить патчи или выдать мне NMU.  Виноват, полгода как сделал, да забыл сразу зафиксировать.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>96063</commentid>
    <comment_count>13</comment_count>
    <who name="Michael Shigorin">mike</who>
    <bug_when>2009-08-10 16:29:00 +0400</bug_when>
    <thetext>*** Bug 18546 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>99003</commentid>
    <comment_count>14</comment_count>
    <who name="Michael Shigorin">mike</who>
    <bug_when>2009-09-13 17:04:39 +0400</bug_when>
    <thetext>2 ldv: прошу выдать мне NMU на wmclock ввиду отсутствия реакции майнтейнера.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>99024</commentid>
    <comment_count>15</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2009-09-13 23:24:32 +0400</bug_when>
    <thetext>(In reply to comment #14)
&gt; 2 ldv: прошу выдать мне NMU на wmclock ввиду отсутствия реакции майнтейнера.

Сопровождай на здоровье.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>99061</commentid>
    <comment_count>16</comment_count>
    <who name="Michael Shigorin">mike</who>
    <bug_when>2009-09-14 15:03:05 +0400</bug_when>
    <thetext>Спасибо!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>99093</commentid>
    <comment_count>17</comment_count>
    <who name="Repository Robot">repository-robot</who>
    <bug_when>2009-09-14 20:01:57 +0400</bug_when>
    <thetext>wmclock-1.0.12.2-alt3 -&gt; sisyphus:

* Mon Sep 14 2009 Michael Shigorin &lt;mike@altlinux&gt; 1.0.12.2-alt3

- built for Sisyphus (closes: #16028)</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>3731</attachid>
            <date>2009-08-10 15:47:51 +0400</date>
            <delta_ts>2009-08-10 15:47:51 +0400</delta_ts>
            <desc>debian patch</desc>
            <filename>wmclock-1.0.12.2-debian-nopolling.patch</filename>
            <type>text/plain</type>
            <size>2081</size>
            <attacher name="Michael Shigorin">mike</attacher>
            
              <data encoding="base64">ZGlmZiAtTmF1ciB3bWNsb2NrLTEuMC4xMi4yLW9yaWcvd21jbG9jay5jIHdtY2xvY2stMS4wLjEy
LjIvd21jbG9jay5jCi0tLSB3bWNsb2NrLTEuMC4xMi4yLW9yaWcvd21jbG9jay5jCTIwMDAtMDMt
MDggMDk6MzE6MzMgKzAyMDAKKysrIHdtY2xvY2stMS4wLjEyLjIvd21jbG9jay5jCTIwMDktMDEt
MTcgMjI6MzU6MzggKzAyMDAKQEAgLTIwLDYgKzIwLDcgQEAKICAqIHdpdGggdGhlIHNvZnR3YXJl
IG9yIHRoZSB1c2Ugb3Igb3RoZXIgZGVhbGluZ3MgaW4gdGhlIHNvZnR3YXJlLgogICovCiAKKyNp
bmNsdWRlIDxzeXMvc2VsZWN0Lmg+CiAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CiAjaW5jbHVkZSA8
c3lzL3dhaXQuaD4KICNpbmNsdWRlIDxzeXMvdGltZS5oPgpAQCAtMTQxLDcgKzE0Miw4IEBACiBE
aXNwbGF5ICAgICpkcHk7CiBXaW5kb3cgICAgIHJvb3RXaW5kb3c7CiBpbnQgICAgICAgIHNjcmVl
bjsKLS8qIGludCAgICAgICAgeEZkOyAqLworaW50ICAgICAgICB4RmQ7CitmZF9zZXQgICAgIHhG
ZFNldDsKIGludCAgICAgICAgZGlzcGxheURlcHRoOwogWFNpemVIaW50cyBzaXplSGludHM7CiBY
V01IaW50cyAgIHdtSGludHM7CkBAIC04MDEsNiArODAzLDcgQEAKICAgIFhUZXh0UHJvcGVydHkg
d21OYW1lOwogICAgWENsYXNzSGludCAgICBjbGFzc0hpbnQ7CiAgICBQaXhtYXAgICAgICAgIHNo
YXBlTWFzazsKKyAgIHN0cnVjdCB0aW1ldmFsIG5leHRFdmVudDsKICAgIAogICAgLyogUGFyc2Ug
Y29tbWFuZCBsaW5lIG9wdGlvbnMgKi8KICAgIHByb2dOYW1lID0gZXh0cmFjdFByb2dOYW1lKGFy
Z3ZbMF0pOwpAQCAtODQyLDcgKzg0NSw3IEBACiAgICBzY3JlZW4gICAgICAgPSBEZWZhdWx0U2Ny
ZWVuKGRweSk7CiAgICByb290V2luZG93ICAgPSBSb290V2luZG93KGRweSwgc2NyZWVuKTsKICAg
IGRpc3BsYXlEZXB0aCA9IERlZmF1bHREZXB0aChkcHksIHNjcmVlbik7Ci0gICAvKiB4RmQgICAg
ICAgICAgPSBYQ29ubmVjdGlvbk51bWJlcihkcHkpOyAqLworICAgeEZkICAgICAgICAgID0gWENv
bm5lY3Rpb25OdW1iZXIoZHB5KTsKICAgIAogICAgLyogSWNvbiBEYXRlbiBuYWNoIFhJbWFnZSBr
b252ZXJ0aWVyZW4gKi8KICAgIEdldFhwbXMoKTsKQEAgLTEwNDIsMTQgKzEwNDUsMzIgQEAKIAkg
ICBwb2xsKChzdHJ1Y3QgcG9sbCAqKSAwLCAoc2l6ZV90KSAwLCA1MCk7CS8qIDUvMTAwIHNlYyAq
LwogCX0KICNlbHNlCi0gICAgICAgaWYgKGVuYWJsZVllYXJEaXNwbGF5KQotCXsKLQkgICB1c2xl
ZXAoMjAwMDAwTCk7CS8qIDEvNSBzZWMgKi8KLQl9CisgICAgICAgLy9XZSBjb21wdXRlIHRoZSBk
YXRlIG9mIG5leHQgZXZlbnQsIGluIG9yZGVyIHRvIGF2b2lkIHBvbGxpbmcKKyAgICAgICBpZiAo
ZW5hYmxlQmxpbmtpbmcpCisJIHsKKwkgICBnZXR0aW1lb2ZkYXkoJm5leHRFdmVudCxOVUxMKTsK
KwkgICBuZXh0RXZlbnQudHZfc2VjID0gMDsKKwkgICBuZXh0RXZlbnQudHZfdXNlYyA9IDEwMDAw
MDAtbmV4dEV2ZW50LnR2X3VzZWM7CisJIH0KICAgICAgICBlbHNlCi0JewotCSAgIHVzbGVlcCg1
MDAwMEwpOwkvKiA1LzEwMCBzZWMgKi8KLQl9CisJIHsKKwkgICBpZiAoZW5hYmxlWWVhckRpc3Bs
YXkpCisJICAgICB7CisJICAgICAgIG5leHRFdmVudC50dl9zZWMgPSA4NjQwMC1hY3R1YWxUaW1l
JTg2NDAwOworCSAgICAgICBuZXh0RXZlbnQudHZfdXNlYyA9IDA7CisJICAgICB9CisJICAgZWxz
ZQorCSAgICAgeworCSAgICAgICBuZXh0RXZlbnQudHZfc2VjID0gNjAtYWN0dWFsVGltZSU2MDsK
KwkgICAgICAgbmV4dEV2ZW50LnR2X3VzZWMgPSAwOworCSAgICAgfQorCSB9CisvLyAgICAgICBw
cmludGYoInhGZCAlZFxuIiwgeEZkKTsKKyAgICAgICBGRF9aRVJPKCZ4RmRTZXQpOworICAgICAg
IEZEX1NFVCh4RmQsJnhGZFNldCk7CisvLyAgICAgICBwcmludGYoImRlYnV0IHNlbGVjdCAlZFxu
IiwgbmV4dEV2ZW50LnR2X3NlYyk7CisgICAgICAgc2VsZWN0KEZEX1NFVFNJWkUsJnhGZFNldCxO
VUxMLE5VTEwsJm5leHRFdmVudCk7CisvLyAgICAgICBwcmludGYoImZpbiBzZWxlY3RcbiIpOwog
I2VuZGlmCiAgICAgfQogICAgcmV0dXJuKDApOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>3732</attachid>
            <date>2009-08-10 15:48:59 +0400</date>
            <delta_ts>2009-08-10 15:48:59 +0400</delta_ts>
            <desc>updated spec</desc>
            <filename>wmclock.spec</filename>
            <type>text/plain</type>
            <size>1979</size>
            <attacher name="Michael Shigorin">mike</attacher>
            
              <data encoding="base64">IyB2aW06IHNldCBmdD1zcGVjOiAtKi0gbW9kZTogcnBtLXNwZWM7IC0qLQojICRJZDogd21jbG9j
ayx2IDEuMyAyMDA2LzAyLzA2IDA3OjUwOjExIHJhb3JuIEV4cCAkCgpOYW1lOiB3bWNsb2NrClZl
cnNpb246IDEuMC4xMi4yClJlbGVhc2U6IGFsdDIuMQoKU3VtbWFyeTogRG9ja2FibGUgY2xvY2sg
YXBwbGV0IGZvciBXaW5kb3cgTWFrZXIKTGljZW5zZTogR1BMCkdyb3VwOiBHcmFwaGljYWwgZGVz
a3RvcC9XaW5kb3cgTWFrZXIKClVybDogaHR0cDovL3d3dy5qbWtub2JsZS5uZXQvV2luZG93TWFr
ZXIvd21jbG9jawpTb3VyY2U6ICV1cmwvJW5hbWUtJXZlcnNpb24udGFyLmd6ClBhdGNoOiB3bWNs
b2NrLTEuMC4xMi4yLWRlYmlhbi1ub3BvbGxpbmcucGF0Y2gKUGFja2FnZXI6IFNpciBSYW9ybiA8
cmFvcm5AYWx0bGludXgucnU+CgojIEF1dG9tYXRpY2FsbHkgYWRkZWQgYnkgYnVpbGRyZXEgb24g
TW9uIEZlYiAwNiAyMDA2CkJ1aWxkUmVxdWlyZXM6IGdjY21ha2VkZXAgaW1ha2UgbGliWDExLWRl
dmVsIGxpYlhleHQtZGV2ZWwgbGliWHBtLWRldmVsIHhvcmctY2YtZmlsZXMgeG9yZy14MTEtcHJv
dG8tZGV2ZWwKCiVkZXNjcmlwdGlvbgolbmFtZSBpcyBhbiBhcHBsZXQgd2hpY2ggZGlzcGxheXMg
dGhlIGRhdGUgYW5kIHRpbWUgaW4gYSBkb2NrYWJsZQp0aWxlIGluIHRoZSBzYW1lIHN0eWxlIGFz
IHRoZSBjbG9jayBmcm9tIHRoZSBORVhUU1RFUCh0bSkgb3BlcmF0aW5nCnN5c3RlbS4gICVuYW1l
IGlzIHNwZWNpYWxseSBkZXNpZ25lZCBmb3IgdGhlIFdpbmRvdyBNYWtlciB3aW5kb3cKbWFuYWdl
ciwgYnkgQWxmcmVkbyBLb2ppbWEsIGFuZCBmZWF0dXJlcyBtdWx0aXBsZSBsYW5ndWFnZSBzdXBw
b3J0LAp0d2VudHktZm91ci1ob3VyIGFuZCB0d2VsdmUtaG91ciAoYW0vcG0pIHRpbWUgZGlzcGxh
eSwgYW5kLCBvcHRpb25hbGx5LApjYW4gcnVuIGEgdXNlci1zcGVjaWZpZWQgcHJvZ3JhbSBvbiBh
IG1vdXNlIGNsaWNrLiAgJW5hbWUgaXMgZGVyaXZlZApmcm9tIGFzY2xvY2ssIGEgc2ltaWxhciBj
bG9jayBmb3IgdGhlIEFmdGVyU3RlcCB3aW5kb3cgbWFuYWdlci4KCiVwcmVwCiVzZXR1cAolcGF0
Y2ggLXAxCgolYnVpbGQKLi9jb25maWd1cmUgLS1sYW5nIGVuZ2xpc2gKJW1ha2VfYnVpbGQKCiVp
bnN0YWxsCiVtYWtlaW5zdGFsbF9zdGQgaW5zdGFsbC5tYW4gaW5zdGFsbC5zaGFyZQoKbWtkaXIg
LXAgJWJ1aWxkcm9vdCVfbWVudWRpcgpjYXQgPDxfX0VPRiA+JWJ1aWxkcm9vdCVfbWVudWRpci8l
bmFtZQo/cGFja2FnZSglbmFtZSk6IGNvbW1hbmQ9IkVYRUMgJV9iaW5kaXIvd21jbG9jayIgXAog
ICAgbmVlZHM9d21ha2VyIFwKICAgIHNlY3Rpb249IldpbmRvdyBNYWtlci9Eb2NrQXBwcyIgdGl0
bGU9IndtY2xvY2siCl9fRU9GCgolZmlsZXMKJV9iaW5kaXIvJW5hbWUKJV9tYW4xZGlyLyVuYW1l
LjEqCiVkaXIgJV9kYXRhZGlyLyVuYW1lCiVfZGF0YWRpci8lbmFtZS8qCiVfbWVudWRpci8lbmFt
ZQoKIyBUT0RPOiByZXBsYWNlIGRlYmlhbiBtZW51ZmlsZSB3aXRoIGZyZWVkZXNrdG9wIG9uZSBz
b21lIGRheQoKJWNoYW5nZWxvZwoqIFNhdCBKYW4gMTcgMjAwOSBNaWNoYWVsIFNoaWdvcmluIDxt
aWtlQGFsdGxpbnV4Lm9yZz4gMS4wLjEyLjItYWx0Mi4xCi0gTk1VOiBhcHBsaWVkIGRlYmlhbiBu
b3BvbGxpbmcgcGF0Y2gKICArIHNlZSBwcm9qZWN0IHdlYnBhZ2UKICArIGNvbW1lbnRlZCBvdXQg
ZGVidWcgbWVzc2FnZXMgKH4vLnhzZXNzaW9uLWVycm9yczokRElTUExBWSkKLSBhZGRlZCBQYWNr
YWdlcjoKLSB1cGRhdGVkIFVybDoKCiogTW9uIEZlYiAwNiAyMDA2IFNpciBSYW9ybiA8cmFvcm5A
YWx0bGludXgucnU+IDEuMC4xMi4yLWFsdDIKLSBSZWJ1aWx0IHdpdGggbmV3IFhvcmcsIGJ1aWxk
cmVxcyB1cGRhdGVkCgoqIFR1ZSBTZXAgMjMgMjAwMyBTaXIgUmFvcm4gPHJhb3JuQGFsdGxpbnV4
LnJ1PiAxLjAuMTIuMi1hbHQxCi0gQnVpbHQgZm9yIFNpc3lwaHVzCgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>