Messages in this thread | | | Date | Tue, 14 Apr 2009 13:37:45 +0300 | From | Avi Kivity <> | Subject | Re: Implementing NVMHCI... |
| |
Jeff Garzik wrote: > Speaking of RMW... in one sense, we have to deal with RMW anyway. > Upcoming ATA hard drives will be configured with a normal 512b sector > API interface, but underlying physical sector size is 1k or 4k. > > The disk performs the RMW for us, but we must be aware of physical > sector size in order to determine proper alignment of on-disk data, to > minimize RMW cycles. >
Virtualization has the same issue. OS installers will typically setup the first partition at sector 63, and that means every page-sized block access will be misaligned. Particularly bad when the guest's disk is backed on a regular file.
Windows 2008 aligns partitions on a 1MB boundary, IIRC.
> At the moment, it seems like most of the effort to get these ATA > devices to perform efficiently is in getting partition / RAID stripe > offsets set up properly. > > So perhaps for NVMHCI we could > (a) hardcode NVM sector size maximum at 4k > (b) do RMW in the driver for sector size >4k, and
Why not do it in the block layer? That way it isn't limited to one driver.
> (c) export information indicating the true sector size, in a manner > similar to how the ATA driver passes that info to userland > partitioning tools.
Eventually we'll want to allow filesystems to make use of the native sector size.
-- I have a truly marvellous patch that fixes the bug which this signature is too narrow to contain.
| |