lkml.org 
[lkml]   [2008]   [Aug]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] sched: properly account IRQ and RT load in SCHED_OTHER load balancing

* Peter Zijlstra <peterz@infradead.org> wrote:

> Subject: sched: properly account IRQ and RT load in SCHED_OTHER load balancing
> From: Peter Zijlstra <a.p.zijlstra@chello.nl>
> Date: Thu Aug 14 09:31:20 CEST 2008
>
> We used to account for RT tasks in SCHED_OTHER load-balancing by giving
> them some phantom weight.
>
> This is incorrect because there is no saying how much time a RT task
> will actually consume. Also, it doesn't take IRQ time into account.
>
> This patch tries to solve this issue by accounting the time spend on
> both Real-Time tasks and IRQ handling, and using that to
> proportionally inflate the SCHED_OTHER load.

applied it to tip/sched/devel for more testing.

this bit:

> +void sched_irq_enter(void)
> +{
> + if (!in_irq()) {
> + struct rq *rq = this_rq();
> +
> + update_rq_clock(rq);
> + rq->irq_stamp = rq->clock;
> + }

if we do this we might as well use the opportunity to do accurate IRQ
(and softirq) CPU time accounting. I.e. right now it only drives
balancing, but isnt fed into the wider IRQ/softirq /proc usage stats.

Ingo


\
 
 \ /
  Last update: 2008-08-21 12:51    [W:0.234 / U:0.328 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site