kernel - disklabel64 - Increase partition start alignment to 1 megabyte.
authorMatthew Dillon <dillon@apollo.backplane.com>
Sat, 20 Feb 2010 18:11:28 +0000 (10:11 -0800)
committerMatthew Dillon <dillon@apollo.backplane.com>
Sat, 20 Feb 2010 18:11:28 +0000 (10:11 -0800)
commit4921cba1f62ca52955e529f9b60fa2fd23821d80
treee81a0bfb3fc05c94bc675fc2804720c210934e08
parentf96f2f39b0082a3241919be617757c2235a6add0
kernel - disklabel64 - Increase partition start alignment to 1 megabyte.

* Someone suggested that instead of using a 32K alignment we use a larger
  alignment.  I forgot who suggested it but after thinking about it a bit
  and messing around with swapcache on a SSD I decided it was a good idea.

  SSDs using MLC flash have a physical block size of 128K.  SLC flash has
  a physical block size of 64K.  Most typical cluster operations in
  DragonFly are 64K to 128K but clustered writes are often linear on disk
  leading to larger linear writes from the point of view of the physical
  drive's write cache.

  swapcache and swap operation tends to have even larger write linearities
  and write amplification effects on SSDs can be reduced to better than 1:2
  (verses the 1:10 the vendor typically assumes).

* Virgin disklabel64's layed down by the kernel will now align the
  start of the partition space to 1MB (1024 * 1024).  In for a penny,
  in for a pound.

* Adjust the manual page and note the benefits of using a larger alignment,
  particularly when swapcache is used with SSDs.
sbin/disklabel64/disklabel64.8
sys/kern/subr_disklabel64.c