Re: [patch 0/2] cpusets, cpu_cgroup: disallow attaching kthreadd

From: Hiroyuki Kamezawa
Date: Sat Apr 07 2012 - 11:03:08 EST


2012年4月7日5:49 David Rientjes <rientjes@xxxxxxxxxx>:
> On Fri, 6 Apr 2012, Peter Zijlstra wrote:
>
>> Furthermore, the whole point of kthreadd's existence is so that we could
>> create kthreads without context. Placing it in a cgroup will ensure all
>> subsequently created kthreads do have context (including possible idle
>> threads). This seems like a particularly bad idea.
>>
>
> I don't see it as context if the only thing you're doing is accounting
> with memcg (for slab) or or cpu. We're simply collecting statistics for a
> set of threads (possibly all kthreads, including kthreadd) and the best
> way to do this is leveraging the existing functionality of cgroups to
> setup the threads we want to collect for and the memcg kmem accounting is
> particularly a good indicator of kernel vs userjob-triggered slab
> allocation.

I'm sorry if I didn't read e-mails while a trip....let me understand...

- Tejun at el, tries to disallow to move kthreadd into cgroups other than root.
- You wants to account kthreadd's activity under memg at el.

Then, 2 question from me is....
1. If this patch only affects kthreadd, you can move other
kthread. Is this correct ?

I assume yes, if the created kthread itself has characteristics for
working for some specific users(as vhost) it can be moved to correct
cgroup by hand or by hook(vhost does this.)....do you need to move
kthreadd rather than each kthreads ?

2. You just want to see all resources usage. So, if memcg
can show correct accounting in root cgroup, is it enough ?

IIRC, with current tcp mem accounting, root cgroup shows the all
system usage. Oh, it doesn't seem to be what you want. I think this
can be fixed. Could you clarify your request against memcg ? Anyway,
kmem/slab accounting isn't implemented yet.

Thanks,
-Kame
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/