Re: [PATCH v1 1/2] kunit, slub: Add test_kfree_rcu_wq_destroy use case

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Feb 28, 2025 at 04:49:24PM +0100, Vlastimil Babka wrote:
> On 2/28/25 13:13, Uladzislau Rezki (Sony) wrote:
> > 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.
> 
> Well the workqueue warning doesn't seem to make the test fail. But someone
> will notice the warning, so that should be enough. We can't instrument
> warnings in other subsystem's code for slub kunit context anyway. It would
> have to be a generic kunit's hook for all warns.
> 
I agree.

> > Reviewed-by: Keith Busch <kbusch@xxxxxxxxxx>
> > Co-developed-by: Vlastimil Babka <vbabka@xxxxxxx>
> > Signed-off-by: Uladzislau Rezki (Sony) <urezki@xxxxxxxxx>
> 
> Pushed to slab/for-next, thanks.
>
Thanks!

--
Uladzislau Rezki




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux