[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20070712091529.2b914ece@gondolin.boeblingen.de.ibm.com>
Date: Thu, 12 Jul 2007 09:15:29 +0200
From: Cornelia Huck <cornelia.huck@...ibm.com>
To: Stefan Richter <stefanr@...6.in-berlin.de>
Cc: Yinghai.Lu@....COM, Greg KH <greg@...ah.com>,
Andrew Morton <akpm@...ux-foundation.org>,
Andi Kleen <ak@...e.de>, rientjes@...gle.com,
Christoph Lameter <clameter@....com>,
Christoph Hellwig <hch@...radead.org>,
David Miller <davem@...emloft.net>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
netdev@...r.kernel.org
Subject: Re: [PATCH 1/5] try parent numa_node at first before using default
On Thu, 12 Jul 2007 07:47:52 +0200,
Stefan Richter <stefanr@...6.in-berlin.de> wrote:
> The patch does nothing for all subsystems which do
>
> device_initialize(&dev);
> dev->parent = pd;
> device_add(&dev);
>
> Let's avoid to add infrastructure which does nothing, or only does
> something by accident.
I agree. dev->parent now is only expected to be set in device_add(),
not in device_initialize(), so the sequence above is perfectly fine.
(Why should you need it, anyway? parent information becomes necessary
only when something is added to the tree.)
>
> The alternatives are:
>
> - Change all subsystems to set dev->parent before device_initialize().
> *Document* that the device_initialize() API has this requirement.
> This is counter-intuitive, amounts to some work across the kernel,
> and could be gotten wrong again in future code because it's a
> counter-intuitive API.
Yes. We shouldn't do that.
>
> - Move your code from device_initialize() to device_add(). One minor
> drawback is that node-specific allocations based on the device's
> numa_node would not be optimized before device_add(), but there is
> probably no need for this. Driver probes come after device_add().
I'd expect most allocations to be done when probing, so this shouldn't
hurt much.
>
> - Let subsystems explicitly call set_dev_node() on their own.
>
>
> Also keep in mind that either device_move() should update the numa_node,
> or the subsystems which call device_move() should explicitly update it
> on their own. (Unless they know that their devices will always stay at
> the same NUMA node even when switching parents.)
I'd trust the subsystems to know best whether something regarding NUMA
changed.
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists