[LU-6181] Fix lock contention discovery to disable extend lock growth Created: 29/Jan/15  Updated: 13/Nov/18  Resolved: 13/Nov/18

Status: Closed
Project: Lustre
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Bug Priority: Minor
Reporter: Richard Henwood (Inactive) Assignee: Patrick Farrell (Inactive)
Resolution: Won't Do Votes: 0
Labels: None

Issue Links:
Related
is related to LU-6179 Lock ahead - Request extent locks fro... Resolved
Severity: 3
Rank (Obsolete): 17293

 Comments   
Comment by Andreas Dilger [ 20/Feb/15 ]

Patrick, would you be able to work on a patch to fix the two-client lock contention case? I suspect something as simple as tracking when the lock was last conflicted and reducing lock growth would be beneficial.

Comment by Patrick Farrell (Inactive) [ 23/Feb/15 ]

Sure. My focus, for now, is on LU-6179 (which needs updating to cover several things I've fixed anyway), but I think I'll have time to look in to this. (Including, critically, the performance implications.)

More to come later.

Comment by Patrick Farrell (Inactive) [ 13/Nov/18 ]

This is old, but I just noticed it again.

At the time, I thought the lock ping-pong issue could be improved significantly with this change.  Further exploration showed that's wrong.

That belief was based on the assumption that most of the time lost was spent waiting for the other client to give up its lock.  This is not entirely true.

In the case of strided I/O, if you reduce the extent of granted locks, now you have to request a lock for every I/O, whereas even if you are ping-ponging larger locks, you can do > 1 I/O per lock.  It turns out requesting a lock for every I/O - we did actually benchmark this - is just as bad (if not slightly worse) than the original ping-pong problem.

So, nothing to do here and I'll close this one out.

Generated at Sat Feb 10 01:57:58 UTC 2024 using Jira 9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c.