# git rev-parse -q --verify de8a34242c88473ee615f66a7ded095f094e708e^{commit} # git fetch -q -n -f git://gitlab.ozlabs.ibm.com/mirror/linux-npiggin.git kerkins # git rev-parse -q --verify de8a34242c88473ee615f66a7ded095f094e708e^{commit} de8a34242c88473ee615f66a7ded095f094e708e # git checkout -q -f -B kisskb de8a34242c88473ee615f66a7ded095f094e708e # git clean -qxdf # < git log -1 # commit de8a34242c88473ee615f66a7ded095f094e708e # Author: Nicholas Piggin # Date: Thu Jul 9 17:07:59 2020 +1000 # # lazy tlb: shoot lazies, a non-refcounting lazy tlb option # # On big systems, the mm refcount can become highly contented when doing # a lot of context switching with threaded applications (particularly # switching between the idle thread and an application thread). # # Abandoning lazy tlb slows switching down quite a bit in the important # user->idle->user cases, so so instead implement a non-refcounted scheme # that causes __mmdrop() to IPI all CPUs in the mm_cpumask and shoot down # any remaining lazy ones. # # On a 16-socket 192-core POWER8 system, a context switching benchmark # with as many software threads as CPUs (so each switch will go in and # out of idle), upstream can achieve a rate of about 1 million context # switches per second. After this patch it goes up to 118 million. # # Signed-off-by: Nicholas Piggin # < /opt/cross/kisskb/korg/gcc-11.1.0-nolibc/aarch64-linux/bin/aarch64-linux-gcc --version # < /opt/cross/kisskb/korg/gcc-11.1.0-nolibc/aarch64-linux/bin/aarch64-linux-ld --version # < git log --format=%s --max-count=1 de8a34242c88473ee615f66a7ded095f094e708e # < make -s -j 120 ARCH=arm64 O=/kisskb/build/npiggin_arm64-defconfig_arm64-gcc11 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-11.1.0-nolibc/aarch64-linux/bin/aarch64-linux- defconfig # < make -s -j 120 ARCH=arm64 O=/kisskb/build/npiggin_arm64-defconfig_arm64-gcc11 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-11.1.0-nolibc/aarch64-linux/bin/aarch64-linux- help # make -s -j 120 ARCH=arm64 O=/kisskb/build/npiggin_arm64-defconfig_arm64-gcc11 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-11.1.0-nolibc/aarch64-linux/bin/aarch64-linux- olddefconfig # make -s -j 120 ARCH=arm64 O=/kisskb/build/npiggin_arm64-defconfig_arm64-gcc11 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-11.1.0-nolibc/aarch64-linux/bin/aarch64-linux- /kisskb/src/arch/arm64/boot/dts/broadcom/stingray/stingray-usb.dtsi:7.3-14: Warning (dma_ranges_format): /usb:dma-ranges: empty "dma-ranges" property but its #address-cells (1) differs from / (2) /kisskb/src/arch/arm64/boot/dts/broadcom/stingray/stingray-usb.dtsi:7.3-14: Warning (dma_ranges_format): /usb:dma-ranges: empty "dma-ranges" property but its #size-cells (1) differs from / (2) /kisskb/src/arch/arm64/boot/dts/broadcom/stingray/stingray-usb.dtsi:7.3-14: Warning (dma_ranges_format): /usb:dma-ranges: empty "dma-ranges" property but its #address-cells (1) differs from / (2) /kisskb/src/arch/arm64/boot/dts/broadcom/stingray/stingray-usb.dtsi:7.3-14: Warning (dma_ranges_format): /usb:dma-ranges: empty "dma-ranges" property but its #size-cells (1) differs from / (2) /kisskb/src/arch/arm64/boot/dts/broadcom/stingray/stingray-usb.dtsi:7.3-14: Warning (dma_ranges_format): /usb:dma-ranges: empty "dma-ranges" property but its #address-cells (1) differs from / (2) /kisskb/src/arch/arm64/boot/dts/broadcom/stingray/stingray-usb.dtsi:7.3-14: Warning (dma_ranges_format): /usb:dma-ranges: empty "dma-ranges" property but its #size-cells (1) differs from / (2) /kisskb/src/arch/arm64/boot/dts/qcom/ipq6018.dtsi:127.3-14: Warning (dma_ranges_format): /soc:dma-ranges: empty "dma-ranges" property but its #address-cells (1) differs from / (2) /kisskb/src/arch/arm64/boot/dts/qcom/ipq6018.dtsi:127.3-14: Warning (dma_ranges_format): /soc:dma-ranges: empty "dma-ranges" property but its #size-cells (1) differs from / (2) /kisskb/src/net/bluetooth/ecdh_helper.c:122:55: warning: argument 2 of type 'const u8[32]' {aka 'const unsigned char[32]'} with mismatched bound [-Warray-parameter=] 122 | int set_ecdh_privkey(struct crypto_kpp *tfm, const u8 private_key[32]) | ~~~~~~~~~^~~~~~~~~~~~~~~ In file included from /kisskb/src/net/bluetooth/ecdh_helper.c:23: /kisskb/src/net/bluetooth/ecdh_helper.h:28:56: note: previously declared as 'const u8 *' {aka 'const unsigned char *'} 28 | int set_ecdh_privkey(struct crypto_kpp *tfm, const u8 *private_key); | ~~~~~~~~~~^~~~~~~~~~~ /opt/cross/kisskb/korg/gcc-11.1.0-nolibc/aarch64-linux/bin/aarch64-linux-ld: warning: -z norelro ignored /opt/cross/kisskb/korg/gcc-11.1.0-nolibc/aarch64-linux/bin/aarch64-linux-ld: warning: -z norelro ignored /opt/cross/kisskb/korg/gcc-11.1.0-nolibc/aarch64-linux/bin/aarch64-linux-ld: warning: -z norelro ignored Completed OK # rm -rf /kisskb/build/npiggin_arm64-defconfig_arm64-gcc11 # Build took: 0:03:54.182430