[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1234271177.23438.24.camel@twins>
Date: Tue, 10 Feb 2009 14:06:17 +0100
From: Peter Zijlstra <peterz@...radead.org>
To: Rolando Martins <rolando.martins@...il.com>
Cc: linux-kernel@...r.kernel.org
Subject: Re: cgroup, RT reservation per core(s)?
On Mon, 2009-02-09 at 20:04 +0000, Rolando Martins wrote:
> I should have elaborated this more:
>
> root
> ----|----
> | |
> (0.5 mem) 0 1 (100% rt, 0.5 mem)
> ---------
> | | |
> 2 3 4 (33% rt for each group, 33% mem
> per group(0.165))
> Rol
Right, i think this can be done.
You would indeed need cpusets and sched-cgroups.
Split the machine in 2 using cpusets.
___R___
/ \
A B
Where R is the root cpuset, and A and B are the siblings.
Assign A one half the cpus, and B the other half.
Disable load-balancing on R.
Then using sched cgroups create the hierarchy
____1____
/ | \
2 3 4
Where 1 can be the root group if you like.
Assign 1 a utilization limit of 100%, and 2,3 and 4 a utilization limit
of 33% each.
Then place the tasks that get 100% cputime on your 2 cpus in cpuset A
and sched group 1.
Place your other tasks in B,{2-4} respectively.
The reason this works is that bandwidth distribution is sched domain
wide, and by disabling load-balancing on R, you split the schedule
domain.
I've never actually tried anything like this, let me know if it
works ;-)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists