On Tue, Jul 21, 2009 at 9:03 AM, Dave Hansen<dave@xxxxxxxxxxxxxxxxxx> wrote: > > Once a structure goes over PAGE_SIZE*2, we see occasional > allocation failures. Some people have chosen to switch > over to things like vmalloc() that will let them keep > array-like access to such a large structures. But, > vmalloc() has plenty of downsides. > > Here's an alternative. I think it's what Andrew was > suggesting here: > > http://lkml.org/lkml/2009/7/2/518 Looks like a useful library abstraction. As far as using it for the cgroups tasks files, it would be possible, although I was leaning towards an approach that I expressed in the thread on Ben's patch to add the "procs" file: - make css_set and its various linked lists RCU-safe - make it possible for the cgroup iterator to pause/resume scanning by leaving a cursor at the relevant point in the css_set lists. Then we can avoid any memory allocations at all. The downside is that we lose the current sorted output for the tasks file; http://www.google.com/codesearch?q=cpuset+tasks suggests that current users of the tasks file don't expect it to be sorted (and in fact libcpuset explicitly sorts it after reading) so it's not clear if this would be a problem. I don't think I can see a plausible scenario where userspace would be relying on sorted output, but maybe others can. Paul _______________________________________________ Containers mailing list Containers@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/containers