[PATCH 10/12] fs/locks: create a tree of dependent requests.

2018-11-29 Thread NeilBrown
When we find an existing lock which conflicts with a request, and the request wants to wait, we currently add the request to a list. When the lock is removed, the whole list is woken. This can cause the thundering-herd problem. To reduce the problem, we make use of the (new) fact that a pending re

Re: [PATCH 10/12] fs/locks: create a tree of dependent requests.

2018-11-12 Thread J. Bruce Fields
On Mon, Nov 12, 2018 at 12:14:49PM +1100, NeilBrown wrote: > When we find an existing lock which conflicts with a request, > and the request wants to wait, we currently add the request > to a list. When the lock is removed, the whole list is woken. > This can cause the thundering-herd problem. > T

[PATCH 10/12] fs/locks: create a tree of dependent requests.

2018-11-11 Thread NeilBrown
When we find an existing lock which conflicts with a request, and the request wants to wait, we currently add the request to a list. When the lock is removed, the whole list is woken. This can cause the thundering-herd problem. To reduce the problem, we make use of the (new) fact that a pending re

Re: [PATCH 10/12] fs/locks: create a tree of dependent requests.

2018-11-09 Thread J. Bruce Fields
On Fri, Nov 09, 2018 at 05:24:04PM +1100, NeilBrown wrote: > Thanks pretty thorough - and even looks correct. > I'll re-reading some time when it isn't late, and maybe make it into a > comment in the code. > I agree, this sort of documentation can be quite helpful. OK. The idea looks sound to me,

Re: [PATCH 10/12] fs/locks: create a tree of dependent requests.

2018-11-08 Thread NeilBrown
On Thu, Nov 08 2018, J. Bruce Fields wrote: > On Fri, Nov 09, 2018 at 11:38:19AM +1100, NeilBrown wrote: >> On Thu, Nov 08 2018, J. Bruce Fields wrote: >> >> > On Mon, Nov 05, 2018 at 12:30:48PM +1100, NeilBrown wrote: >> >> When we find an existing lock which conflicts with a request, >> >> and

Re: [PATCH 10/12] fs/locks: create a tree of dependent requests.

2018-11-08 Thread J. Bruce Fields
On Fri, Nov 09, 2018 at 11:38:19AM +1100, NeilBrown wrote: > On Thu, Nov 08 2018, J. Bruce Fields wrote: > > > On Mon, Nov 05, 2018 at 12:30:48PM +1100, NeilBrown wrote: > >> When we find an existing lock which conflicts with a request, > >> and the request wants to wait, we currently add the requ

Re: [PATCH 10/12] fs/locks: create a tree of dependent requests.

2018-11-08 Thread NeilBrown
On Thu, Nov 08 2018, J. Bruce Fields wrote: > On Mon, Nov 05, 2018 at 12:30:48PM +1100, NeilBrown wrote: >> When we find an existing lock which conflicts with a request, >> and the request wants to wait, we currently add the request >> to a list. When the lock is removed, the whole list is woken.

Re: [PATCH 10/12] fs/locks: create a tree of dependent requests.

2018-11-08 Thread J. Bruce Fields
On Mon, Nov 05, 2018 at 12:30:48PM +1100, NeilBrown wrote: > When we find an existing lock which conflicts with a request, > and the request wants to wait, we currently add the request > to a list. When the lock is removed, the whole list is woken. > This can cause the thundering-herd problem. > T

[PATCH 10/12] fs/locks: create a tree of dependent requests.

2018-11-04 Thread NeilBrown
When we find an existing lock which conflicts with a request, and the request wants to wait, we currently add the request to a list. When the lock is removed, the whole list is woken. This can cause the thundering-herd problem. To reduce the problem, we make use of the (new) fact that a pending re