linux-pm.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Parth Shah <parth@linux.ibm.com>
To: linux-kernel@vger.kernel.org, patrick.bellasi@matbug.net,
	tim.c.chen@linux.intel.com, valentin.schneider@arm.com,
	qais.yousef@arm.com, linux-pm@vger.kernel.org
Cc: peterz@infradead.org, vincent.guittot@linaro.org, pavel@ucw.cz,
	David.Laight@ACULAB.COM, mingo@redhat.com,
	morten.rasmussen@arm.com, pjt@google.com,
	dietmar.eggemann@arm.com, tj@kernel.org,
	rafael.j.wysocki@intel.com, daniel.lezcano@linaro.org,
	dhaval.giani@oracle.com, qperret@qperret.net,
	ggherdovich@suse.cz, viresh.kumar@linaro.org,
	Doug Smythies <dsmythies@telus.net>
Subject: Re: [Discussion v2] Usecases for the per-task latency-nice attribute
Date: Thu, 24 Oct 2019 13:49:34 +0530	[thread overview]
Message-ID: <376e1a37-8f7d-3cbc-9d9d-dd349afb9b3b@linux.ibm.com> (raw)
In-Reply-To: <2bd46086-43ff-f130-8720-8eec694eb55b@linux.ibm.com>



On 9/30/19 4:13 PM, Parth Shah wrote:
> Hello everyone,
> 
> This is the v2 of the discussion started for introducing per-task
> latency-nice attribute for providing scheduler hints.
> 
> v1: https://lkml.org/lkml/2019/9/18/555
> 
> In brief, we face two challenges with the introduction of such attr.
> 
> 1. Name:
> ==============
> ( Should be relevant to all the possible usecases, not confuse end-user and
> reflect the functionality it provides to the scheduler behaviour )
> 
> Curated list of proposed names:
> 
> 1. latency-nice:
>    should have a better understanding based on pre-existing concepts
> 
> - But poses two interpretation ambiguity
>   a) -20 (least nice to latency, i.e. sacrifice latency for throughput)
>      +19 (most nice to latency, i.e. sacrifice throughput for latency)
>   b) -20 (least nice to other task in terms of sacrificing latency, i.e.
> 	  latency-sensitive)
>      +19 (most nice to other tasks in terms of sacrificing latency, i.e.
> 	  latency-forgoing)
> 
> 2. latency-tolerant:
>    decouples a bit its meaning from the niceness thus giving maybe a bit
>    more freedom in its complete definition and perhaps avoid any
>    possible interpretation confusion
> 
> 3. latency-nasty
> 
> 4. latency-sensible

+ 5. temper
     -20 (short temper, angry tasks, i.e., requires least latency)
     +19 (calm tasks, i.e., sacrifice latency for throughput)

> 
> 
> 
> 2. Value(s):
> ==============
> ( Boolean/Ternary, Range of values, profile tagging )
> 
> - Recent discussion plots the range of [-20, 19] to be the most agreed upon.
> 
> 1. Range:
> - [-20, 19]:
>     Which has similarities with the niceness concept and gives a minimal
>     continuous range. This can be on hand for things like scaling the
>     vruntime normalization [3]
> 
> 2. Profile tagging:
> - Can be used just like a flag attribute
>   e.g., Background, foreground, latency-sensible, reduce-idle-search, etc.
> 
> 3. Binary:
> - 0 for: Latency sensitive/sensible/in-tolerant/hungry...
> - 1 for Latency insensitive/insensible/tolerant/nice-to-others/...
> 
>   Ternary:
> -  0: no effect
> - -1: require least latency
> - +1: no restrictions in terms of lower/higher latency
> 
> [...]

I guess the latency-tolerant name seems to be more relevant and the range
[-20,19] will suit all the discussed usecases.
( ( ( tomatoes target here ) ) )

If this seems alright then I am thinking of writing out some patches to
introduce p->latency-tolerant with the use of "sched_setattr" syscall.


Thanks,
Parth


      parent reply	other threads:[~2019-10-24  8:19 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-09-30 10:43 [Discussion v2] Usecases for the per-task latency-nice attribute Parth Shah
2019-10-02 16:11 ` David Laight
2019-10-07  8:46   ` Parth Shah
2019-10-07 17:06   ` Tim Chen
2019-10-24  8:19 ` Parth Shah [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=376e1a37-8f7d-3cbc-9d9d-dd349afb9b3b@linux.ibm.com \
    --to=parth@linux.ibm.com \
    --cc=David.Laight@ACULAB.COM \
    --cc=daniel.lezcano@linaro.org \
    --cc=dhaval.giani@oracle.com \
    --cc=dietmar.eggemann@arm.com \
    --cc=dsmythies@telus.net \
    --cc=ggherdovich@suse.cz \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=mingo@redhat.com \
    --cc=morten.rasmussen@arm.com \
    --cc=patrick.bellasi@matbug.net \
    --cc=pavel@ucw.cz \
    --cc=peterz@infradead.org \
    --cc=pjt@google.com \
    --cc=qais.yousef@arm.com \
    --cc=qperret@qperret.net \
    --cc=rafael.j.wysocki@intel.com \
    --cc=tim.c.chen@linux.intel.com \
    --cc=tj@kernel.org \
    --cc=valentin.schneider@arm.com \
    --cc=vincent.guittot@linaro.org \
    --cc=viresh.kumar@linaro.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;
as well as URLs for NNTP newsgroup(s).