• Philippe Gerum's avatar
    stop_machine: ipipe: ensure atomic stop-context operations · aed125e2
    Philippe Gerum authored
    stop_machine() guarantees that all online CPUs are spinning
    non-preemptible in a known code location before a subset of them may
    safely run a stop-context function. This service is typically useful
    for live patching the kernel code, or changing global memory mappings,
    so that no activity could run in parallel until the system has
    returned to a stable state after all stop-context operations have
    completed.
    
    When interrupt pipelining is enabled, we have to provide the same
    guarantee by restoring hard interrupt disabling where virtualizing the
    interrupt disable flag would defeat it.
    aed125e2
interrupt.h 21.7 KB