• Benjamin Herrenschmidt's avatar
    powerpc/book3e: More doorbell cleanups. Sample the PIR register · b9f1cd71
    Benjamin Herrenschmidt authored
    The doorbells use the content of the PIR register to match messages
    from other CPUs. This may or may not be the same as our linux CPU
    number, so using that as the "target" is no right.
    
    Instead, we sample the PIR register at boot on every processor
    and use that value subsequently when sending IPIs.
    
    We also use a per-cpu message mask rather than a global array which
    should limit cache line contention.
    
    Note: We could use the CPU number in the device-tree instead of
    the PIR register, as they are supposed to be equivalent. This
    might prove useful if doorbells are to be used to kick CPUs out
    of FW at boot time, thus before we can sample the PIR. This is
    however not the case now and using the PIR just works.
    Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
    b9f1cd71
smp.c 3.05 KB