Messages in this thread | | | Date | Thu, 12 Jul 2007 07:47:52 +0200 | From | Stefan Richter <> | Subject | Re: [PATCH 1/5] try parent numa_node at first before using default |
| |
Yinghai Lu wrote: > Stefan Richter wrote: >> Yinghai Lu wrote: >>> original default is -1, and this patch just try to use parent's node as >>> default. >> >> But in many cases, the patch does so at a time when the parent is not >> yet known. > then it will use -1.
Yes.
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.
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.
- 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().
- 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.) -- Stefan Richter -=====-=-=== -=== -==-- http://arcgraph.de/sr/ - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |