Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

s390/percpu: Get rid of ARCH_MODULE_NEEDS_WEAK_PER_CPU

Since the rework of the kernel virtual address space [1] the module area
and the kernel image are within the same 4GB area. Therefore there is no
need for the weak per cpu workaround for modules anymore. Remove it.

[1] commit c98d2ecae08f ("s390/mm: Uncouple physical vs virtual address spaces")

Acked-by: Alexander Gordeev <agordeev@linux.ibm.com>
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>

+1 -10
-1
arch/s390/Kconfig
··· 140 140 select ARCH_INLINE_WRITE_UNLOCK_IRQ 141 141 select ARCH_INLINE_WRITE_UNLOCK_IRQRESTORE 142 142 select ARCH_MHP_MEMMAP_ON_MEMORY_ENABLE 143 - select ARCH_MODULE_NEEDS_WEAK_PER_CPU 144 143 select ARCH_STACKWALK 145 144 select ARCH_SUPPORTS_ATOMIC_RMW 146 145 select ARCH_SUPPORTS_DEBUG_PAGEALLOC
-8
arch/s390/include/asm/percpu.h
··· 13 13 #define __my_cpu_offset get_lowcore()->percpu_offset 14 14 15 15 /* 16 - * For 64 bit module code, the module may be more than 4G above the 17 - * per cpu area, use weak definitions to force the compiler to 18 - * generate external references. 19 - * Therefore, we have enabled CONFIG_ARCH_MODULE_NEEDS_WEAK_PER_CPU 20 - * in the Kconfig. 21 - */ 22 - 23 - /* 24 16 * We use a compare-and-swap loop since that uses less cpu cycles than 25 17 * disabling and enabling interrupts like the generic variant would do. 26 18 */
+1 -1
include/linux/percpu-defs.h
··· 52 52 __section(".discard") __attribute__((unused)) 53 53 54 54 /* 55 - * s390 and alpha modules require percpu variables to be defined as 55 + * alpha modules require percpu variables to be defined as 56 56 * weak to force the compiler to generate GOT based external 57 57 * references for them. This is necessary because percpu sections 58 58 * will be located outside of the usually addressable area.