On Fri, Dec 3, 2021 at 2:42 AM Bart Van Assche <bvanassche@xxxxxxx> wrote: > > On 12/1/21 12:55 AM, Yi Zhang wrote: > > [root@gigabyte-r120-11 blktests]# use_siw=1 ./check srp/011 -------------> hang > > Hi Yi, > > Does this only occur with the siw driver or also with the rdma_rxe driver? > > If this hang occurs with both drivers, how about bisecting this issue? I Hi Bart Bisecting shows it was introduced with below commit: commit 5a836bf6b09f99ead1b69457ff39ab3011ece57b Author: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Date: Fri Feb 26 17:11:55 2021 +0100 mm: slub: move flush_cpu_slab() invocations __free_slab() invocations out of IRQ context flush_all() flushes a specific SLAB cache on each CPU (where the cache is present). The deactivate_slab()/__free_slab() invocation happens within IPI handler and is problematic for PREEMPT_RT. The flush operation is not a frequent operation or a hot path. The per-CPU flush operation can be moved to within a workqueue. Because a workqueue handler, unlike IPI handler, does not disable irqs, flush_slab() now has to disable them for working with the kmem_cache_cpu fields. deactivate_slab() is safe to call with irqs enabled. [vbabka@xxxxxxx: adapt to new SLUB changes] Signed-off-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Signed-off-by: Vlastimil Babka <vbabka@xxxxxxx> BTW, I just found this issue cannot be reproduced If I update the ch_count to 10,. # cat /etc/modprobe.d/ib_srp.conf options ib_srp ch_count=10 > have not yet run into this issue with the rdma_rxe driver and Linus' master > branch. > > Thanks, > > Bart. > -- Best Regards, Yi Zhang