All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dongsheng Yang <yangds.fnst@cn.fujitsu.com>
To: Dongsheng Yang <yangds.fnst@cn.fujitsu.com>
Cc: linux-kernel@vger.kernel.org, peterz@infradead.org,
	joe@perches.com, mingo@kernel.org, tglx@linutronix.de,
	heiko.carstens@de.ibm.com
Subject: Re: [PATCH 08/17] ioprio: Add a macro named NICE_TO_IOPRIO.
Date: Wed, 12 Mar 2014 17:41:58 +0800	[thread overview]
Message-ID: <53202BE6.5030006@cn.fujitsu.com> (raw)
In-Reply-To: <73b55557223c09b0feb0979ac66340d162117555.1394532288.git.yangds.fnst@cn.fujitsu.com>

On 03/11/2014 06:09 PM, Dongsheng Yang wrote:
> As the task nice value is in [-20, 19] and the io priority is in [0, 7],
> and the convert method from niceval to ioprio is implemented with an
> opened code in task_nice_ioprio().
>
> This patch move the implementation to a macro NICE_TO_IOPRIO, making
> it more readable and modular.
>
> Signed-off-by: Dongsheng Yang <yangds.fnst@cn.fujitsu.com>
> ---
>   include/linux/ioprio.h | 7 ++++++-
>   1 file changed, 6 insertions(+), 1 deletion(-)
>
> diff --git a/include/linux/ioprio.h b/include/linux/ioprio.h
> index beb9ce1..c0faa0b 100644
> --- a/include/linux/ioprio.h
> +++ b/include/linux/ioprio.h
> @@ -18,6 +18,11 @@
>   #define ioprio_valid(mask)	(IOPRIO_PRIO_CLASS((mask)) != IOPRIO_CLASS_NONE)
>   
>   /*
> + * Convert the nice value [19,-20] to io priority value [0,7].
> + */
> +#define NICE_TO_IOPRIO(nice)	(nice_to_rlimit(nice) / 5)
> +

Hi Peter,
     As you asked, why I added this macro in ioprio.h? And why it is better?

     IMO, there is a policy to convert a nice value to io priority, that 
divide the nice
range into 8 parts by 5. I think this is a common requirement for lots 
of io subsystem.
So I implement this policy with NICE_TO_IOPRIO.

     About function task_nice_iopiro(), it is to get the iopriority of a 
task. It should get the
nice value at first and then use the NICE_TO_IOPRIO to convert it to 
ioprio in the policy.

When our policy changed, we need only update the center controller, 
NICE_TO_IOPRIO.
Keep the others work well.

This is my point about this patch. I wish it explained better. Thanx.
> +/*
>    * These are the io priority groups as implemented by CFQ. RT is the realtime
>    * class, it always gets premium service. BE is the best-effort scheduling
>    * class, the default for any process. IDLE is the idle scheduling class, it
> @@ -52,7 +57,7 @@ enum {
>    */
>   static inline int task_nice_ioprio(struct task_struct *task)
>   {
> -	return (task_nice(task) + 20) / 5;
> +	return NICE_TO_IOPRIO(task_nice(task));
>   }
>   
>   /*


  reply	other threads:[~2014-03-12 10:32 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-03-11 10:09 [PATCH 00/17 for-tip V3] A series patches about sched priority Dongsheng Yang
2014-03-11 10:09 ` [PATCH 01/17] sched/prio: Add a inline function named nice_to_rlimit() in prio.h Dongsheng Yang
2014-03-11 10:09 ` [PATCH 02/17] kernel/sys: Fix the indent issue in switch Dongsheng Yang
2014-03-11 10:09 ` [PATCH 03/17] kernel/sys: Replace opened code implementation with nice_to_rlimit() Dongsheng Yang
2014-03-11 10:09 ` [PATCH 04/17] workqueue: Replace hardcoding of -20 with MIN_NICE Dongsheng Yang
2014-03-11 12:22   ` Tejun Heo
2014-03-11 12:55     ` Tejun Heo
2014-03-11 12:56       ` Dongsheng Yang
2014-04-18 13:06   ` [tip:sched/core] sched, treewide: Replace hardcoded nice values with MIN_NICE/MAX_NICE tip-bot for Dongsheng Yang
2014-03-11 10:09 ` [PATCH 05/17] locktorture: Replace hardcoding of 19 with MAX_NICE Dongsheng Yang
2014-03-11 10:09 ` [PATCH 06/17] tools/mq_perf_tests: Replace hardcoding of -20 with MIN_NICE Dongsheng Yang
2014-03-11 10:09 ` [PATCH 07/17] mm: Replace hardcoding of 19 with MAX_NICE Dongsheng Yang
2014-03-11 10:09   ` Dongsheng Yang
2014-03-11 10:09 ` [PATCH 08/17] ioprio: Add a macro named NICE_TO_IOPRIO Dongsheng Yang
2014-03-12  9:41   ` Dongsheng Yang [this message]
2014-03-19  8:26   ` Peter Zijlstra
2014-03-11 10:09 ` [PATCH 09/17] fs/hearbeat: Replace hardcoding of -20 with MIN_NICE Dongsheng Yang
2014-03-11 10:13   ` [Ocfs2-devel] " Dongsheng Yang
2014-03-11 10:09 ` [PATCH 10/17] driver/block: " Dongsheng Yang
2014-03-11 10:09 ` [PATCH 11/17] driver/char: Replace hardcoding of 19 with MAX_NICE Dongsheng Yang
2014-03-11 10:09 ` [PATCH 12/17] drivers/s390: " Dongsheng Yang
2014-03-11 10:09 ` [PATCH 13/17] sched/prio: Add an inline function named rlimit_to_nice in prio.h Dongsheng Yang
2014-03-11 10:09 ` [PATCH 14/17] driver/staging/android: Use rlimit_to_nice to replace opened code implementation Dongsheng Yang
2014-03-11 10:09 ` [PATCH 15/17] driver/staging/lustre: Replace hardcoding of -20 with MIN_NICE Dongsheng Yang
2014-03-11 10:09 ` [PATCH 16/17] driver/scsi: " Dongsheng Yang
2014-03-11 10:09 ` [PATCH 17/17] sched: Get rid of opened code implementation of funtion nice_to_rlimit() Dongsheng Yang
2014-04-18 10:01   ` Ingo Molnar
2014-04-18  9:15     ` Dongsheng Yang
2014-04-18 10:19       ` Ingo Molnar
2014-04-18  9:25         ` Dongsheng Yang
2014-03-12  9:45 ` [PATCH 00/17 for-tip V3] A series patches about sched priority Dongsheng Yang
2014-03-19  8:36 ` Peter Zijlstra
2014-03-19  9:21   ` Dongsheng Yang
2014-03-20  2:02   ` Dongsheng Yang

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=53202BE6.5030006@cn.fujitsu.com \
    --to=yangds.fnst@cn.fujitsu.com \
    --cc=heiko.carstens@de.ibm.com \
    --cc=joe@perches.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@kernel.org \
    --cc=peterz@infradead.org \
    --cc=tglx@linutronix.de \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.