• Philippe Gerum's avatar
    stop_machine: ipipe: ensure atomic stop-context operations · 2b20d332
    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.
    2b20d332