[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <b5160f7c-4bb1-469a-8527-2011b0aa0b6b@oracle.com>
Date: Wed, 12 Mar 2025 14:47:28 +0000
From: John Garry <john.g.garry@...cle.com>
To: Christoph Hellwig <hch@...radead.org>
Cc: brauner@...nel.org, djwong@...nel.org, cem@...nel.org,
linux-xfs@...r.kernel.org, linux-fsdevel@...r.kernel.org,
linux-kernel@...r.kernel.org, ojaswin@...ux.ibm.com,
ritesh.list@...il.com, martin.petersen@...cle.com
Subject: Re: [PATCH v5 09/10] xfs: Allow block allocator to take an alignment
hint
On 12/03/2025 13:45, Christoph Hellwig wrote:
> On Wed, Mar 12, 2025 at 08:05:14AM +0000, John Garry wrote:
>>> Shouldn't we be doing this by default for any extent size hint
>>> based allocations?
>>
>> I'm not sure.
>>
>> I think that currently users just expect extszhint to hint at the
>> granularity only.
>>
>> Maybe users don't require alignment and adding an alignment requirement just
>> leads to more fragmentation.
>
> But does it? Once an extsize hint is set I'd expect that we keep
> getting more allocation with it.
Sure, but that value is configurable per inode (so not all inodes may
have it set)...but then it is also inherited.
> And keeping the aligned is the concept
> of a buddy allocator which reduces fragmentation. Because of that I
> wonder why we aren't doing that by default.
>
As I see, we just pay attention to stripe alignment. Dave also
questioned this - Dave, any further idea on why this?
To me it could sense to use extszhint as the alignment requirement, but
only if no stripe alignment. We also need to ensure to ignore this in
low space allocator.
Thanks,
John
Powered by blists - more mailing lists