Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1731398 > unrolled thread

Re: [PATCH v4 00/14] mpt3sas driver NVMe support:

Started bySuganath Prabu Subramani <suganath-prabu.subramani@broadcom.com>
First post2017-09-13 09:20 +0200
Last post2017-09-25 22:30 +0200
Articles 4 — 2 participants

Back to article view | Back to linux.kernel

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  Re: [PATCH v4 00/14] mpt3sas driver NVMe support: Suganath Prabu Subramani <suganath-prabu.subramani@broadcom.com> - 2017-09-13 09:20 +0200
    Re: [PATCH v4 00/14] mpt3sas driver NVMe support: "Martin K. Petersen" <martin.petersen@oracle.com> - 2017-09-15 03:10 +0200
      Re: [PATCH v4 00/14] mpt3sas driver NVMe support: Suganath Prabu Subramani <suganath-prabu.subramani@broadcom.com> - 2017-09-18 12:40 +0200
        Re: [PATCH v4 00/14] mpt3sas driver NVMe support: "Martin K. Petersen" <martin.petersen@oracle.com> - 2017-09-25 22:30 +0200

#1731398 — Re: [PATCH v4 00/14] mpt3sas driver NVMe support:

FromSuganath Prabu Subramani <suganath-prabu.subramani@broadcom.com>
Date2017-09-13 09:20 +0200
SubjectRe: [PATCH v4 00/14] mpt3sas driver NVMe support:
Message-ID<upa7L-4ev-3@gated-at.bofh.it>
Hi Martin,

Is there any update on the submitted mpt3sas patches.

Thanks,
Suganath Prabu S

On Fri, Sep 1, 2017 at 2:09 PM, Suganath Prabu Subramani
<suganath-prabu.subramani@broadcom.com> wrote:
> Hi Martin,
>
> On Fri, Sep 1, 2017 at 8:52 AM, Martin K. Petersen
> <martin.petersen@oracle.com> wrote:
>>
>> Hi Suganath,
>>
>>> Let me explain - NVME device fast path is possible in two ways.  IEEE
>>> SGL and PRP SGL. Due to h/w constraint we choose IEEE SGL only for
>>> smaller IO size.  Both above is true h/w Fast Path and no firmware
>>> involvement.
>>
>>> Agree with you. We are planning to see if we can keep only simple Fast
>>> Path using only PRP.
>>
>> That would be great, thank you!
>>
>>> Currently there is no performance issue for UNMAP translation in FW.
>>
>> Good!
>>
>>>> And yet patch 4 circumvents that statement by adding support for
>>>> encapsulated commands to bypass the FW translation...
>>>
>>> This path is not due to performance reason. User wants to interact
>>> with NVME drive in native NVME command for management.
>>
>> Patch 4 states:
>>
>> "This encapsulated NVMe command is used by applications to send direct
>> NVMe commands to NVMe drives or for handling unmap where the translation
>> at controller/firmware level is having performance issues."
>>
>> --
>
> The statement in description of patch 4 is added by mistake, We ll
> correct the description and re sending that.
>
>> Martin K. Petersen      Oracle Linux Engineering
>
> Thanks,
> Suganath Prabu S

[toc] | [next] | [standalone]


#1732663

From"Martin K. Petersen" <martin.petersen@oracle.com>
Date2017-09-15 03:10 +0200
Message-ID<upNiN-4aG-3@gated-at.bofh.it>
In reply to#1731398
Suganath,

> Is there any update on the submitted mpt3sas patches.

We are waiting for you to report back your findings on PRP vs. SGL.

-- 
Martin K. Petersen	Oracle Linux Engineering

[toc] | [prev] | [next] | [standalone]


#1734014

FromSuganath Prabu Subramani <suganath-prabu.subramani@broadcom.com>
Date2017-09-18 12:40 +0200
Message-ID<ur1D4-59P-9@gated-at.bofh.it>
In reply to#1732663
Hi Martin,

On Fri, Sep 15, 2017 at 6:37 AM, Martin K. Petersen
<martin.petersen@oracle.com> wrote:
>
> Suganath,
>
>> Is there any update on the submitted mpt3sas patches.
>
> We are waiting for you to report back your findings on PRP vs. SGL.

We are working on this, since there is h/w dependent, we are in
discussion with H/W & F/W team and doing experiments. If there is no
impact, and if SGL translation has to be removed, this change has to
go through some phase of testing, before we post it to upstream, since
that is not inline with H/W requirement.

The hardware translation of IEEE SGL to NVMe PRPs has limitation.

We have added the below comment in patch 3 as well:

if a command cannot be translated by hardware then it will go
to firmware and the firmware needs to translate it. And this will
have a performance reduction. To avoid that driver proactively
checks whether the translation will be done in hardware or not,
if not then driver try to translate inside the driver

Current code posted to upstream is inline with hardware requirements
and well tested internally.

SGL vs NVMe PRP building in driver is small sanity check for decision making
and it is not going to change in long run.

Also, Making all PRP buffer may or may not need FW changes (assuming
it is possible.),
we may end up into multiple FW version check.

Since this is main IO path and current driver is following H/W limitation,
we should avoid any changes in this area until and unless change is
universal acceptable in FW (for all type of work load).

Hope this clarifies.
>
> --
> Martin K. Petersen      Oracle Linux Engineering

Thanks,
Suganath Prabu S

[toc] | [prev] | [next] | [standalone]


#1739272

From"Martin K. Petersen" <martin.petersen@oracle.com>
Date2017-09-25 22:30 +0200
Message-ID<utIaT-2VS-31@gated-at.bofh.it>
In reply to#1734014
Hi Suganath,

> Also, Making all PRP buffer may or may not need FW changes (assuming
> it is possible.), we may end up into multiple FW version check.

I don't understand how submitting an I/O that is guaranteed to honor the
constraints of the target NVMe drive could possibly cause problems for
the controller firmware. Quite the contrary, it's the best case
scenario.

> Since this is main IO path and current driver is following H/W
> limitation, we should avoid any changes in this area until and unless
> change is universal acceptable in FW (for all type of work load).

This is why you need to involve the Linux community early in the design
process and not when your implementation is complete.

We could have told you right away what the correct approach would be for
your Linux driver. And that said approach works for products from other
vendors so we see no compelling reason to deviate from it.

As evidenced by Broadcom disowning the legacy mpt and megaraid drivers,
I will be stuck maintaining this mpt3sas code for a decade or more. Long
after Broadcom has ended official support and moved on to different
ASICs and programming interfaces. Consequently, I am very heavily biased
towards solutions that leverage the shared interfaces provided by the
kernel and that don't have special cases and workarounds inside the
driver.

-- 
Martin K. Petersen	Oracle Linux Engineering

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web