bug in unix sockets garbage collector
    Robert Watson 
    rwatson at FreeBSD.org
       
    Mon Sep  1 12:04:54 UTC 2008
    
    
  
On Fri, 22 Aug 2008, Anton Yuzhaninov wrote:
> On servers where used unix sockets, sometimes thread taskq start to eat 100% 
> CPU: http://docs.FreeBSD.org/cgi/mid.cgi?474EFC5C.9060508
>
> Addition info about this problem - when this occurs
>
> sysctl net.local.inflight show negative number.
>
> % sysctl net.local.inflight net.local.inflight: -3
>
> And this condition become always true:
>
> if (local_unp_rights)
>                taskqueue_enqueue(taskqueue_thread, &unp_gc_task);
>
> It seems, that unp_rights decremented more often than incremented, or some 
> race exist.
Hi Anton:
On reviewing this code, I've identified at least one race condition that could 
lead to the behavior that you've spotted.  It will probably take me a couple 
of days to produce a patch for you to try.  However, could I ask you to file a 
PR for this problem, with the above and any related diagnostics, and when you 
receive the e-mail PR receipt, could you forward it to me so that I can take 
ownership of it?
Thanks,
Robert N M Watson
Computer Laboratory
University of Cambridge
    
    
More information about the freebsd-net
mailing list