a problem in CPU affinity
    Maxim Dounin 
    mdounin at mdounin.ru
       
    Tue Sep 18 08:07:09 UTC 2012
    
    
  
Hello!
On Mon, Sep 17, 2012 at 03:11:33PM +0800, chen cw wrote:
> Hi,
> 
> When a worker is down, the master will spawn a new one. However, in case
> that we enable CPU affinity, the newly created workers will be bound to the
> same CPU, as the CPU which was bound to by the latest worker spawn at the
> startup or during the reload. This problem still exists in the latest
> version 1.3.6.
Yes, thank you for report.  Quick and dirty fix would be:
--- a/src/os/unix/ngx_process_cycle.c
+++ b/src/os/unix/ngx_process_cycle.c
@@ -371,6 +371,8 @@ ngx_start_worker_processes(ngx_cycle_t *
 
         ngx_pass_open_channel(cycle, &ch);
     }
+
+    cpu_affinity = 0;
 }
 
 
With this patch workers respawn after crashes won't have cpu 
affinity set, which is probably better.  It's still not ideal, but 
after all real problem is a worker crash, respawn is just an 
emergency mechanism.
Maxim Dounin
    
    
More information about the nginx-devel
mailing list