lkml.org 
[lkml]   [2010]   [Sep]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [RFC patch 1/2] sched: dynamically adapt granularity with nr_running
From
Date
On Sat, 2010-09-11 at 13:37 -0400, Mathieu Desnoyers wrote:

Its not at all clear what or why you're doing what exactly.

What we used to have is:

period -- time in which each task gets scheduled once

This period was adaptive in that we had an ideal period
(sysctl_sched_latency), but since keeping to this means that each task
gets latency/nr_running time. This is undesired in that it means busy
systems will over-schedule due to tiny slices. Hence we also had a
minimum slice (sysctl_sched_min_granularity).

This yields:

period := max(sched_latency, nr_running * sched_min_granularity)

[ where we introduce the intermediate:
nr_latency := sched_latency / sched_min_granularity
in order to avoid the multiplication where possible ]

Now you introduce a separate preemption measure, sched_gran as:

sched_std_granularity; nr_running <= 8
sched_gran := {
max(sched_min_granularity, sched_latency / nr_running)
Which doesn't make any sense at all, because it will either be larger or
as large as the current sched_min_granularity.

And you break the above definition of period by replacing nr_latency by
8.

Not at all charmed, this look like random changes without conceptual
integrity.


\
 
 \ /
  Last update: 2010-09-11 21:01    [from the cache]
©2003-2011 Jasper Spaans