public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Shailabh Nagar <nagar@watson.ibm.com>
To: Jens Axboe <axboe@suse.de>
Cc: Linux Kernel <linux-kernel@vger.kernel.org>,
	ckrm-tech@lists.sourceforge.net
Subject: Re: [ckrm-tech] Re: [PATCH] cfq + io priorities
Date: Sun, 09 Nov 2003 18:52:12 -0500	[thread overview]
Message-ID: <3FAED32C.3030005@watson.ibm.com> (raw)
In-Reply-To: <20031109213411.GV2831@suse.de>

Jens Axboe wrote:

>On Sun, Nov 09 2003, Shailabh Nagar wrote:
>  
>
>>>A process has an assigned io nice level, anywhere from 0 to 20. Both of
>>>these end values are "special" - 0 means the process is only allowed to
>>>do io if the disk is idle, and 20 means the process io is considered
>>>realtime. Realtime IO always gets first access to the disk. 
>>>
>>>      
>>>
>>>Values from 1 to 19 assign 5-95% of disk bandwidth to that process. Any io 
>>>class is
>>>allowed to use all of disk bandwidth in absence of higher priority io.
>>>
>>>
>>>      
>>>
>>Currently, cfq is doing bandwidth allocation in terms of  number of 
>>requests, not bytes. Hence priority inversion can happen if lower 
>>priority levels submit larger requests on an average. Any plans to take 
>>request sizes into consideration  in future ? 
>>    
>>
>
>Yes that needs to be taken into account as well. I'll get another
>version out soonish that works around that too.
>
>  
>
>>Of course, request sizes alone don't determine actual disk bandwidth 
>>consumed  since their seek position also matters.
>>    
>>
>
>Yeah that's where it gets tricky. It's basically impossible to get
>absolutely right, it will always be just guidelines. I don't want to
>over complicate matters.
>  
>
Thats true. Estimating bandwidth by quantity of submitted I/O should be 
good enough. Doing too many seek
time calculations is not only complex but may be useless if the attached 
device is doing its own reordering (an increasingly likely
scenario for servers).  I guess one could do some simple accounting such 
as 1+x per request where 1 accounts for the fixed "cost"  of a request 
on I/O bandwidth and x is a request size dependent cost.  I'm looking 
forward to your next version to see what are your thoughts.

>>>About the patch: stuff like this really needs some resource management
>>>abstraction like CKRM. Right now we just look at the tgid of the
>>>process. 
>>>
>>>      
>>>
>>Now thats music to our ears :-)  Though you've complicated matters by 
>>calling the priority level a "class" ! Please consider renaming
>>class  to something else  (say priolevel ).
>>    
>>
>
>Done.
>  
>

Thanks !

>  
>
>>Thanks for separating the hashvalue as a macro. It should make it even 
>>easier to convert cfq to use a  CKRM I/O classes ' priority
>>rather than the submitting task's ioprio value.
>>    
>>
>
>Yup that was my intention, to make the transition as smooth as possible.
>  
>
I'll try and get out a CKRM variant of CFQ soon - anyway another version 
is needed to fit into the next version of  CKRM core api's that
were published on ckrm-tech in the past week
    http://sourceforge.net/mailarchive/forum.php?forum=ckrm-tech

Please consider joining the ckrm-tech mailing list 
(http://lists.sourceforge.net/lists/listinfo/ckrm-tech) and/or cc'ing it 
on CFQ changes for I/O priorities.

-- Shailabh



      reply	other threads:[~2003-11-09 23:52 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-11-08 12:47 [PATCH] cfq + io priorities Jens Axboe
2003-11-08 13:25 ` Jens Axboe
2003-11-08 14:06   ` Jens Axboe
2003-11-09 21:30 ` Shailabh Nagar
2003-11-09 21:34   ` Jens Axboe
2003-11-09 23:52     ` Shailabh Nagar [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=3FAED32C.3030005@watson.ibm.com \
    --to=nagar@watson.ibm.com \
    --cc=axboe@suse.de \
    --cc=ckrm-tech@lists.sourceforge.net \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox