On Mon, May 15, 2017 at 10:02:45AM +0000, Konstantin Belousov wrote:
> Author: kib
> Date: Mon May 15 10:02:45 2017
> New Revision: 318285
> URL: https://svnweb.freebsd.org/changeset/base/318285
> 
> Log:
>   mnt_vnode_next_active: use conventional lock order when trylock fails.
>   
>   Previously, when the VI_TRYLOCK failed, we would spin under the mutex
>   that protects the vnode active list until we either succeeded or
>   noticed that we had hogged the CPU. Since we were violating the lock
>   order, this would guarantee that we would become a hog under any
>   deadlock condition (e.g. a race with vdrop(9) on the same vnode). In
>   the presence of many concurrent threads in sync(2) or vdrop etc, the
>   victim could hang for a long time.
>   
>   Now, avoid spinning by dropping and reacquiring the locks in the
>   conventional lock order when the trylock fails. This requires a dance
>   with the vnode hold count.
>   
>   Submitted by:       Tom Rix <t...@juniper.net>
This must be Ryan Libby <rli...@gmail.com>, I am sorry.

>   Tested by:  pho
>   Differential revision:      https://reviews.freebsd.org/D10692
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to