Re: Random file I/O regressions in 2.6

From: Nick Piggin
Date: Mon May 03 2004 - 19:21:12 EST


Andrew Morton wrote:
Nick Piggin <nickpiggin@xxxxxxxxxxxx> wrote:

That's one of its usage patterns. It's also supposed to detect the
fixed-sized-reads-seeking-all-over-the-place situation. In which case it's
supposed to submit correctly-sized multi-page BIOs. But it's not working
right for this workload.

A naive solution would be to add special-case code which always does the
fixed-size readahead after a seek. Basically that's

if (ra->next_size == -1UL)
force_page_cache_readahead(...)


I think a better solution to this case would be to ensure the
readahead window is always min(size of read, some large number);



That would cause the kernel to perform lots of pointless pagecache lookups
when the file is already 100% cached.



That's pretty sad. You need a "preread" or something which
sends the pages back... or uses the actor itself. readahead
would then have to be reworked to only run off the end of
the read window, but that is what it should be doing anyway.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/