
09-23-2008, 12:20 PM
|
| Junior Member | | Join Date: Sep 2009
Posts: 0
| |
Re: [PATCH, RFC] ext4: Use preallocation when reading from the inode table Andreas Dilger wrote:
> On Sep 23, 2008 10:16 +0100, Alan Cox wrote:
>
>> On Mon, 22 Sep 2008 20:35:23 -0400
>> "Theodore Ts'o" wrote:
>>
>>> With modern hard drives, reading 64k takes roughly the same time as
>>> reading a 4k block. So request adjacent inode table blocks to reduce
>>> the time it takes when iterating over directories (especially when doing
>>> this in htree sort order) in a cold cache case. With this patch, the
>>> time it takes to run "git status" on a kernel tree after flushing the
>>> caches via "echo 3 > /proc/sys/vm/drop_caches", is reduced by 21%.
>>>
>>> Signed-off-by: "Theodore Ts'o"
>>>
>> Acked-by: Alan Cox
>>
>> I'm actually suprised that 16 is the magic tuning number you've used and
>> a bigger one isn't even more of a win
>>
>
> I was going to suggest making this at least a #defined constant instead
> of hard coding the values there. Making it a mount option and/or /proc
> value would allow further testing.
>
> Cheers, Andreas
> --
> Andreas Dilger
> Sr. Staff Engineer, Lustre Group
> Sun Microsystems of Canada, Inc.
>
>
I think that Alan is probably right - the magic number for modern drives
is probably closer to 256K. Having it be a /sys tunable (with a larger
default) would be a nice way to verify this.
Ric
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/ |