From: Eric Dumazet <dada1@cosmosbay.com>
To: Samuel Thibault <samuel.thibault@ens-lyon.org>
Cc: linux-kernel@vger.kernel.org, lse-tech@lists.sourceforge.net
Subject: Re: idle task's task_t allocation on NUMA machines
Date: Thu, 18 Aug 2005 17:18:55 +0200 [thread overview]
Message-ID: <4304A6DF.6040703@cosmosbay.com> (raw)
In-Reply-To: <20050818140829.GB8123@implementation.labri.fr>
Samuel Thibault a écrit :
> Hi,
>
> Currently, the task_t structure of the idle task is always allocated
> on CPU0, hence on node 0: while booting, for each CPU, CPU 0 calls
> fork_idle(), hence copy_process(), hence dup_task_struct(), hence
> alloc_task_struct(), hence kmem_cache_alloc(), which picks up memory
> from the allocation cache of the current CPU, i.e. on node 0.
>
> This is a bad idea: every write needs be written back to node 0 at some
> time, so that node 0 can get a small bit busy especially when other
> nodes are idle.
>
> A solution would be to add to copy_process(), dup_task_struct(),
> alloc_task_struct() and kmem_cache_alloc() the node number on which
> allocation should be performed. This might also be useful if performing
> node load balancing at fork(): one could then allocate task_t directly
> on the new node. It might also be useful when allocating data for
> another node.
>
> Regards,
> Samuel
An idle task should block itself, hence not touching its task_t structure very much.
I believe IRQ stacks are also allocated on node 0, that seems more serious.
Eric
next prev parent reply other threads:[~2005-08-18 15:22 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-08-18 14:08 idle task's task_t allocation on NUMA machines Samuel Thibault
2005-08-18 15:18 ` Eric Dumazet [this message]
2005-08-18 15:39 ` Samuel Thibault
2005-08-18 17:20 ` Christoph Lameter
2005-08-18 19:49 ` Samuel Thibault
2005-08-18 20:02 ` Samuel Thibault
2005-08-18 21:28 ` [Lse-tech] " Martin J. Bligh
2005-08-18 21:32 ` Andi Kleen
2005-08-18 18:27 ` Robin Holt
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=4304A6DF.6040703@cosmosbay.com \
--to=dada1@cosmosbay.com \
--cc=linux-kernel@vger.kernel.org \
--cc=lse-tech@lists.sourceforge.net \
--cc=samuel.thibault@ens-lyon.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.