Tested LBA size ?
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>
Hi Olivier,
Linux in general does not support LBA sizes bigger than the VM page size.
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 :
Quoted 4 lines
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>
Quoted 1 line · Olivier Mallinger - IP Maker
By VM, you mean "Virtual Machine" ?
VM -- Virtual Memory
Quoted 2 lines
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
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 :
Quoted 10 lines · Olivier Mallinger - IP Maker
Quoted 1 line
By VM, you mean "Virtual Machine" ?
VM -- Virtual Memory
Quoted 2 lines
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>
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:
Quoted 3 lines
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
Quoted 9 lines
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
Quoted 6 lines
- 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.
Quoted 4 lines
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).
Quoted 16 lines
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 :
Quoted 1 line
On Thu, Mar 03, 2016 at 10:58:15AM +0100, Olivier Mallinger - IP
Quoted 6 lines · Maker
Quoted 1 line
By VM, you mean "Virtual Machine" ?
VM -- Virtual Memory
Quoted 2 lines
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
Quoted 9 lines
Quoted 3 lines
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