From: James Smart <james.smart@broadcom.com>
To: Hannes Reinecke <hare@suse.de>,
Muneendra <muneendra.kumar@broadcom.com>,
linux-block@vger.kernel.org, linux-scsi@vger.kernel.org
Cc: pbonzini@redhat.com, emilne@redhat.com, mkumar@redhat.com,
Gaurav Srivastava <gaurav.srivastava@broadcom.com>,
James Smart <jsmart2021@gmail.com>
Subject: Re: [RFC 16/16] lpfc: vmid: Introducing vmid in io path.
Date: Wed, 5 Aug 2020 16:38:20 -0700 [thread overview]
Message-ID: <08b9825b-6abb-c077-ac0d-bd63f10f2ac2@broadcom.com> (raw)
In-Reply-To: <61d2fd75-84ea-798b-aee9-b07957ac8f1b@suse.de>
On 8/5/2020 12:16 AM, Hannes Reinecke wrote:
> Well.
>
> Creating a VMID in the hotpath with a while() loop will be bogging
> down performance to no end.
> I'd rather have restricted the ->queuecommand() function to a direct
> lookup.
> If that fails (as the VMID isn't registered) we should kicking of a
> workqueue for registering the VMID and return BUSY.
> Or tweak blkcg to register the VMID directly, and reject the command
> if the VMID isn't registered :-)
>
> Cheers,
>
> Hannes
That's actually what's supposed to be happening. fastpath uses the uuid
to look up a vmid tag. If no vmid tag, kick off the fabric traffic that
will get one but don't wait for it to complete. Any io issued while that
process is occurring will be not be vmid tagged. I'll circle back on
lpfc to make sure this is happening.
In the mean time - the most important patch to review is the cgroup
patch - patch1.
If we wanted to speed the driver's io path up, one thing to consider is
adding a driver-settable value on the blkcg structure. Once the fabric
traffic obtained the vmid, the driver would set the blkcg structure with
the value. In this scenario though, as the vmid is destroyed as of link
down, the driver needs a way, independent of an io, to reach into the
blkcg struct to clear the vmid value. We also need to be sure the blkcg
struct won't be on top of a multipath device or something such that the
blkcg struct may be referenced by a different scsi host - I assume we're
good in that area.
-- james
next prev parent reply other threads:[~2020-08-05 23:38 UTC|newest]
Thread overview: 53+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-08-04 2:13 [RFC 00/16] Application specific identification support Muneendra
2020-08-04 2:13 ` [RFC 01/16] blkcg:Introduce blkio.app_identifier knob to blkio controller Muneendra
2020-08-04 11:31 ` Daniel Wagner
2020-08-04 14:21 ` Tejun Heo
2020-08-05 0:39 ` James Smart
2020-08-05 3:59 ` Ming Lei
2020-08-05 6:33 ` Hannes Reinecke
2020-08-05 14:39 ` Tejun Heo
2020-08-05 17:14 ` Muneendra Kumar M
2020-08-05 17:31 ` Tejun Heo
2020-08-06 2:22 ` Ming Lei
2020-08-06 12:31 ` Muneendra Kumar M
2020-08-06 13:41 ` Paolo Bonzini
2020-08-04 2:13 ` [RFC 02/16] lpfc: vmid: Add the datastructure for supporting VMID in lpfc Muneendra
2020-08-04 2:13 ` [RFC 03/16] lpfc: vmid: API to check if VMID is enabled Muneendra
2020-08-04 2:13 ` [RFC 04/16] lpfc: vmid: Supplementary data structures for vmid Muneendra
2020-08-04 2:13 ` [RFC 05/16] lpfc: vmid: Forward declarations for APIs Muneendra
2020-08-04 2:13 ` [RFC 06/16] lpfc: vmid: Add support for vmid in mailbox command Muneendra
2020-08-04 2:13 ` [RFC 07/16] lpfc: vmid: VMID params initialization Muneendra
2020-08-04 2:13 ` [RFC 08/16] lpfc: vmid: vmid resource allocation Muneendra
2020-08-04 2:13 ` [RFC 09/16] lpfc: vmid: cleanup vmid resources Muneendra
2020-08-04 2:13 ` [RFC 10/16] lpfc: vmid: Implements ELS commands for appid patch Muneendra
2020-08-04 2:13 ` [RFC 11/16] lpfc: vmid: Functions to manage vmids Muneendra
2020-08-04 2:13 ` [RFC 12/16] lpfc: vmid: Implements CT commands for appid Muneendra
2020-08-04 2:13 ` [RFC 13/16] lpfc: vmid: Appends the vmid in the wqe before sending request Muneendra
2020-08-04 2:13 ` [RFC 14/16] lpfc: vmid: Timeout implementation for vmid Muneendra
2020-08-04 2:13 ` [RFC 15/16] lpfc: vmid: Adding qfpa and vmid timeout check in worker thread Muneendra
2020-08-04 2:13 ` [RFC 16/16] lpfc: vmid: Introducing vmid in io path Muneendra
2020-08-05 7:16 ` Hannes Reinecke
2020-08-05 23:38 ` James Smart [this message]
2020-08-06 12:34 ` Muneendra Kumar M
2020-08-06 14:32 ` Paolo Bonzini
2020-08-06 16:26 ` Muneendra Kumar M
2020-08-06 18:41 ` Paolo Bonzini
2020-08-07 11:24 ` Muneendra Kumar M
2020-08-07 11:38 ` Paolo Bonzini
2020-08-07 12:17 ` Muneendra Kumar M
2020-08-10 9:03 ` Paolo Bonzini
2020-08-10 12:13 ` Muneendra Kumar M
2020-08-12 7:54 ` Paolo Bonzini
2020-08-12 12:16 ` Muneendra Kumar M
2020-08-07 12:32 ` Muneendra Kumar M
2020-08-11 23:48 ` James Smart
2020-08-06 14:41 ` Tejun Heo
2020-08-06 14:46 ` Paolo Bonzini
2020-08-06 14:48 ` Tejun Heo
2020-08-06 14:54 ` Paolo Bonzini
2020-08-06 14:59 ` Tejun Heo
2020-08-06 18:39 ` Paolo Bonzini
2020-08-06 18:49 ` Tejun Heo
2020-08-06 19:20 ` Paolo Bonzini
2020-08-06 19:32 ` Tejun Heo
2020-08-07 12:14 ` Paolo Bonzini
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=08b9825b-6abb-c077-ac0d-bd63f10f2ac2@broadcom.com \
--to=james.smart@broadcom.com \
--cc=emilne@redhat.com \
--cc=gaurav.srivastava@broadcom.com \
--cc=hare@suse.de \
--cc=jsmart2021@gmail.com \
--cc=linux-block@vger.kernel.org \
--cc=linux-scsi@vger.kernel.org \
--cc=mkumar@redhat.com \
--cc=muneendra.kumar@broadcom.com \
--cc=pbonzini@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox