On 01/15/2018 06:56 PM, Arvin Schnell wrote:
On Mon, Jan 15, 2018 at 05:37:44PM +0100, Ancor Gonzalez Sosa wrote:
Storage-ng always tries to align the start and end of all new and resized partitions for optimal performance.
AFAIS the end is only aligned to not produce gaps between partitions.
In DASD, the typical REQUIRED grain is 48KiB, so no way we can create a partition whose size is not divisible by that number. In addition, the OPTIMAL grain is 3MiB.
The optimal grain is 3 MiB since it divides by 1 MiB and 48 KiB.
The point is that I'm not so sure whether aligning the end makes that much sense from the performance POV if a given partition is at the very end of the partition table.
I don't think it is important for performance.
In general I would not align the end of the last partition and thus avoid unused space at the end. I personally do not mind that little wasted space but other people might be picky about it (e.g. if other partitioning tools report a tiny piece of unused space).
Ok. Thanks. So I will describe now what I'm going to implement regarding partition creation (and resizing) in the new expert partitioner. If someone disagrees, speak now or forever hold your peace[1]. The user can select (a) Maximum size (b) Custom size (c) Custom region with start block and end block In (a) and (b) ============== The start will be always aligned to OPTIMAL, no matter what. To align the end, two situations are contemplated. If the whole available space is used (always for option (a) and also option (b) if max size is entered), the end will not be aligned, so it will use everything until the last available byte. If the desired size is smaller than the whole free chunk, the end will also be aligned to OPTIMAL, so the remaining free space starts in an optimal point. In (c) ====== Both the start and the end will be always aligned to REQUIRED. In normal disks that means nothing will change, since the REQUIRED grain is 1Byte. In DASD that can mean moving both the start and the end up to 44KiB each. As a result =========== If I'm not mistaken that ensures that (a) and (b): - always produce optimal alignment - never leave a gap if it doesn't make sense On the other hand, option (c) : - always produces required alignment - provides a way to the user to "escape" from optimal alignment Cheers. [1] With "forever" being "until next release" ;-) -- Ancor González Sosa YaST Team at SUSE Linux GmbH -- To unsubscribe, e-mail: yast-devel+unsubscribe@opensuse.org To contact the owner, e-mail: yast-devel+owner@opensuse.org