• Paul Burton's avatar
    MIPS: Initialise MAARs on secondary CPUs · e060f6ed
    Paul Burton authored
    MAARs should be initialised on each CPU (or rather, core) in the system
    in order to achieve consistent behaviour & performance. Previously they
    have only been initialised on the boot CPU which leads to performance
    problems if tasks are later scheduled on a secondary CPU, particularly
    if those tasks make use of unaligned vector accesses where some CPUs
    don't handle any cases in hardware for non-speculative memory regions.
    Fix this by recording the MAAR configuration from the boot CPU and
    applying it to secondary CPUs as part of their bringup.
    Reported-by: default avatarDoug Gilmore <doug.gilmore@imgtec.com>
    Signed-off-by: default avatarPaul Burton <paul.burton@imgtec.com>
    Cc: linux-mips@linux-mips.org
    Cc: Rusty Russell <rusty@rustcorp.com.au>
    Cc: Steven J. Hill <Steven.Hill@imgtec.com>
    Cc: Andrew Bresticker <abrestic@chromium.org>
    Cc: Bjorn Helgaas <bhelgaas@google.com>
    Cc: David Hildenbrand <dahi@linux.vnet.ibm.com>
    Cc: linux-kernel@vger.kernel.org
    Cc: Aaro Koskinen <aaro.koskinen@iki.fi>
    Cc: James Hogan <james.hogan@imgtec.com>
    Cc: Ingo Molnar <mingo@kernel.org>
    Cc: Markos Chandras <markos.chandras@imgtec.com>
    Cc: Hemmo Nieminen <hemmo.nieminen@iki.fi>
    Cc: Alex Smith <alex.smith@imgtec.com>
    Cc: Peter Zijlstra (Intel) <peterz@infradead.org>
    Patchwork: https://patchwork.linux-mips.org/patch/11239/Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
    e060f6ed
maar.h 4.03 KB