Thread (123 messages) 123 messages, 6 authors, 2020-08-18

RE: [PATCH RFC v7 10/12] megaraid_sas: switch fusion adapters to MQ

From: Kashyap Desai <kashyap.desai@broadcom.com>
Date: 2020-07-09 19:01:51
Also in: linux-scsi

quoted
quoted
If you want to share an updated megaraid sas driver patch based on
that, then that's fine. I can incorporate that change in the patch
where we add host_tagset to the scsi host template.
If you share git repo link of next submission, I can send you
megaraid_sas driver patch which you can include in series.
So this is my work-en-progress branch:

https://github.com/hisilicon/kernel-dev/commits/private-topic-blk-mq-
shared-tags-rfc-v8
I tested this repo + megaraid_sas shared hosttag driver. This repo (5.8-rc)
has CPU hotplug patch.
" bf0beec0607d blk-mq: drain I/O when all CPUs in a hctx are offline"

Looking at description of above patch and changes, it looks like
megaraid_sas driver can still work without shared host tag for this feature.

I observe CPU hotplug works irrespective of shared host tag in megaraid_sas
on 5.8-rc.

Without shared host tag, megaraid driver will expose single hctx and all the
CPU will be mapped to hctx0.
Any CPU offline event will have " blk_mq_hctx_notify_offline" callback in
blk-mq module. If we do not have this callback/patch, we will see IO
timeout.
blk_mq_hctx_notify_offline callback will make sure all the outstanding on
hctx0 is cleared and only after it is cleared, CPU will go offline.

megaraid_sas driver has  internal reply_queue mapping which helps to get IO
completion on same cpu.  Driver get msix index from that table based on "
raw_smp_processor_id".
If table is mapped correctly at probe time,  It is not possible to pick
entry of offline CPU.

Am I missing anything ?

If you can help me to understand why we need shared host tag for CPU
hotplug, I can try to frame some test case for possible reproduction.
I just updated to include the change to have Scsi_Host.host_tagset in
4291f617a02b commit ("scsi: Add host and host template flag
'host_tagset'")

megaraid sas support is not on the branch yet, but I think everything else
required is. And it is mutable, so I'd clone it now if I were you - or
just replace
the required patch onto your v7 branch.
I am working on this.
Thanks,
John
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help