* Documentation on CFQ iosched parameters
@ 2008-09-22 15:15 Martin Steigerwald
2008-09-23 3:15 ` Aaron Carroll
0 siblings, 1 reply; 5+ messages in thread
From: Martin Steigerwald @ 2008-09-22 15:15 UTC (permalink / raw)
To: linux-kernel; +Cc: linux-fsdevel, Jens Axboe
[-- Attachment #1: Type: text/plain, Size: 1593 bytes --]
Please CC to me unless you answer to linux-fsdevel as well. I am not
subscribed to linux-kernel.
Hi!
I am searching documentation about CFQ io scheduler. I can't find it in linux
2.6.26 Documentation directory.
I found about these in german[1]:
back_seek_max:16384
back_seek_penalty:2
fifo_expire_async:250
fifo_expire_sync:123
quantum:4
But I am completely missing about these:
slice_async:40
slice_async_rq:2
slice_idle:6
slice_sync:100
AFAIR there has been a documentation file somewhere, but I can't find it:
ms@mango> grep -ir "cfq" * ~/lokal/Kernel/linux-2.6.26/Documentation/block
00-INDEX: - Block io priorities (in CFQ scheduler)
ioprio.txt:With the introduction of cfq v3 (aka cfq-ts or time sliced cfq),
basic io
ioprio.txt:with cfq; other io schedulers do not support io priorities thus
far.
ioprio.txt:CFQ implements three generic scheduling classes that determine how
io is
switching-sched.txt:'noop', 'as' and 'cfq' (the default) are also available.
IO schedulers are
switching-sched.txt:for instance, to set the CFQ scheduler for the system
default, but
switching-sched.txt:noop anticipatory deadline [cfq]
switching-sched.txt:noop [anticipatory] deadline cfq
(unlike as-iosched.txt)
I am willing to write that documentation if someone explain these to me so
that I understand them ;-).
[1]
http://www.linux-magazin.de/heft_abo/ausgaben/2005/04/kern_technik/(offset)/4
Ciao,
--
Martin Steigerwald - team(ix) GmbH - http://www.teamix.de
gpg: 19E3 8D42 896F D004 08AC A0CA 1E10 C593 0399 AE90
[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 197 bytes --]
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Documentation on CFQ iosched parameters
2008-09-22 15:15 Documentation on CFQ iosched parameters Martin Steigerwald
@ 2008-09-23 3:15 ` Aaron Carroll
2008-09-23 9:00 ` Jens Axboe
2008-09-23 9:26 ` Martin Steigerwald
0 siblings, 2 replies; 5+ messages in thread
From: Aaron Carroll @ 2008-09-23 3:15 UTC (permalink / raw)
To: Martin Steigerwald; +Cc: linux-kernel, linux-fsdevel, Jens Axboe
Martin Steigerwald wrote:
> Hi!
>
> I am searching documentation about CFQ io scheduler. I can't find it in linux
> 2.6.26 Documentation directory.
>
> I found about these in german[1]:
>
> back_seek_max:16384
> back_seek_penalty:2
> fifo_expire_async:250
> fifo_expire_sync:123
> quantum:4
>
> But I am completely missing about these:
>
> slice_async:40
Base length of an asynchronous queue timeslice (that is, how long the
queue has to dispatch requests each round). The actual timeslice
length is scaled by the I/O priority.
> slice_async_rq:2
The base number of requests per round for asynchronous queues. Like
slice_async, the actual maximum is a function of slice_async_rq and I/O
priority.
> slice_idle:6
How long to wait for processes to produce more I/O before switching
queues. This is for anticipation of sequential I/O, and more even disk
time distribution for processes doing back to back synchronous I/Os.
> slice_sync:100
Same as slice_async, but for synchronous requests.
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Documentation on CFQ iosched parameters
2008-09-23 3:15 ` Aaron Carroll
@ 2008-09-23 9:00 ` Jens Axboe
2008-09-23 9:26 ` Martin Steigerwald
1 sibling, 0 replies; 5+ messages in thread
From: Jens Axboe @ 2008-09-23 9:00 UTC (permalink / raw)
To: Aaron Carroll; +Cc: Martin Steigerwald, linux-kernel, linux-fsdevel
On Tue, Sep 23 2008, Aaron Carroll wrote:
> Martin Steigerwald wrote:
> >Hi!
> >
> >I am searching documentation about CFQ io scheduler. I can't find it in
> >linux 2.6.26 Documentation directory.
> >
> >I found about these in german[1]:
> >
> >back_seek_max:16384
> >back_seek_penalty:2
> >fifo_expire_async:250
> >fifo_expire_sync:123
> >quantum:4
> >
> >But I am completely missing about these:
> >
> >slice_async:40
>
> Base length of an asynchronous queue timeslice (that is, how long the
> queue has to dispatch requests each round). The actual timeslice
> length is scaled by the I/O priority.
>
> >slice_async_rq:2
>
> The base number of requests per round for asynchronous queues. Like
> slice_async, the actual maximum is a function of slice_async_rq and I/O
> priority.
>
> >slice_idle:6
>
> How long to wait for processes to produce more I/O before switching
> queues. This is for anticipation of sequential I/O, and more even disk
> time distribution for processes doing back to back synchronous I/Os.
>
> >slice_sync:100
>
> Same as slice_async, but for synchronous requests.
Nothing further to add, Aaron nailed them.
--
Jens Axboe
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Documentation on CFQ iosched parameters
2008-09-23 3:15 ` Aaron Carroll
2008-09-23 9:00 ` Jens Axboe
@ 2008-09-23 9:26 ` Martin Steigerwald
2008-09-23 9:32 ` Jens Axboe
1 sibling, 1 reply; 5+ messages in thread
From: Martin Steigerwald @ 2008-09-23 9:26 UTC (permalink / raw)
To: linux-kernel; +Cc: linux-fsdevel, Jens Axboe, Aaron Carroll
[-- Attachment #1: Type: text/plain, Size: 1790 bytes --]
Am Dienstag, 23. September 2008 schrieb Aaron Carroll:
> Martin Steigerwald wrote:
> > Hi!
> >
> > I am searching documentation about CFQ io scheduler. I can't find it in
> > linux 2.6.26 Documentation directory.
> >
> > I found about these in german[1]:
> >
> > back_seek_max:16384
> > back_seek_penalty:2
> > fifo_expire_async:250
> > fifo_expire_sync:123
> > quantum:4
> >
> > But I am completely missing about these:
> >
> > slice_async:40
>
> Base length of an asynchronous queue timeslice (that is, how long the
> queue has to dispatch requests each round). The actual timeslice
> length is scaled by the I/O priority.
[...]
Thanks. As I do not find documentation about CFQ at all, I think I need to
create a new file from scratch... how about
Documentation/block/cfq-iosched.txt?
For that I need some more information about CFQ. I found the following
resources:
- CFQ V3 aka CFQ TS: http://lwn.net/Articles/143474/,
http://lwn.net/Articles/114770/ and posts by Jens,
http://lwn.net/Articles/113869/
- CFQ V2: Post by Jens, http://lwn.net/Articles/101029/
- CFQ: Post by Jens, http://lwn.net/Articles/22429/
- Documentation/block/as-iosched.txt / deadline-iosched.txt (as for how an IO
scheduler can be documented)
Would that be what I should read in order to write such an documentation?
How about the relevance of CFQ and CFQ v2 stuff? What of it would be good to
mention? I would like to limit documentation to what is still relevant for
the current implementation of the IO scheduler. Should I mention its
inheritance from SFQ - maybe in a small introduction and historic overview?
Ciao,
--
Martin Steigerwald - team(ix) GmbH - http://www.teamix.de
gpg: 19E3 8D42 896F D004 08AC A0CA 1E10 C593 0399 AE90
[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 197 bytes --]
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Documentation on CFQ iosched parameters
2008-09-23 9:26 ` Martin Steigerwald
@ 2008-09-23 9:32 ` Jens Axboe
0 siblings, 0 replies; 5+ messages in thread
From: Jens Axboe @ 2008-09-23 9:32 UTC (permalink / raw)
To: Martin Steigerwald; +Cc: linux-kernel, linux-fsdevel, Aaron Carroll
On Tue, Sep 23 2008, Martin Steigerwald wrote:
> Am Dienstag, 23. September 2008 schrieb Aaron Carroll:
> > Martin Steigerwald wrote:
> > > Hi!
> > >
> > > I am searching documentation about CFQ io scheduler. I can't find it in
> > > linux 2.6.26 Documentation directory.
> > >
> > > I found about these in german[1]:
> > >
> > > back_seek_max:16384
> > > back_seek_penalty:2
> > > fifo_expire_async:250
> > > fifo_expire_sync:123
> > > quantum:4
> > >
> > > But I am completely missing about these:
> > >
> > > slice_async:40
> >
> > Base length of an asynchronous queue timeslice (that is, how long the
> > queue has to dispatch requests each round). The actual timeslice
> > length is scaled by the I/O priority.
>
> [...]
>
> Thanks. As I do not find documentation about CFQ at all, I think I need to
> create a new file from scratch... how about
> Documentation/block/cfq-iosched.txt?
That would be great!
> For that I need some more information about CFQ. I found the following
> resources:
>
> - CFQ V3 aka CFQ TS: http://lwn.net/Articles/143474/,
> http://lwn.net/Articles/114770/ and posts by Jens,
> http://lwn.net/Articles/113869/
>
> - CFQ V2: Post by Jens, http://lwn.net/Articles/101029/
>
> - CFQ: Post by Jens, http://lwn.net/Articles/22429/
You can mention the links for v1 and v2, but as they have even little
historic relevance, don't spend more time on that.
> - Documentation/block/as-iosched.txt / deadline-iosched.txt (as for how an IO
> scheduler can be documented)
>
> Would that be what I should read in order to write such an documentation?
Yes
> How about the relevance of CFQ and CFQ v2 stuff? What of it would be good to
> mention? I would like to limit documentation to what is still relevant for
> the current implementation of the IO scheduler. Should I mention its
> inheritance from SFQ - maybe in a small introduction and historic overview?
Even the very first CFQ posted used per-process queues, so there's
really very little inheritance from SFQ at all. So I don't think it's
particularly interesting to mention. But if you want, go ahead :-)
--
Jens Axboe
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2008-09-23 9:32 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-09-22 15:15 Documentation on CFQ iosched parameters Martin Steigerwald
2008-09-23 3:15 ` Aaron Carroll
2008-09-23 9:00 ` Jens Axboe
2008-09-23 9:26 ` Martin Steigerwald
2008-09-23 9:32 ` Jens Axboe
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).