All of lore.kernel.org
 help / color / mirror / Atom feed
* Tested LBA size ?
@ 2016-03-02 17:32 Olivier Mallinger - IP Maker
  2016-03-03  8:47 ` Christoph Hellwig
  0 siblings, 1 reply; 6+ messages in thread
From: Olivier Mallinger - IP Maker @ 2016-03-02 17:32 UTC (permalink / raw)


Hello.

Does anyone already experience to use a NVMe SSD with a namespace 
defined with a  LBA size higher or equal to 8kB.
I successfully tested a device with LBA sizes of 512 bytes, 1kB, 2kB or 4kB.
But when I use a LBA size of 8kB, the NVMe initialization is good but I 
can not see any read command access to drive after.
The controller is enable but the host does not perform any access expect 
for CSTS read.
My host page size is 4kB.

Any idea (bad configuration, ...) ? I don't understand what is expecting 
the driver.
Thanks.
Regards.
Olivier.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: olivier_mallinger.vcf
Type: text/x-vcard
Size: 316 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-nvme/attachments/20160302/e2256369/attachment.vcf>

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Tested LBA size ?
  2016-03-02 17:32 Tested LBA size ? Olivier Mallinger - IP Maker
@ 2016-03-03  8:47 ` Christoph Hellwig
  2016-03-03  9:58   ` Olivier Mallinger - IP Maker
  0 siblings, 1 reply; 6+ messages in thread
From: Christoph Hellwig @ 2016-03-03  8:47 UTC (permalink / raw)


Hi Olivier,

Linux in general does not support LBA sizes bigger than the VM page
size.  

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Tested LBA size ?
  2016-03-03  8:47 ` Christoph Hellwig
@ 2016-03-03  9:58   ` Olivier Mallinger - IP Maker
  2016-03-03 14:17     ` Keith Busch
  0 siblings, 1 reply; 6+ messages in thread
From: Olivier Mallinger - IP Maker @ 2016-03-03  9:58 UTC (permalink / raw)


Hi Christoph.

Sorry, I am not a specialist of Linux.
By VM, you mean "Virtual Machine" ?
Can I conclude that VM page size is generally 4kB today ? an you confirm 
that ?

Thanks.
Regards.
Olivier.

Le 03/03/2016 09:47, Christoph Hellwig a ?crit :
> Hi Olivier,
>
> Linux in general does not support LBA sizes bigger than the VM page
> size.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: olivier_mallinger.vcf
Type: text/x-vcard
Size: 316 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-nvme/attachments/20160303/89262dd7/attachment-0001.vcf>

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Tested LBA size ?
  2016-03-03  9:58   ` Olivier Mallinger - IP Maker
@ 2016-03-03 14:17     ` Keith Busch
  2016-03-03 14:56       ` Olivier Mallinger - IP Maker
  0 siblings, 1 reply; 6+ messages in thread
From: Keith Busch @ 2016-03-03 14:17 UTC (permalink / raw)


On Thu, Mar 03, 2016@10:58:15AM +0100, Olivier Mallinger - IP Maker wrote:
> By VM, you mean "Virtual Machine" ?

VM -- Virtual Memory

> Can I conclude that VM page size is generally 4kB today ? an you
> confirm that ?

Probably. 4k is the most common VM page size. It's the only supported size 
on x86. If using something else, YMMV. To confirm, run:

  # getconf PAGESIZE

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Tested LBA size ?
  2016-03-03 14:17     ` Keith Busch
@ 2016-03-03 14:56       ` Olivier Mallinger - IP Maker
  2016-03-03 17:00         ` Thomas Gooding
  0 siblings, 1 reply; 6+ messages in thread
From: Olivier Mallinger - IP Maker @ 2016-03-03 14:56 UTC (permalink / raw)


So, "getconf PAGESIZE" returns 4096.

For my understanding, in NVMe system for data transfers, basically two 
sizes have to be managed :
   - MPS :Memory Page Size which defines the size of pages to be transferred
   - LBA data size which defines the size of the logical block.

 From the NVMe controller point of view, these two value needs to be 
computed for each command (Read/Write) to know the number of page (MPS) 
to be transferred.
So controller has to be able to support all combination of MPS and LBA size.

 From the Linux point of view, your answer make me think that all is 
