Re: [PATCH] Shrinks sizeof(files_struct) and better layout

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



David Lang a écrit :
On Wed, 4 Jan 2006, Eric Dumazet wrote:
Andi Kleen a écrit :
Eric Dumazet <[email protected]> writes:
1) Reduces the size of (struct fdtable) to exactly 64 bytes on 32bits
platforms, lowering kmalloc() allocated space by 50%.

It should be probably a kmem_cache_alloc() instead of a kmalloc
in the first place anyways. This would reduce fragmentation.

Well in theory yes, if you really expect thousand of tasks running...
But for most machines, number of concurrent tasks is < 200, and using a special cache for this is not a win.

is it enough of a win on machines with thousands of concurrent tasks that it would be a useful config option?

Well..., not if NR_CPUS is big too. (We just saw a thread on lkml about raising NR_CPUS to 1024 on ia64).

On a 1024 CPUS machine, a kmem cache could use at least 1 MB for its internal structures, plus 1024 pages (PAGE_SIZE) for holding the caches (one cache per CPU), if you assume at least one task was created on behalf each cpu.

if PAGE_SIZE is 64KB, you end up with 65 MB of ram for the cache. Even with 100.000 tasks running on the machine, its not a win.

slab caches are very complex machinery that consume O(NR_CPUS) ram.

Eric
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux