Thread (42 messages) 42 messages, 8 authors, 2012-06-22

Re: [PATCH 2/3] ext4: Context support

From: Andreas Dilger <hidden>
Date: 2012-06-15 09:40:11
Also in: linux-ext4, linux-fsdevel

On 2012-06-15, at 3:25 AM, Arnd Bergmann wrote:
On Friday 15 June 2012, Andreas Dilger wrote:
quoted
On 2012-06-14, at 3:55 PM, Arnd Bergmann wrote:
quoted
My feeling is that we would actually benefit much more from the
erase block alignment than from the context for the large files.

I think this is something we can do in the Linaro storage team.
We actually have plans to also put the erase block size in the swap
header, so we should be able to use the same code in mke2fs and mkswap,
and potentially others. What we discussed in the storage team meeting
today is that we start out by making ext4 aware of the erase block
size through the superblock and aligning extents for large files to
erase block boundaries.
Note that there are already the s_raid_stride and s_raid_stripe_width,
used by the ext4 allocator to align the start and size of allocations
on RAID systems.  The erase block size would be like s_raid_stride
(the minimum amount of data to allocate and write contiguously).

I don't know that there is a benefit to having a separate erase block
size, since in the end it means the same as s_raid_stride to the
allocator - make sure allocations/writes are aligned and sized on
multiples of this.
Good point. For flash drives, the specific optimizations we do might
be different from what we do on RAID, but they have enough in common
that we could use the same mechanism to detect them.

Is ext4 able to cope well with stride sizes between 512KB and 24MB?
It is typically used on RAID arrays with 1MB or 4MB alignment.  It is
considerably more CPU efficient to use power-of-two alignment, but it
is also possible to use non-power-of-two values if needed, so long as
they are at least a multiple of the block size.

Cheers, Andreas




Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help