Port-i386 archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: using GPT support in BIOS boot



Joerg Sonnenberger <joerg%britannica.bec.de@localhost> writes:

> On Sat, Jan 08, 2011 at 12:52:28AM +0000, David Brownlee wrote:
>> Maybe gpt add should be defaulting to 4K alignment?
>
> I would actually suggest to align to 128KB or even 256KB by default.
> I doubt anyone cares much about the wasted space and it would make RAID
> and SSD setups more happy out of the box.

I understand why 4KB alignment makes sense (larger physical disk blocks
on disks that present 512 byte sectors), and 128KB/256KB/1MB seem
broadly sensible, but I would appreciate understanding what bad thing
would happen with starting the first GPT partition at:

   34 sectors/17KB      (messes up 4KB alignment, splitting reads/writes)
   36 sectors/18KB      (ditto)
   40 sectors/20KB      ?
   64 sectors/32KB      ?
  128 sectors/64KB      ?

I'm not trying to be difficult - I genuinely don't know and think it
would be useful for any (non-obvious, at least to me) issues  to be more
broadly understood.

We know modern disks have not had a real CHS orientation for a long
time.  However,  I wouldn't be surprised if the zone recording plan
aligns to some larger granularity, and thus aligning to 256K might cause
256K transfers to not cross real cylinder boundaries.

I'm guessing your motivation is that something like the above is going
on, and that therefore we should align the start to the largest aligned
transfer granularity in order to avoid cylinder splitting regardless of
most manufacturer granularity choices.

A tricky bit is that rf raid1 at least starts at 32K more than the base
of the partition, so it's almost like you want the partition at "n *
256KB - 32KB".

Does anyone know of tools to test how this works?   I would think one
would have to disable write caching and do write tests, or do read tests
combined with cache-busting reads.

Attachment: pgpXFk9uxlh3Z.pgp
Description: PGP signature



Home | Main Index | Thread Index | Old Index