diff options
author | Jan Kara <[email protected]> | 2022-09-08 11:10:32 +0200 |
---|---|---|
committer | Theodore Ts'o <[email protected]> | 2022-09-30 23:46:52 -0400 |
commit | 5fc4cbd9fde5d4630494fd6ffc884148fb618087 (patch) | |
tree | 9f74c60588d40038bb165729dc88ceb31629d056 /tools/perf/scripts/python/task-analyzer.py | |
parent | 34fc8768ec6089565d6d73bad26724083cecf7bd (diff) |
mbcache: Avoid nesting of cache->c_list_lock under bit locks
Commit 307af6c87937 ("mbcache: automatically delete entries from cache
on freeing") started nesting cache->c_list_lock under the bit locks
protecting hash buckets of the mbcache hash table in
mb_cache_entry_create(). This causes problems for real-time kernels
because there spinlocks are sleeping locks while bitlocks stay atomic.
Luckily the nesting is easy to avoid by holding entry reference until
the entry is added to the LRU list. This makes sure we cannot race with
entry deletion.
Cc: [email protected]
Fixes: 307af6c87937 ("mbcache: automatically delete entries from cache on freeing")
Reported-by: Mike Galbraith <[email protected]>
Signed-off-by: Jan Kara <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Theodore Ts'o <[email protected]>
Diffstat (limited to 'tools/perf/scripts/python/task-analyzer.py')
0 files changed, 0 insertions, 0 deletions