Forum | Documentation | Website | Blog

Skip to content
Snippets Groups Projects
  • Alexander Duyck's avatar
    async: Add support for queueing on specific NUMA node · 6be9238e
    Alexander Duyck authored
    Introduce four new variants of the async_schedule_ functions that allow
    scheduling on a specific NUMA node.
    
    The first two functions are async_schedule_near and
    async_schedule_near_domain end up mapping to async_schedule and
    async_schedule_domain, but provide NUMA node specific functionality. They
    replace the original functions which were moved to inline function
    definitions that call the new functions while passing NUMA_NO_NODE.
    
    The second two functions are async_schedule_dev and
    async_schedule_dev_domain which provide NUMA specific functionality when
    passing a device as the data member and that device has a NUMA node other
    than NUMA_NO_NODE.
    
    The main motivation behind this is to address the need to be able to
    schedule device specific init work on specific NUMA nodes in order to
    improve performance of memory initialization.
    
    I have seen a significant improvement in initialziation time for persistent
    memory as a result of this approach. In the case o...
    6be9238e