Re: [PATCH repost] sched: export sched_set/getaffinity to modules
From: "Michael S. Tsirkin" <mst@redhat.com>
Date: 2010-07-01 12:56:55
Also in:
kvm, lkml
From: "Michael S. Tsirkin" <mst@redhat.com>
Date: 2010-07-01 12:56:55
Also in:
kvm, lkml
On Thu, Jul 01, 2010 at 02:32:43PM +0200, Peter Zijlstra wrote:
On Thu, 2010-07-01 at 14:55 +0300, Michael S. Tsirkin wrote:quoted
quoted
- why can't it set the kernel thread's affinity too?It can. However: the threads are started internally by the driver when qemu does an ioctl. What we want to do is give it a sensible default affinity. management tool can later tweak it if it wants to.So have that ioctl return the tid of that new fancy thread and then set its affinity, stuff it in cgroup, whatever you fancy.quoted
quoted
- what happens if someone changes the tasks' affinity?We would normally create a cgroup including all internal tasks, making it easy to find and change affinity for them all if necessary.And to stuff them in a cgroup you also need the tid, at which point it might as well set the affinity from userspace, right?
We also put it in a cgroup transparently. I think that it's actually important to do it on thread creation: if we don't, malicious userspace can create large amount of work exceeding the cgroup limits. And the same applies so the affinity, right? If the qemu process is limited to a set of CPUs, isn't it important to make the kernel thread that does work our behalf limited to the same set of CPUs? -- MST