• Benjamin Herrenschmidt's avatar
    [POWERPC] Fix spu SLB invalidations · 94b2a439
    Benjamin Herrenschmidt authored
    The SPU code doesn't properly invalidate SPUs SLBs when necessary,
    for example when changing a segment size from the hugetlbfs code. In
    addition, it saves and restores the SLB content on context switches
    which makes it harder to properly handle those invalidations.
    
    This patch removes the saving & restoring for now, something more
    efficient might be found later on. It also adds a spu_flush_all_slbs(mm)
    that can be used by the core mm code to flush the SLBs of all SPEs that
    are running a given mm at the time of the flush.
    
    In order to do that, it adds a spinlock to the list of all SPEs and move
    some bits & pieces from spufs to spu_base.c
    Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
    94b2a439
switch.c 62.7 KB