Re: [PATCH -mm 2/2] cgroup: use multibuf for tasks file

Lai Jiangshan
2008-09-16T03:32:54Z

Li Zefan wrote:
> Lai Jiangshan wrote:
>> Paul Menage wrote:
>>> On Fri, Sep 12, 2008 at 4:55 AM, Lai Jiangshan <laijs@cn.fujitsu.com> wrote:
>>>> when we open a really large cgroup for read, we may failed
>>>> for kmalloc() is not reliable for allocate a big buffer.
>>> This still depends on an answer to whether using plain vmalloc is too
>>> much overhead.
>>>
>>> Balbir pointed out to me that most cgroups are likely to be pretty
>>> small - so the solution of just doing a kmalloc() for 8K or less, and
>>> a vmalloc() for more than 8K (which is >2000 threads) will avoid the
>>> vmalloc overhead in almost all cases; the question is whether
>>> eliminating the remaining overhead is worth the extra complexity.
>>>
>> I think open cgroup.tasks to read is not a critical path.
>> so using plain vmalloc(even more overhead functions) is worth.
>>
>
> This patch does not only add runtime overhead, but also make code much more
> complex, so the code is harder to read and harder to maintain, and object size
> is increased, which means increased memory footprint.
>
> And is there any reason not using plain vmalloc? Don't bloat the kernel without
> good reasons IMO...
>

I said that vmalloc is worth.
vmalloc was the fist choice of my opinion. ^_^

>
>