Hi, The following are the result of trying to get rid of the out-of-tree equivalent[1]. Patches 1 and 2 remove the actual scheduling while atomic scenarios. Patch 3 could be considered optional because afaict the stats do not actually have blocking calls while having preemption disabled. But from an RT perspective it's still beneficial as the region remains preemptible. Compile tested only. [1] https://git.kernel.org/pub/scm/linux/kernel/git/rt/linux-rt-devel.git/tree/patches/scsi_fcoe__Make_RT_aware..patch?h=linux-5.15.y-rt-patches Thanks! Davidlohr Bueso (3): scsi/libfc: Remove get_cpu() semantics in fc_exch_em_alloc() scsi/fcoe: Add a local_lock to fcoe_percpu scsi/fcoe: Add a local_lock to percpu localport statistics drivers/scsi/bnx2fc/bnx2fc_fcoe.c | 16 ++++++++------ drivers/scsi/bnx2fc/bnx2fc_io.c | 5 +++-- drivers/scsi/fcoe/fcoe.c | 35 +++++++++++++++++++------------ drivers/scsi/fcoe/fcoe_ctlr.c | 24 +++++++++++++-------- drivers/scsi/libfc/fc_exch.c | 3 +-- drivers/scsi/libfc/fc_fcp.c | 31 +++++++++++++++++++-------- drivers/scsi/qedf/qedf_main.c | 7 ++++--- include/scsi/libfc.h | 7 +++++++ include/scsi/libfcoe.h | 2 ++ 9 files changed, 86 insertions(+), 44 deletions(-) -- 2.26.2