[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <492C2502.7070709@vlnb.net>
Date: Tue, 25 Nov 2008 19:17:06 +0300
From: Vladislav Bolkhovitin <vst@...b.net>
To: Jeff Moyer <jmoyer@...hat.com>
CC: Vladislav Bolkhovitin <vst@...b.net>,
Wu Fengguang <wfg@...ux.intel.com>,
Jens Axboe <jens.axboe@...cle.com>,
"Vitaly V. Bursov" <vitalyb@...enet.dn.ua>,
linux-kernel@...r.kernel.org
Subject: Re: Slow file transfer speeds with CFQ IO scheduler in some cases
Jeff Moyer wrote:
> Vladislav Bolkhovitin <vst@...b.net> writes:
>
>> Wu Fengguang wrote:
>>> Another scheme is to detect the sequential pattern via looking up
>>> the page cache, which provides one single and consistent view of the
>>> pages recently accessed. That makes sequential detection possible.
>>>
>>> The cost will be one extra page cache lookup per random read.
>>> If it's not acceptable, the corresponding code could be disabled
>>> by default.
>> I think, this should be the best and the simplest way to go. Since in
>> most case data from the cache should be later copied to user, one more
>> page cache lookup should be negligible.
>
> I haven't thought about your suggestion in any detail, but it seems to
> me that you will not handle O_DIRECT I/O with this scheme.
And shouldn't. One using O_DIRECT is supposed to understand and accept
that no features provided by page cache, including read ahead, will be
available to him. Hence, if necessary, he must implement own read ahead
procedures.
> Cheers,
> Jeff
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@...r.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists