Messages in this thread | | | Date | Wed, 10 Nov 2004 16:05:43 +1100 (EST) | From | Mark Goodwin <> | Subject | Re: Externalize SLIT table |
| |
On Tue, 9 Nov 2004, Matthew Dobson wrote: > On Tue, 2004-11-09 at 12:34, Mark Goodwin wrote: >> Once again however, it depends on the definition of distance. For nodes, >> we've established it's the ACPI SLIT (relative distance to memory). For >> cpus, should it be distance to memory? Distance to cache? Registers? Or >> what? >> > That's the real issue. We need to agree upon a meaningful definition of > CPU-to-CPU "distance". As Jesse mentioned in a follow-up, we can all > agree on what Node-to-Node "distance" means, but there doesn't appear to > be much consensus on what CPU "distance" means.
How about we define cpu-distance to be "relative distance to the lowest level cache on another CPU". On a system that has nodes with multiple sockets (each supporting multiple cores or HT "CPUs" sharing some level of cache), when the scheduler needs to migrate a task it would first choose a CPU sharing the same cache, then a CPU on the same node, then an off-node CPU (i.e. falling back to node distance).
Of course, I have no idea if that's anything like an optimal or desirable task migration policy. Probably depends on cache-trashiness of the task being migrated.
-- Mark - 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/
| |