Le 06/11/2012 23:55, Guy Streeter a écrit : > On 11/06/2012 03:53 PM, Brice Goglin wrote: >> Hello Guy, >> >> I don't think OS devices ever had a cpuset. All objects that are not >> things where you can bind processes usually have NULL cpusets. So when >> you have a PCI or OS device, you walk up the obj->parent pointer until >> you find an object with a non-NULL cpuset. That's the affinity you're >> looking for. >> >> You can use hwloc_get_non_io_ancestor_obj() (in hwloc/helper.h) to find >> the first parent with non-NULL cpuset. >> >> Brice >> > I didn't mean to imply that they had gone away. My question is how do I > specify a binding like "not on the same CPU that is handling the Ethernet > interrupts"? >
Assuming you have the OS device for this interrupt, find the parent object whose cpuset field isn't NULL, reverse this cpuset with hwloc_bitmap_not() and bind to some object that is inside the resulting cpuset. Brice