lkml.org 
[lkml]   [2018]   [Aug]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 0/5 - V2] locks: avoid thundering-herd wake-ups
I think there's also a problem with multiple tasks sharing the same
lock owner.

So, all locks are exclusive locks for the same range. We have four
tasks. Tasks 1 and 4 share the same owner, the others' owners are
distinct.

- Task 1 gets a lock.
- Task 2 gets a conflicting lock.
- Task 3 gets another conflicting lock. So now we the tree is
3->2->1.
- Task 1's lock is released.
- Before task 2 is scheduled, task 4 acquires a new lock.
- Task 2 waits on task 4's lock, we now have
3->2->4.

Task 3 shouldn't be waiting--the lock it's requesting has the same owner
as the lock task 4 holds--but we fail to wake up task 3.

--b.

\
 
 \ /
  Last update: 2018-08-09 19:33    [W:0.109 / U:0.012 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site