Daniel Phillips wrote:
>
> This is easy to verify: say you have 100 MB of kernel source stored in, say,
> 50 different clumps on disk.
Disks use segmentation on their readahead buffers. Typically four-way.
So they will only buffer four different chunks of disk at a time.
If you're reading from 50 different places on disk, the disk keeps
invalidating readahead at the segment level.
On Monday 07 October 2002 22:14, Andrew Morton wrote:
> Daniel Phillips wrote:
> >
> > This is easy to verify: say you have 100 MB of kernel source stored in, say,
> > 50 different clumps on disk.
>
> Disks use segmentation on their readahead buffers. Typically four-way.
> So they will only buffer four different chunks of disk at a time.
>
> If you're reading from 50 different places on disk, the disk keeps
> invalidating readahead at the segment level.
Sure, and kernel-based physical readahead would not have that problem.
(Kernel-based physical readahead has its own problems, for example: how
do you determine that a given physical block is already cached in an
inode and so should be ignored as a readahead candidate?)
--
Daniel