tech-kern archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: nfs server lockup (again)
I think the sodopendfree() call in sodisconnect() can be either
a) removed, or
b) moved to the very end of soclose() (after sounlock())
uipc_socket.c Rev. 1.63 introduced the loaning code & thorpej@
sprinkled sodopendfree(). I see no strong reason why sodopendfree()
has to be called from sodisconnect().
Anyway, thanks for this, I really enjoyed reading your analysis. :)
On Thu, Jun 23, 2011 at 11:23 PM, Manuel Bouyer
<bouyer%antioche.eu.org@localhost> wrote:
> On Thu, Jun 23, 2011 at 09:26:36AM +0200, Adam Hamsik wrote:
>> [...]
>>
>> Wouldn't be workqueue be better solution ? No need to setup anything
>> just create wq and use it where is it needed.
>
> I'm not familiar enough with workqueues. How well does it deal with
> frequent calls (under heavy network load I guess this can be called
> very often). What happens when the thread blocks, does this defer other,
> unrelated workqueues ?
> Also there is (from worqueue_enqueue(9)):
> "The enqueued work will be processed in a thread context. A work must not
> be enqueued again until the callback is called by the workqueue(9) frame-
> work."
> so it's not as easy as a persistent thread and cv_broadcast() ...
>
> --
> Manuel Bouyer <bouyer%antioche.eu.org@localhost>
> NetBSD: 26 ans d'experience feront toujours la difference
> --
>
Home |
Main Index |
Thread Index |
Old Index