Re: [Resend PATCH v8 0/4] sched: Rewrite runnable load and utilization average tracking

From: Boqun Feng
Date: Wed Jun 17 2015 - 09:06:27 EST


Hi Yuyang,

On Wed, Jun 17, 2015 at 11:11:01AM +0800, Yuyang Du wrote:
> Hi,
>
> The sched_debug is informative, lets first give it some analysis.
>
> The workload is 12 CPU hogging tasks (always runnable) and 1 dbench
> task doing fs ops (70% runnable) running at the same time.
>
> Actually, these 13 tasks are in a task group /autogroup-9617, which
> has weight 1024.
>
> So the 13 tasks at most can contribute to an average of 79 (=1024/13)
>

[snip]

> So the problem is:
>
> 1) The tasks in the workload have too small weight (only 79), because
> they share a task group.
>
> 2) Probably some "high" weight task even runnable a small time
> contribute "big" to cfs_rq's load_avg.

Thank you for your analysis.

Some updates:

I created a task group /g and set /g/cpu.shares to 13312 (1024 * 13),
and then ran `stress --cpu 12` and `dbench 1` simultaneously in that
group. The situation is much better, only one CPU is not fully loaded,
and its utilization rate stays around 85%.

Regards,
Boqun

Attachment: signature.asc
Description: PGP signature