based on PAGESIZE and so PAGESIZE defined both MPS and LBA Size (or at 
least their maximum values as it works with 512 bytes LBA size for example).
Am I right ? And so a NVMe device including namespace with LBA size 
higher than 4kB will never work on a Linux with a PAGESIZE set to 4096 ?

Thanks.
Regards.
Olivier.

Le 03/03/2016 15:17, Keith Busch a ?crit :
> On Thu, Mar 03, 2016@10:58:15AM +0100, Olivier Mallinger - IP Maker wrote:
>> By VM, you mean "Virtual Machine" ?
> VM -- Virtual Memory
>
>> Can I conclude that VM page size is generally 4kB today ? an you
>> confirm that ?
> Probably. 4k is the most common VM page size. It's the only supported size
> on x86. If using something else, YMMV. To confirm, run:
>
>    # getconf PAGESIZE

-------------- next part --------------
A non-text attachment was scrubbed...
Name: olivier_mallinger.vcf
Type: text/x-vcard
Size: 316 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-nvme/attachments/20160303/778c2c90/attachment.vcf>

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Tested LBA size ?
  2016-03-03 14:56       ` Olivier Mallinger - IP Maker
@ 2016-03-03 17:00         ` Thomas Gooding
  0 siblings, 0 replies; 6+ messages in thread
From: Thomas Gooding @ 2016-03-03 17:00 UTC (permalink / raw)


For what its worth, Linux on OpenPower typically runs with a memory page 
size of 64kB.  That would give the opportunity to test with a larger LBA. 
 

Tom


"Linux-nvme" <linux-nvme-bounces at lists.infradead.org> wrote on 03/03/2016 
08:56:07 AM:

> From: Olivier Mallinger - IP Maker <olivier.mallinger at ip-maker.com>
> To: Keith Busch <keith.busch at intel.com>
> Cc: Christoph Hellwig <hch at infradead.org>, 
linux-nvme at lists.infradead.org
> Date: 03/03/2016 08:58 AM
> Subject: Re: Tested LBA size ?
> Sent by: "Linux-nvme" <linux-nvme-bounces at lists.infradead.org>
> 
> So, "getconf PAGESIZE" returns 4096.
> 
> For my understanding, in NVMe system for data transfers, basically two 
> sizes have to be managed :
>    - MPS :Memory Page Size which defines the size of pages to be 
transferred
>    - LBA data size which defines the size of the logical block.
> 
>  From the NVMe controller point of view, these two value needs to be 
> computed for each command (Read/Write) to know the number of page (MPS) 
> to be transferred.
> So controller has to be able to support all combination of MPS and LBA 
size.
> 
>  From the Linux point of view, your answer make me think that all is 
> based on PAGESIZE and so PAGESIZE defined both MPS and LBA Size (or at 
> least their maximum values as it works with 512 bytes LBA size for 
example).
> Am I right ? And so a NVMe device including namespace with LBA size 
> higher than 4kB will never work on a Linux with a PAGESIZE set to 4096 ?
> 
> Thanks.
> Regards.
> Olivier.
> 
> Le 03/03/2016 15:17, Keith Busch a ?crit :
> > On Thu, Mar 03, 2016 at 10:58:15AM +0100, Olivier Mallinger - IP 
> Maker wrote:
> >> By VM, you mean "Virtual Machine" ?
> > VM -- Virtual Memory
> >
> >> Can I conclude that VM page size is generally 4kB today ? an you
> >> confirm that ?
> > Probably. 4k is the most common VM page size. It's the only supported 
size
> > on x86. If using something else, YMMV. To confirm, run:
> >
> >    # getconf PAGESIZE
> 
> [attachment "olivier_mallinger.vcf" deleted by Thomas Gooding/
> Rochester/IBM] _______________________________________________
> Linux-nvme mailing list
> Linux-nvme at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-nvme

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2016-03-03 17:00 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-03-02 17:32 Tested LBA size ? Olivier Mallinger - IP Maker
2016-03-03  8:47 ` Christoph Hellwig
2016-03-03  9:58   ` Olivier Mallinger - IP Maker
2016-03-03 14:17     ` Keith Busch
2016-03-03 14:56       ` Olivier Mallinger - IP Maker
2016-03-03 17:00         ` Thomas Gooding

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.