<div><font size="3" color="#000080" face="宋体">Hi,All<span id="_FoxToName"></span>,</font></div>
<div style="text-indent: 2em;"><font size="3" color="#000080" face="宋体">I'm running a
4-core processor server. linux , libc 2.3.4。</font></div>
<div style="text-indent: 2em;"><font size="3" color="#000080" face="宋体">In nginx.conf,
i have</font></div>
<div style="text-indent: 2em;"> </div>
<div style="text-indent: 2em;"><font size="3" color="#000080">
<div><font face="宋体">worker_processes 4;</font></div>
<div><font face="宋体">worker_cpu_affinity 0001 0010 0100 1000;</font></div>
<div> </div>
<div><font face="宋体">But i see in my error log the following :</font></div>
<div>
<div><font face="宋体">2011/01/20 14:29:57 [notice] 19362#0: sched_setaffinity(0x00000004)</font></div>
<div><font face="宋体">2011/01/20 14:29:57 [alert] 19362#0: sched_setaffinity(0x00000004) failed (22: Invalid argument)</font></div>
<div> </div>
<div><font face="宋体">By analyzing the source code of nginx(0.8.54), i found :
</font></div>
<div>
<div style="text-indent: 4em;"><em><font face="宋体">if (sched_setaffinity(0, 32, (cpu_set_t *) &cpu_affinity) == -1) {</font></em></div>
<div><em><font face="宋体"> ngx_log_error(NGX_LOG_ALERT, cycle->log, ngx_errno,</font></em></div>
<div><em><font face="宋体"> "sched_setaffinity(0x%08Xl) failed", cpu_affinity);</font></em></div>
<div><em><font face="宋体"> }</font></em></div>
<div><font face="宋体">and </font></div>
<div style="text-indent: 4em;"><em><font face="宋体">u_long
cpu_affinity;</font></em></div>
<div style="text-indent: 2em;"> </div>
<div style="text-indent: 2em;"><font face="宋体">in my opinion, the reason is :
</font></div>
<div style="text-indent: 4em;"><font face="宋体">1、sizeof(cpu_set_t) >
sizeof(u_long)</font></div>
<div style="text-indent: 4em;"><font face="宋体">2、cpu_affinity is not
initialized。</font></div>
<div style="text-indent: 2em;"> </div>
<div><font face="宋体">so ,i hack it</font></div>
<div style="text-indent: 4em;"><em><font face="宋体">cput_set_t *mask =
(cpu_set_t *) (&cpu_affinity);</font></em></div>
<div style="text-indent: 4em;"><em><font face="宋体">bzero(mask,
sizeog(cpu_set_t));</font></em></div>
<div style="text-indent: 2em;"> </div>
<div style="text-indent: 2em;"><font face="宋体">configure & make & make
install.</font></div>
<div style="text-indent: 2em;"> </div>
<div style="text-indent: 2em;"><font face="宋体">it works well!</font></div>
<div style="text-indent: 2em;"> </div>
<div style="text-indent: 2em;"><font face="宋体">is it a
bug?<br><br>Cheers,<br>-feifengxlq <br></font></div></div></div></font></div>