1. Aug 18, 2023
  2. Aug 16, 2023
    • Pavel Kozlov's avatar
      ARC: atomics: Add compiler barrier to atomic operations... · 42f51fb2
      Pavel Kozlov authored
      ... to avoid unwanted gcc optimizations
      
      SMP kernels fail to boot with commit 596ff4a0
      ("cpumask: re-introduce constant-sized cpumask optimizations").
      
      |
      | percpu: BUG: failure at mm/percpu.c:2981/pcpu_build_alloc_info()!
      |
      
      The write operation performed by the SCOND instruction in the atomic
      inline asm code is not properly passed to the compiler. The compiler
      cannot correctly optimize a nested loop that runs through the cpumask
      in the pcpu_build_alloc_info() function.
      
      Fix this by add a compiler barrier (memory clobber in inline asm).
      
      Apparently atomic ops used to have memory clobber implicitly via
      surrounding smp_mb(). However commit b64be683
      ("ARC: atomics: implement relaxed variants") removed the smp_mb() for
      the relaxed variants, but failed to add the explicit compiler barrier.
      
      Link: https://github.com/foss-for-synopsys-dwc-arc-processors/linux/issues/135
      Cc: <stable@vger.kernel.org> # v6.3+
      Fixes: b64be683
      
       ("ARC: atomics: implement relaxed variants")
      Signed-off-by: default avatarPavel Kozlov <pavel.kozlov@synopsys.com>
      Signed-off-by: default avatarVineet Gupta <vgupta@kernel.org>
      [vgupta: tweaked the changelog and added Fixes tag]
      42f51fb2
  3. Aug 14, 2023
  4. Aug 13, 2023
  5. Aug 12, 2023