All of lore.kernel.org
 help / color / mirror / Atom feed
From: Eric Dumazet <dada1@cosmosbay.com>
To: David Lang <dlang@digitalinsight.com>
Cc: Andi Kleen <ak@suse.de>, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] Shrinks sizeof(files_struct) and better layout
Date: Fri, 06 Jan 2006 07:35:47 +0100	[thread overview]
Message-ID: <43BE0FC3.7030602@cosmosbay.com> (raw)
In-Reply-To: <Pine.LNX.4.62.0601051900440.973@qynat.qvtvafvgr.pbz>

David Lang a écrit :
> On Wed, 4 Jan 2006, Eric Dumazet wrote:
>> Andi Kleen a écrit :
>>> Eric Dumazet <dada1@cosmosbay.com> 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

  reply	other threads:[~2006-01-06  6:35 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20051108185349.6e86cec3.akpm@osdl.org>
     [not found] ` <437226B1.4040901@cosmosbay.com>
     [not found]   ` <20051109220742.067c5f3a.akpm@osdl.org>
     [not found]     ` <4373698F.9010608@cosmosbay.com>
2006-01-04  0:06       ` [PATCH] Shrinks sizeof(files_struct) and better layout Eric Dumazet
2006-01-04  9:11         ` Jan Engelhardt
2006-01-04 10:12           ` Eric Dumazet
2006-01-04 10:28             ` Folkert van Heusden
2006-01-04 10:45         ` Andi Kleen
2006-01-04 11:13           ` Eric Dumazet
2006-01-04 11:15             ` Andi Kleen
2006-01-04 11:19               ` Eric Dumazet
2006-01-04 11:22                 ` Andi Kleen
2006-01-04 11:41                   ` Eric Dumazet
2006-01-04 11:58                     ` Andi Kleen
2006-01-06  3:01             ` David Lang
2006-01-06  6:35               ` Eric Dumazet [this message]
2006-01-06  7:26                 ` David Lang
2006-01-06  7:37                   ` Eric Dumazet
2006-01-06  8:28                     ` David Lang
2006-01-04 11:45         ` Andrew Morton
2006-01-04 13:14           ` Eric Dumazet
2006-01-04 23:24           ` [2.6 patch] Define BITS_PER_BYTE Adrian Bunk
2006-01-05  7:03             ` Jan Engelhardt
2006-01-05 15:18               ` Bryan O'Sullivan
2006-01-05 19:19                 ` H. Peter Anvin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=43BE0FC3.7030602@cosmosbay.com \
    --to=dada1@cosmosbay.com \
    --cc=ak@suse.de \
    --cc=dlang@digitalinsight.com \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.