diff options
| author | NeilBrown <[email protected]> | 2018-05-07 10:54:48 +1000 |
|---|---|---|
| committer | Greg Kroah-Hartman <[email protected]> | 2018-05-08 13:09:20 +0200 |
| commit | bab8b4cc3939f2b8edaf72b496a4b17c14b2fd78 (patch) | |
| tree | 359c3f619d4f37ef6fad151038d984d4faed4801 /tools/perf/scripts/python/stackcollapse.py | |
| parent | e167b370360f8887cf21a2a82f83e7118a2aeb11 (diff) | |
staging: lustre: lu_object: move retry logic inside htable_lookup
The current retry logic, to wait when a 'dying' object is found,
spans multiple functions. The process is attached to a waitqueue
and set TASK_UNINTERRUPTIBLE in htable_lookup, and this status
is passed back through lu_object_find_try() to lu_object_find_at()
where schedule() is called and the process is removed from the queue.
This can be simplified by moving all the logic (including
hashtable locking) inside htable_lookup(), which now never returns
EAGAIN.
Note that htable_lookup() is called with the hash bucket lock
held, and will drop and retake it if it needs to schedule.
I made this a 'goto' loop rather than a 'while(1)' loop as the
diff is easier to read.
Signed-off-by: NeilBrown <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
Diffstat (limited to 'tools/perf/scripts/python/stackcollapse.py')
0 files changed, 0 insertions, 0 deletions