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

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

    <bug>
          <bug_id>26959</bug_id>
          
          <creation_ts>2012-02-17 23:53:26 +0400</creation_ts>
          <short_desc>irqbalance 0.56-alt1 не работает на материнской плате Intel S5500BC</short_desc>
          <delta_ts>2012-02-20 22:56:33 +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>irqbalance</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>P3</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Sergey Y. Afonin">asy</reporter>
          <assigned_to name="Anton Farygin">rider</assigned_to>
          <cc>dubrsl</cc>
    
    <cc>evg</cc>
    
    <cc>mike</cc>
    
    <cc>rider</cc>
          
          <qa_contact>qa-sisyphus</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>129034</commentid>
    <comment_count>0</comment_count>
    <who name="Sergey Y. Afonin">asy</who>
    <bug_when>2012-02-17 23:53:26 +0400</bug_when>
    <thetext>откат до irqbalance-0.55-alt3 ситуацию исправляет. Ядро 2.6.32-ovz-el-alt40.M60P.2

Надо заметить, что S5500BC - первая плата от Intel, из тех, что когда-либо попадали мне в руки, у которой прерывания от устройств, если ничего не предпринимать, обрабатываются только на CPU0. До этого было всегда хоть какое-то распределение по разным ядрам/процессорам.
При этом, с ядром 2.6.18 (пробовал ставить 5.1 и ядро оттуда) некоторое распределение прерываний по ядрам присутствует тоже (без irqbalance, само по себе).

Если посмотреть strace-ом, то видно, что irqbalance 0.55 в smp_affinity пишет маски, соответствующие одиночным процессорам:

open(&quot;/proc/irq/65/smp_affinity&quot;, O_WRONLY|O_CREAT|O_TRUNC, 0666) = 3
fstat(3, {st_mode=S_IFREG|0600, st_size=0, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f236de3e000
write(3, &quot;00000002&quot;, 8)                 = 8
close(3)                                = 0
munmap(0x7f236de3e000, 4096)            = 0
open(&quot;/proc/irq/70/smp_affinity&quot;, O_WRONLY|O_CREAT|O_TRUNC, 0666) = 3
fstat(3, {st_mode=S_IFREG|0600, st_size=0, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f236de3e000
write(3, &quot;00000001&quot;, 8)                 = 8
close(3)                                = 0
munmap(0x7f236de3e000, 4096)            = 0
open(&quot;/proc/irq/69/smp_affinity&quot;, O_WRONLY|O_CREAT|O_TRUNC, 0666) = 3
fstat(3, {st_mode=S_IFREG|0600, st_size=0, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f236de3e000
write(3, &quot;00000004&quot;, 8)                 = 8
close(3)                                = 0

В случае irqbalance 0.56 пишется маска 00ffffff:

open(&quot;/proc/irq/65/smp_affinity&quot;, O_WRONLY|O_CREAT|O_TRUNC, 0666) = 3
fstat(3, {st_mode=S_IFREG|0600, st_size=0, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f85b1474000
write(3, &quot;00ffffff&quot;, 8)                 = 8
close(3)                                = 0
munmap(0x7f85b1474000, 4096)            = 0
open(&quot;/proc/irq/70/smp_affinity&quot;, O_WRONLY|O_CREAT|O_TRUNC, 0666) = 3
fstat(3, {st_mode=S_IFREG|0600, st_size=0, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f85b1474000
write(3, &quot;00ffffff&quot;, 8)                 = 8
close(3)                                = 0
munmap(0x7f85b1474000, 4096)            = 0
open(&quot;/proc/irq/69/smp_affinity&quot;, O_WRONLY|O_CREAT|O_TRUNC, 0666) = 3
fstat(3, {st_mode=S_IFREG|0600, st_size=0, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f85b1474000
write(3, &quot;00ffffff&quot;, 8)                 = 8
close(3)                                = 0</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>129068</commentid>
    <comment_count>1</comment_count>
    <who name="Slava Dubrovskiy">dubrsl</who>
    <bug_when>2012-02-19 10:09:09 +0400</bug_when>
    <thetext>Оказывается они на гуглекод переехали. Собрал последнюю версию.
Попробуйте http://git.altlinux.org/tasks/64846/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>129070</commentid>
    <comment_count>2</comment_count>
    <who name="Sergey Y. Afonin">asy</who>
    <bug_when>2012-02-19 14:25:31 +0400</bug_when>
    <thetext>(In reply to comment #1)

&gt; Оказывается они на гуглекод переехали. Собрал последнюю версию.
&gt; Попробуйте http://git.altlinux.org/tasks/64846/

Почему-то только по CPU0/CPU1 раскидывает. 0.55 раскидывает по всем. Там никаких ограничений нет по-умолчанию ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>129075</commentid>
    <comment_count>3</comment_count>
    <who name="Slava Dubrovskiy">dubrsl</who>
    <bug_when>2012-02-19 20:59:35 +0400</bug_when>
    <thetext>Может ну его эти костыли в виде irqbalance?

Если убрать
CONFIG_HOTPLUG_CPU=y
то ядро должно само распределять прерывания по всем ядрам и никакое ручное управление не понадобится</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>129078</commentid>
    <comment_count>4</comment_count>
    <who name="Sergey Y. Afonin">asy</who>
    <bug_when>2012-02-19 23:45:00 +0400</bug_when>
    <thetext>На других материнках что-то распределяет прерывания и так. Тут, скорее, исключение S5500BC. Можно попробовать дождаться выхода нового RHEL и посмотреть, как Intel с RH договариваться будут. :-)

А обновить irqbalance, думаю, стоит: два ядра - всё не одно. Михаила только дождаться, раз он тоже пользуется. А то, вдруг, у него что-то обнаружится.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>129088</commentid>
    <comment_count>5</comment_count>
    <who name="Michael Shigorin">mike</who>
    <bug_when>2012-02-20 12:37:05 +0400</bug_when>
    <thetext>(In reply to comment #1)
&gt; Оказывается они на гуглекод переехали. Собрал последнюю версию.
&gt; Попробуйте http://git.altlinux.org/tasks/64846/
Закидывай.

(In reply to comment #4)
&gt; А обновить irqbalance, думаю, стоит: два ядра - всё не одно. Михаила только
&gt; дождаться, раз он тоже пользуется. А то, вдруг, у него что-то обнаружится.
Если бы было критично, стоял бы более жёсткий ACL, наверное :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>129112</commentid>
    <comment_count>6</comment_count>
    <who name="Repository Robot">repository-robot</who>
    <bug_when>2012-02-20 22:56:33 +0400</bug_when>
    <thetext>irqbalance-1.0.3-alt1 -&gt; sisyphus:

* Sun Feb 19 2012 Slava Dubrovskiy &lt;dubrsl@altlinux&gt; 1.0.3-alt1
- new version from new URL location
- migrate to git source, update spec
- add BuildRequires for libcap-ng-devel libnuma-devel
- add service for systemd
- fix (ALT #26959 26962)</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>