diff options
author | Uladzislau Rezki (Sony) <urezki@gmail.com> | 2025-02-28 13:13:55 +0100 |
---|---|---|
committer | Vlastimil Babka <vbabka@suse.cz> | 2025-03-04 08:53:50 +0100 |
commit | 7e384dbb57e2c3cef7e70d4913b0cc4caedf0a1f (patch) | |
tree | a0bcfdbfa358161a280b47f57c70432e03ea5597 /tools/perf/scripts/python/export-to-sqlite.py | |
parent | 4b183dd9359d5772446cb634b12a383bed98c4fc (diff) |
kunit, slub: Add test_kfree_rcu_wq_destroy use case
Add a test_kfree_rcu_wq_destroy test to verify a kmem_cache_destroy()
from a workqueue context. The problem is that, before destroying any
cache the kvfree_rcu_barrier() is invoked to guarantee that in-flight
freed objects are flushed.
The _barrier() function queues and flushes its own internal workers
which might conflict with a workqueue type a kmem-cache gets destroyed
from.
One example is when a WQ_MEM_RECLAIM workqueue is flushing !WQ_MEM_RECLAIM
events which leads to a kernel splat. See the check_flush_dependency() in
the workqueue.c file.
If this test does not emits any kernel warning, it is passed.
Reviewed-by: Keith Busch <kbusch@kernel.org>
Co-developed-by: Vlastimil Babka <vbabka@suse.cz>
Signed-off-by: Uladzislau Rezki (Sony) <urezki@gmail.com>
Signed-off-by: Vlastimil Babka <vbabka@suse.cz>
Diffstat (limited to 'tools/perf/scripts/python/export-to-sqlite.py')
0 files changed, 0 insertions, 0 deletions