All of lore.kernel.org
 help / color / mirror / Atom feed
From: Javier Gonzalez <javier@cnexlabs.com>
To: "Matias Bjørling" <mb@lightnvm.io>
Cc: "linux-block@vger.kernel.org" <linux-block@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"linux-nvme@lists.infradead.org" <linux-nvme@lists.infradead.org>
Subject: Re: [PATCH v2 5/6] lightnvm: remove nvm_dev_ops->max_phys_sect
Date: Mon, 19 Feb 2018 11:05:17 +0000	[thread overview]
Message-ID: <CE52AA06-A417-4BD6-BCED-EB4035FC6906@cnexlabs.com> (raw)
In-Reply-To: <899e5ed5-4bf7-666a-d756-d86420cf9c9e@lightnvm.io>

[-- Attachment #1: Type: text/plain, Size: 1803 bytes --]

> On 19 Feb 2018, at 08.31, Matias Bjørling <mb@lightnvm.io> wrote:
> 
> On 02/16/2018 07:48 AM, Javier Gonzalez wrote:
>>> On 15 Feb 2018, at 05.11, Matias Bjørling <mb@lightnvm.io> wrote:
>>> 
>>> The value of max_phys_sect is always static. Instead of
>>> defining it in the nvm_dev_ops structure, declare it as a global
>>> value.
>>> 
>>> Signed-off-by: Matias Bjørling <mb@lightnvm.io>
>>> ---
>>> drivers/lightnvm/core.c          | 28 +++++++---------------------
>>> drivers/lightnvm/pblk-init.c     |  9 ++++-----
>>> drivers/lightnvm/pblk-recovery.c |  8 ++------
>>> drivers/nvme/host/lightnvm.c     |  5 +----
>>> include/linux/lightnvm.h         |  5 ++---
>>> 5 files changed, 16 insertions(+), 39 deletions(-)
>> The patch looks good, but I have a question. If a target implements the
>> scalar interface, then it will not be limited to 64 lbas/ppas and it
>> will not make sense to split the bio base don this value. In fact, it
>> looks like in time, we will move to a scalar interface in the 2.0 path
>> to align with the zoned interface, so this value will be dependent on
>> whether the target is using the scalar or vector interface.
> 
> Both read/write and vector interface will coexist. I am only removing
> what is hardwired into the specification.
> 
> The read/write interface has always been able issue more than 64 LBAs,
> it is instead limited by what the hardware reports its max transfer
> size to be.
> 

Exactly. I was thinking of a similar mechanism for the vector interface
to simplify integration with the scalar interface and avoid having an
if/else for what we now call max_phys_sect.

I guess we can wait and see what the code looks like when we adapt pblk.

Reviewed-by: Javier González <javier@cnexlabs.com>

Javier

[-- Attachment #2: Message signed with OpenPGP --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

WARNING: multiple messages have this Message-ID (diff)
From: javier@cnexlabs.com (Javier Gonzalez)
Subject: [PATCH v2 5/6] lightnvm: remove nvm_dev_ops->max_phys_sect
Date: Mon, 19 Feb 2018 11:05:17 +0000	[thread overview]
Message-ID: <CE52AA06-A417-4BD6-BCED-EB4035FC6906@cnexlabs.com> (raw)
In-Reply-To: <899e5ed5-4bf7-666a-d756-d86420cf9c9e@lightnvm.io>

> On 19 Feb 2018,@08.31, Matias Bj?rling <mb@lightnvm.io> wrote:
> 
> On 02/16/2018 07:48 AM, Javier Gonzalez wrote:
>>> On 15 Feb 2018,@05.11, Matias Bj?rling <mb@lightnvm.io> wrote:
>>> 
>>> The value of max_phys_sect is always static. Instead of
>>> defining it in the nvm_dev_ops structure, declare it as a global
>>> value.
>>> 
>>> Signed-off-by: Matias Bj?rling <mb at lightnvm.io>
>>> ---
>>> drivers/lightnvm/core.c          | 28 +++++++---------------------
>>> drivers/lightnvm/pblk-init.c     |  9 ++++-----
>>> drivers/lightnvm/pblk-recovery.c |  8 ++------
>>> drivers/nvme/host/lightnvm.c     |  5 +----
>>> include/linux/lightnvm.h         |  5 ++---
>>> 5 files changed, 16 insertions(+), 39 deletions(-)
>> The patch looks good, but I have a question. If a target implements the
>> scalar interface, then it will not be limited to 64 lbas/ppas and it
>> will not make sense to split the bio base don this value. In fact, it
>> looks like in time, we will move to a scalar interface in the 2.0 path
>> to align with the zoned interface, so this value will be dependent on
>> whether the target is using the scalar or vector interface.
> 
> Both read/write and vector interface will coexist. I am only removing
> what is hardwired into the specification.
> 
> The read/write interface has always been able issue more than 64 LBAs,
> it is instead limited by what the hardware reports its max transfer
> size to be.
> 

Exactly. I was thinking of a similar mechanism for the vector interface
to simplify integration with the scalar interface and avoid having an
if/else for what we now call max_phys_sect.

I guess we can wait and see what the code looks like when we adapt pblk.

Reviewed-by: Javier Gonz?lez <javier at cnexlabs.com>

Javier
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: Message signed with OpenPGP
URL: <http://lists.infradead.org/pipermail/linux-nvme/attachments/20180219/3e1e46fe/attachment-0001.sig>

  reply	other threads:[~2018-02-19 11:05 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-02-15 13:11 [PATCH v2 0/6] lightnvm: base 2.0 implementation Matias Bjørling
2018-02-15 13:11 ` Matias Bjørling
2018-02-15 13:11 ` Matias Bjørling
2018-02-15 13:11 ` [PATCH v2 1/6] lightnvm: make 1.2 data structures explicit Matias Bjørling
2018-02-15 13:11   ` Matias Bjørling
2018-02-15 13:11 ` [PATCH v2 2/6] lightnvm: flatten nvm_id_group into nvm_id Matias Bjørling
2018-02-15 13:11   ` Matias Bjørling
2018-02-15 13:11 ` [PATCH v2 3/6] lightnvm: add 2.0 geometry identification Matias Bjørling
2018-02-15 13:11   ` Matias Bjørling
2018-02-15 13:11 ` [PATCH v2 4/6] lightnvm: remove max_rq_size Matias Bjørling
2018-02-15 13:11   ` Matias Bjørling
2018-02-15 13:11 ` [PATCH v2 5/6] lightnvm: remove nvm_dev_ops->max_phys_sect Matias Bjørling
2018-02-15 13:11   ` Matias Bjørling
2018-02-16  6:48   ` Javier Gonzalez
2018-02-16  6:48     ` Javier Gonzalez
2018-02-19  7:31     ` Matias Bjørling
2018-02-19  7:31       ` Matias Bjørling
2018-02-19 11:05       ` Javier Gonzalez [this message]
2018-02-19 11:05         ` Javier Gonzalez
2018-02-15 13:12 ` [PATCH v2 6/6] nvme: lightnvm: add late setup of block size and metadata Matias Bjørling
2018-02-15 13:12   ` Matias Bjørling
2018-02-21  9:35 ` [PATCH v2 0/6] lightnvm: base 2.0 implementation Javier Gonzalez
2018-02-21  9:35   ` Javier Gonzalez

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=CE52AA06-A417-4BD6-BCED-EB4035FC6906@cnexlabs.com \
    --to=javier@cnexlabs.com \
    --cc=linux-block@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-nvme@lists.infradead.org \
    --cc=mb@lightnvm.io \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.