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: > > > > - 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. > > > > - 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 -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html