• Gerd Hoffmann's avatar
    [PATCH] x86: SMP alternatives · 9a0b5817
    Gerd Hoffmann authored
    Implement SMP alternatives, i.e.  switching at runtime between different
    code versions for UP and SMP.  The code can patch both SMP->UP and UP->SMP.
    The UP->SMP case is useful for CPU hotplug.
    
    With CONFIG_CPU_HOTPLUG enabled the code switches to UP at boot time and
    when the number of CPUs goes down to 1, and switches to SMP when the number
    of CPUs goes up to 2.
    
    Without CONFIG_CPU_HOTPLUG or on non-SMP-capable systems the code is
    patched once at boot time (if needed) and the tables are released
    afterwards.
    
    The changes in detail:
    
      * The current alternatives bits are moved to a separate file,
        the SMP alternatives code is added there.
    
      * The patch adds some new elf sections to the kernel:
        .smp_altinstructions
    	like .altinstructions, also contains a list
    	of alt_instr structs.
        .smp_altinstr_replacement
    	like .altinstr_replacement, but also has some space to
    	save original instruction before replaving it.
        .smp_locks
    	list of pointers to lock prefixes which ca...
    9a0b5817
mutex.h 4.08 KB