From 00a941a99aa397e75b465ec935229112dafe1762 Mon Sep 17 00:00:00 2001 From: Zoltan HERPAI Date: Thu, 31 Mar 2022 15:56:31 +0200 Subject: [PATCH 01/13] generic: add missing symbol for 5.15 Signed-off-by: Zoltan HERPAI --- target/linux/generic/config-5.15 | 1 + 1 file changed, 1 insertion(+) diff --git a/target/linux/generic/config-5.15 b/target/linux/generic/config-5.15 index 41dbeb8bf1..04c5d51409 100644 --- a/target/linux/generic/config-5.15 +++ b/target/linux/generic/config-5.15 @@ -2064,6 +2064,7 @@ CONFIG_FRAME_WARN=1024 # CONFIG_FSI is not set # CONFIG_FSL_EDMA is not set # CONFIG_FSL_ENETC is not set +# CONFIG_FSL_ENETC_IERB is not set # CONFIG_FSL_ENETC_MDIO is not set # CONFIG_FSL_ENETC_VF is not set # CONFIG_FSL_ERRATUM_A008585 is not set From 4ab9f9fb452d759bfd9b85466cc068bc51067bf2 Mon Sep 17 00:00:00 2001 From: Zoltan HERPAI Date: Thu, 31 Mar 2022 15:56:59 +0200 Subject: [PATCH 02/13] mxs: copy config from 5.10 to 5.15 Signed-off-by: Zoltan HERPAI --- target/linux/mxs/config-5.15 | 242 +++++++++++++++++++++++++++++++++++ 1 file changed, 242 insertions(+) create mode 100644 target/linux/mxs/config-5.15 diff --git a/target/linux/mxs/config-5.15 b/target/linux/mxs/config-5.15 new file mode 100644 index 0000000000..0935454ba3 --- /dev/null +++ b/target/linux/mxs/config-5.15 @@ -0,0 +1,242 @@ +CONFIG_ALIGNMENT_TRAP=y +CONFIG_ARCH_32BIT_OFF_T=y +CONFIG_ARCH_HIBERNATION_POSSIBLE=y +CONFIG_ARCH_KEEP_MEMBLOCK=y +CONFIG_ARCH_MIGHT_HAVE_PC_PARPORT=y +CONFIG_ARCH_MULTIPLATFORM=y +CONFIG_ARCH_MULTI_CPU_AUTO=y +# CONFIG_ARCH_MULTI_V4 is not set +# CONFIG_ARCH_MULTI_V4T is not set +CONFIG_ARCH_MULTI_V4_V5=y +CONFIG_ARCH_MULTI_V5=y +CONFIG_ARCH_MXS=y +CONFIG_ARCH_NR_GPIO=0 +CONFIG_ARCH_OPTIONAL_KERNEL_RWX=y +CONFIG_ARCH_SELECT_MEMORY_MODEL=y +CONFIG_ARCH_SPARSEMEM_ENABLE=y +CONFIG_ARCH_SUSPEND_POSSIBLE=y +CONFIG_ARM=y +CONFIG_ARM_AMBA=y +CONFIG_ARM_APPENDED_DTB=y +CONFIG_ARM_ATAG_DTB_COMPAT=y +CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_FROM_BOOTLOADER=y +CONFIG_ARM_CPU_SUSPEND=y +CONFIG_ARM_HAS_SG_CHAIN=y +CONFIG_ARM_L1_CACHE_SHIFT=5 +CONFIG_ARM_PATCH_PHYS_VIRT=y +CONFIG_ARM_THUMB=y +CONFIG_ARM_UNWIND=y +CONFIG_ATAGS=y +CONFIG_AUTO_ZRELADDR=y +CONFIG_BINFMT_FLAT_ARGVP_ENVP_ON_STACK=y +CONFIG_BLK_PM=y +CONFIG_CLKDEV_LOOKUP=y +CONFIG_CLKSRC_MMIO=y +CONFIG_CLONE_BACKWARDS=y +CONFIG_CMDLINE="console=ttyAMA0,115200 root=/dev/mmcblk0p2 rw rootwait" +CONFIG_CMDLINE_FROM_BOOTLOADER=y +CONFIG_COMMON_CLK=y +CONFIG_COMPAT_32BIT_TIME=y +CONFIG_COREDUMP=y +CONFIG_CPU_32v5=y +CONFIG_CPU_ABRT_EV5TJ=y +CONFIG_CPU_ARM926T=y +# CONFIG_CPU_CACHE_ROUND_ROBIN is not set +CONFIG_CPU_CACHE_VIVT=y +CONFIG_CPU_COPY_V4WB=y +CONFIG_CPU_CP15=y +CONFIG_CPU_CP15_MMU=y +# CONFIG_CPU_DCACHE_WRITETHROUGH is not set +CONFIG_CPU_IDLE=y +CONFIG_CPU_IDLE_GOV_LADDER=y +CONFIG_CPU_IDLE_GOV_MENU=y +CONFIG_CPU_PABRT_LEGACY=y +CONFIG_CPU_PM=y +CONFIG_CPU_THUMB_CAPABLE=y +CONFIG_CPU_TLB_V4WBI=y +CONFIG_CPU_USE_DOMAINS=y +CONFIG_CRC16=y +CONFIG_CROSS_MEMORY_ATTACH=y +CONFIG_CRYPTO_CBC=y +CONFIG_CRYPTO_CRC32C=y +CONFIG_CRYPTO_DEV_MXS_DCP=y +CONFIG_CRYPTO_ECB=y +CONFIG_CRYPTO_HW=y +CONFIG_CRYPTO_RNG2=y +CONFIG_DEBUG_ALIGN_RODATA=y +CONFIG_DEBUG_LL_INCLUDE="mach/debug-macro.S" +CONFIG_DMADEVICES=y +CONFIG_DMA_ENGINE=y +CONFIG_DMA_OF=y +CONFIG_DMA_OPS=y +CONFIG_DMA_REMAP=y +CONFIG_DTC=y +CONFIG_EDAC_ATOMIC_SCRUB=y +CONFIG_EDAC_SUPPORT=y +CONFIG_EXT4_FS=y +CONFIG_EXTCON=y +CONFIG_FEC=y +CONFIG_FIXED_PHY=y +CONFIG_FIX_EARLYCON_MEM=y +CONFIG_FS_IOMAP=y +CONFIG_FS_MBCACHE=y +CONFIG_FW_LOADER_PAGED_BUF=y +CONFIG_GENERIC_ALLOCATOR=y +CONFIG_GENERIC_ATOMIC64=y +CONFIG_GENERIC_BUG=y +CONFIG_GENERIC_CLOCKEVENTS=y +CONFIG_GENERIC_CPU_AUTOPROBE=y +CONFIG_GENERIC_EARLY_IOREMAP=y +CONFIG_GENERIC_IDLE_POLL_SETUP=y +CONFIG_GENERIC_IRQ_CHIP=y +CONFIG_GENERIC_IRQ_MULTI_HANDLER=y +CONFIG_GENERIC_IRQ_SHOW=y +CONFIG_GENERIC_IRQ_SHOW_LEVEL=y +CONFIG_GENERIC_PCI_IOMAP=y +CONFIG_GENERIC_SCHED_CLOCK=y +CONFIG_GENERIC_SMP_IDLE_THREAD=y +CONFIG_GENERIC_STRNCPY_FROM_USER=y +CONFIG_GENERIC_STRNLEN_USER=y +# CONFIG_GIANFAR is not set +CONFIG_GLOB=y +CONFIG_GPIOLIB=y +CONFIG_GPIO_GENERIC=y +CONFIG_GPIO_GENERIC_PLATFORM=y +CONFIG_GPIO_MXS=y +CONFIG_HANDLE_DOMAIN_IRQ=y +CONFIG_HARDIRQS_SW_RESEND=y +CONFIG_HAS_DMA=y +CONFIG_HAS_IOMEM=y +CONFIG_HAS_IOPORT_MAP=y +CONFIG_HZ_FIXED=0 +CONFIG_HZ_PERIODIC=y +CONFIG_I2C=y +CONFIG_I2C_ALGOBIT=y +CONFIG_I2C_ALGOPCA=y +CONFIG_I2C_ALGOPCF=y +CONFIG_I2C_BOARDINFO=y +CONFIG_I2C_CHARDEV=y +CONFIG_I2C_COMPAT=y +CONFIG_I2C_MUX=y +CONFIG_I2C_MUX_PINCTRL=y +CONFIG_I2C_MXS=y +CONFIG_IIO=y +CONFIG_IIO_BUFFER=y +CONFIG_IIO_KFIFO_BUF=y +CONFIG_IIO_SYSFS_TRIGGER=y +CONFIG_IIO_TRIGGER=y +# CONFIG_IIO_TRIGGERED_BUFFER is not set +CONFIG_INITRAMFS_SOURCE="" +CONFIG_INPUT=y +CONFIG_IRQCHIP=y +CONFIG_IRQ_DOMAIN=y +CONFIG_IRQ_FORCED_THREADING=y +CONFIG_IRQ_MXS=y +CONFIG_IRQ_WORK=y +# CONFIG_ISDN is not set +CONFIG_JBD2=y +CONFIG_LIBFDT=y +CONFIG_LOCK_DEBUGGING_SUPPORT=y +CONFIG_MDIO_BUS=y +CONFIG_MDIO_DEVICE=y +CONFIG_MDIO_DEVRES=y +CONFIG_MEMFD_CREATE=y +CONFIG_MFD_CORE=y +CONFIG_MFD_MXS_LRADC=y +CONFIG_MIGRATION=y +CONFIG_MMC=y +CONFIG_MMC_BLOCK=y +CONFIG_MMC_MXS=y +CONFIG_MODULES_USE_ELF_REL=y +CONFIG_MXS_DMA=y +# CONFIG_MXS_LRADC_ADC is not set +CONFIG_MXS_TIMER=y +CONFIG_NEED_DMA_MAP_STATE=y +CONFIG_NEED_KUSER_HELPERS=y +CONFIG_NEED_PER_CPU_KM=y +CONFIG_NET_PTP_CLASSIFY=y +CONFIG_NLS=y +CONFIG_NVMEM=y +CONFIG_NVMEM_MXS_OCOTP=y +CONFIG_OF=y +CONFIG_OF_ADDRESS=y +CONFIG_OF_EARLY_FLATTREE=y +CONFIG_OF_FLATTREE=y +CONFIG_OF_GPIO=y +CONFIG_OF_IRQ=y +CONFIG_OF_KOBJ=y +CONFIG_OF_MDIO=y +CONFIG_OF_NET=y +CONFIG_OLD_SIGACTION=y +CONFIG_OLD_SIGSUSPEND3=y +CONFIG_PAGE_OFFSET=0xC0000000 +CONFIG_PERF_USE_VMALLOC=y +CONFIG_PGTABLE_LEVELS=2 +CONFIG_PHYLIB=y +CONFIG_PINCTRL=y +CONFIG_PINCTRL_IMX23=y +CONFIG_PINCTRL_IMX28=y +CONFIG_PINCTRL_MXS=y +# CONFIG_PINCTRL_SINGLE is not set +CONFIG_PM=y +CONFIG_PM_CLK=y +CONFIG_POWER_SUPPLY=y +CONFIG_PPS=y +CONFIG_PTP_1588_CLOCK=y +CONFIG_RATIONAL=y +CONFIG_REGULATOR=y +CONFIG_REGULATOR_FIXED_VOLTAGE=y +CONFIG_REGULATOR_GPIO=y +CONFIG_RESET_CONTROLLER=y +CONFIG_RTC_CLASS=y +CONFIG_RTC_DRV_STMP=y +CONFIG_RTC_I2C_AND_SPI=y +CONFIG_RTC_MC146818_LIB=y +# CONFIG_SERIAL_8250 is not set +CONFIG_SERIAL_AMBA_PL011=y +CONFIG_SERIAL_AMBA_PL011_CONSOLE=y +CONFIG_SERIAL_MCTRL_GPIO=y +CONFIG_SERIAL_MXS_AUART=y +CONFIG_SERIAL_MXS_AUART_CONSOLE=y +CONFIG_SMSC_PHY=y +CONFIG_SOC_BUS=y +CONFIG_SOC_IMX23=y +CONFIG_SOC_IMX28=y +CONFIG_SPARSE_IRQ=y +CONFIG_SPI=y +CONFIG_SPI_MASTER=y +CONFIG_SPI_MXS=y +CONFIG_SPLIT_PTLOCK_CPUS=999999 +CONFIG_SRCU=y +CONFIG_STMP3XXX_RTC_WATCHDOG=y +CONFIG_STMP_DEVICE=y +CONFIG_SWPHY=y +CONFIG_SYS_SUPPORTS_APM_EMULATION=y +CONFIG_TICK_CPU_ACCOUNTING=y +CONFIG_TIMER_OF=y +CONFIG_TIMER_PROBE=y +CONFIG_TINY_SRCU=y +CONFIG_UNCOMPRESS_INCLUDE="debug/uncompress.h" +CONFIG_UNWINDER_ARM=y +CONFIG_USB=y +CONFIG_USB_CHIPIDEA=y +CONFIG_USB_CHIPIDEA_HOST=y +CONFIG_USB_CHIPIDEA_IMX=y +CONFIG_USB_CHIPIDEA_UDC=y +CONFIG_USB_COMMON=y +CONFIG_USB_EHCI_HCD=y +# CONFIG_USB_EHCI_HCD_PLATFORM is not set +CONFIG_USB_GADGET=y +CONFIG_USB_MXS_PHY=y +CONFIG_USB_OTG=y +CONFIG_USB_PHY=y +CONFIG_USB_ROLE_SWITCH=y +CONFIG_USB_SUPPORT=y +CONFIG_USB_ULPI_BUS=y +CONFIG_USE_OF=y +# CONFIG_VFP is not set +CONFIG_WATCHDOG_CORE=y +CONFIG_XZ_DEC_ARM=y +CONFIG_XZ_DEC_BCJ=y +CONFIG_ZBOOT_ROM_BSS=0 +CONFIG_ZBOOT_ROM_TEXT=0 From e5c697a41c78c70cd2ceec555fadde85abd3a67d Mon Sep 17 00:00:00 2001 From: Zoltan HERPAI Date: Thu, 31 Mar 2022 15:59:32 +0200 Subject: [PATCH 03/13] mxs: update config for 5.15 Signed-off-by: Zoltan HERPAI --- target/linux/mxs/config-5.15 | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/target/linux/mxs/config-5.15 b/target/linux/mxs/config-5.15 index 0935454ba3..3111dee77c 100644 --- a/target/linux/mxs/config-5.15 +++ b/target/linux/mxs/config-5.15 @@ -1,3 +1,4 @@ +CONFIG_AF_UNIX_OOB=y CONFIG_ALIGNMENT_TRAP=y CONFIG_ARCH_32BIT_OFF_T=y CONFIG_ARCH_HIBERNATION_POSSIBLE=y @@ -28,9 +29,9 @@ CONFIG_ARM_THUMB=y CONFIG_ARM_UNWIND=y CONFIG_ATAGS=y CONFIG_AUTO_ZRELADDR=y +CONFIG_BINARY_PRINTF=y CONFIG_BINFMT_FLAT_ARGVP_ENVP_ON_STACK=y CONFIG_BLK_PM=y -CONFIG_CLKDEV_LOOKUP=y CONFIG_CLKSRC_MMIO=y CONFIG_CLONE_BACKWARDS=y CONFIG_CMDLINE="console=ttyAMA0,115200 root=/dev/mmcblk0p2 rw rootwait" @@ -80,6 +81,7 @@ CONFIG_FIXED_PHY=y CONFIG_FIX_EARLYCON_MEM=y CONFIG_FS_IOMAP=y CONFIG_FS_MBCACHE=y +CONFIG_FWNODE_MDIO=y CONFIG_FW_LOADER_PAGED_BUF=y CONFIG_GENERIC_ALLOCATOR=y CONFIG_GENERIC_ATOMIC64=y @@ -92,6 +94,7 @@ CONFIG_GENERIC_IRQ_CHIP=y CONFIG_GENERIC_IRQ_MULTI_HANDLER=y CONFIG_GENERIC_IRQ_SHOW=y CONFIG_GENERIC_IRQ_SHOW_LEVEL=y +CONFIG_GENERIC_LIB_DEVMEM_IS_ALLOWED=y CONFIG_GENERIC_PCI_IOMAP=y CONFIG_GENERIC_SCHED_CLOCK=y CONFIG_GENERIC_SMP_IDLE_THREAD=y @@ -100,6 +103,7 @@ CONFIG_GENERIC_STRNLEN_USER=y # CONFIG_GIANFAR is not set CONFIG_GLOB=y CONFIG_GPIOLIB=y +CONFIG_GPIO_CDEV=y CONFIG_GPIO_GENERIC=y CONFIG_GPIO_GENERIC_PLATFORM=y CONFIG_GPIO_MXS=y @@ -137,6 +141,7 @@ CONFIG_IRQ_WORK=y CONFIG_JBD2=y CONFIG_LIBFDT=y CONFIG_LOCK_DEBUGGING_SUPPORT=y +CONFIG_LTO_NONE=y CONFIG_MDIO_BUS=y CONFIG_MDIO_DEVICE=y CONFIG_MDIO_DEVRES=y @@ -155,6 +160,8 @@ CONFIG_NEED_DMA_MAP_STATE=y CONFIG_NEED_KUSER_HELPERS=y CONFIG_NEED_PER_CPU_KM=y CONFIG_NET_PTP_CLASSIFY=y +CONFIG_NET_SELFTESTS=y +CONFIG_NET_SOCK_MSG=y CONFIG_NLS=y CONFIG_NVMEM=y CONFIG_NVMEM_MXS_OCOTP=y @@ -166,7 +173,6 @@ CONFIG_OF_GPIO=y CONFIG_OF_IRQ=y CONFIG_OF_KOBJ=y CONFIG_OF_MDIO=y -CONFIG_OF_NET=y CONFIG_OLD_SIGACTION=y CONFIG_OLD_SIGSUSPEND3=y CONFIG_PAGE_OFFSET=0xC0000000 @@ -183,6 +189,7 @@ CONFIG_PM_CLK=y CONFIG_POWER_SUPPLY=y CONFIG_PPS=y CONFIG_PTP_1588_CLOCK=y +CONFIG_PTP_1588_CLOCK_OPTIONAL=y CONFIG_RATIONAL=y CONFIG_REGULATOR=y CONFIG_REGULATOR_FIXED_VOLTAGE=y From 483fe539c4b4dfa6aaf15e414f1c4e293a19bb58 Mon Sep 17 00:00:00 2001 From: Zoltan HERPAI Date: Thu, 31 Mar 2022 15:57:27 +0200 Subject: [PATCH 04/13] mxs: enable 5.15 as testing kernel Signed-off-by: Zoltan HERPAI --- target/linux/mxs/Makefile | 1 + 1 file changed, 1 insertion(+) diff --git a/target/linux/mxs/Makefile b/target/linux/mxs/Makefile index a5940486df..7b6c6ee3f1 100644 --- a/target/linux/mxs/Makefile +++ b/target/linux/mxs/Makefile @@ -11,6 +11,7 @@ FEATURES:=ext4 rtc usb gpio CPU_TYPE:=arm926ej-s KERNEL_PATCHVER:=5.10 +KERNEL_TESTING_PATCHVER:=5.15 KERNELNAME:=zImage dtbs From 39d28b84f14521b96e47bb341b0755559e83cd12 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20=C5=A0tetiar?= Date: Fri, 1 Apr 2022 07:38:43 +0200 Subject: [PATCH 05/13] Revert "ipq40xx: stop chromium sub-target builds on the buildbots" MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit 35d2bbc29ba7f802706bf65585aeb8808fcac622 as we believe we found that it is indeed an openssl issue, where openssl is trying to use getrandom(2), but fails because this particular builder has an ancient kernel without that syscall. We didn't get to the bottom of why openssl doesn't fall back to something like /dev/random. Signed-off-by: Petr Štetiar --- target/linux/ipq40xx/chromium/target.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/target/linux/ipq40xx/chromium/target.mk b/target/linux/ipq40xx/chromium/target.mk index 3ce52d7b42..3983a9281a 100644 --- a/target/linux/ipq40xx/chromium/target.mk +++ b/target/linux/ipq40xx/chromium/target.mk @@ -1,2 +1,2 @@ BOARDNAME:=Google Chromium -FEATURES += emmc boot-part rootfs-part source-only +FEATURES += emmc boot-part rootfs-part From 1fa8780056a8c7a2e26c8b4d5e6979232f117349 Mon Sep 17 00:00:00 2001 From: Stijn Tintel Date: Fri, 1 Apr 2022 13:05:10 +0300 Subject: [PATCH 06/13] octeon: mark source-only There is a hard to reproduce, even harder to track down memory leak in Octeon since kernel 5.10. Mark octeon source-only until it is plugged. Signed-off-by: Stijn Tintel --- target/linux/octeon/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/target/linux/octeon/Makefile b/target/linux/octeon/Makefile index e96218fbf8..326d33f148 100644 --- a/target/linux/octeon/Makefile +++ b/target/linux/octeon/Makefile @@ -7,7 +7,7 @@ include $(TOPDIR)/rules.mk ARCH:=mips64 BOARD:=octeon BOARDNAME:=Cavium Networks Octeon -FEATURES:=squashfs ramdisk pci usb +FEATURES:=squashfs ramdisk pci source-only usb CPU_TYPE:=octeonplus KERNEL_PATCHVER:=5.10 From 950bd40a275d1a834c95d8f9830e1bfed4737a82 Mon Sep 17 00:00:00 2001 From: Paul Spooren Date: Thu, 31 Mar 2022 17:13:37 +0100 Subject: [PATCH 07/13] toolchain: reproducible libstdcpp A Python script containing an unreproducible path is copied by default. Remove it before generating the package. Signed-off-by: Paul Spooren --- package/libs/toolchain/Makefile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/package/libs/toolchain/Makefile b/package/libs/toolchain/Makefile index 682efd1970..f9f8ac956b 100644 --- a/package/libs/toolchain/Makefile +++ b/package/libs/toolchain/Makefile @@ -7,7 +7,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=toolchain -PKG_RELEASE:=3 +PKG_RELEASE:=4 PKG_MAINTAINER:=Felix Fietkau PKG_LICENSE:=GPL-3.0-with-GCC-exception @@ -490,6 +490,7 @@ ifeq ($(CONFIG_EXTERNAL_TOOLCHAIN),) define Package/libstdcpp/install $(INSTALL_DIR) $(1)/usr/lib $(CP) $(TOOLCHAIN_DIR)/lib/libstdc++.so.* $(1)/usr/lib/ + rm -rf $(1)/usr/lib/*-gdb.py endef define Package/libasan/install From 56ce110b73970bcd65d309440baada84c8e1504b Mon Sep 17 00:00:00 2001 From: Paul Spooren Date: Thu, 31 Mar 2022 22:51:29 +0100 Subject: [PATCH 08/13] scripts: make sure conffiles are sorted It may happen that conffiles are in different order on different builds. Make sure they have the same order by sorting them. FIX: #9612 Signed-off-by: Paul Spooren --- scripts/ipkg-build | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/scripts/ipkg-build b/scripts/ipkg-build index c112270a2b..32bc4b6d50 100755 --- a/scripts/ipkg-build +++ b/scripts/ipkg-build @@ -58,7 +58,8 @@ pkg_appears_sane() { rm "$CONTROL"/conffiles if [ -f "$CONTROL"/conffiles.resolved ]; then - mv "$CONTROL"/conffiles.resolved "$CONTROL"/conffiles + sort -o "$CONTROL"/conffiles "$CONTROL"/conffiles.resolved + rm "$CONTROL"/conffiles.resolved chmod 0644 "$CONTROL"/conffiles fi fi From 15fbb916669dcdfcc706e9e75263ab63f9f27c00 Mon Sep 17 00:00:00 2001 From: Vincent Pelletier Date: Sat, 19 Feb 2022 02:06:23 +0000 Subject: [PATCH 09/13] kernel: scale nf_conntrack_max more reasonably Use the kernel's built-in formula for computing this value. The value applied by OpenWRT's sysctl configuration file does not scale with the available memory, under-using hardware capabilities. Also, that formula also influences net.netfilter.nf_conntrack_buckets, which should improve conntrack performance in average (fewer connections per hashtable bucket). Backport upstream commit for its effect on the number of connections per hashtable bucket. Apply a hack patch to set the RAM size divisor to a more reasonable value (2048, down from 16384) for our use case, a typical router handling several thousands of connections. Signed-off-by: Vincent Pelletier Signed-off-by: Rui Salvaterra --- .../linux/files/sysctl-nf-conntrack.conf | 1 - ...ack-sanitize-table-size-default-sett.patch | 100 ++++++++++++++++++ ...t-size-the-hashtable-more-adequately.patch | 25 +++++ ...t-size-the-hashtable-more-adequately.patch | 25 +++++ 4 files changed, 150 insertions(+), 1 deletion(-) create mode 100644 target/linux/generic/backport-5.10/612-v5.15-netfilter-conntrack-sanitize-table-size-default-sett.patch create mode 100644 target/linux/generic/hack-5.10/661-kernel-ct-size-the-hashtable-more-adequately.patch create mode 100644 target/linux/generic/hack-5.15/661-kernel-ct-size-the-hashtable-more-adequately.patch diff --git a/package/kernel/linux/files/sysctl-nf-conntrack.conf b/package/kernel/linux/files/sysctl-nf-conntrack.conf index 37baf5fd6f..c6a0ef362b 100644 --- a/package/kernel/linux/files/sysctl-nf-conntrack.conf +++ b/package/kernel/linux/files/sysctl-nf-conntrack.conf @@ -3,7 +3,6 @@ net.netfilter.nf_conntrack_acct=1 net.netfilter.nf_conntrack_checksum=0 -net.netfilter.nf_conntrack_max=16384 net.netfilter.nf_conntrack_tcp_timeout_established=7440 net.netfilter.nf_conntrack_udp_timeout=60 net.netfilter.nf_conntrack_udp_timeout_stream=180 diff --git a/target/linux/generic/backport-5.10/612-v5.15-netfilter-conntrack-sanitize-table-size-default-sett.patch b/target/linux/generic/backport-5.10/612-v5.15-netfilter-conntrack-sanitize-table-size-default-sett.patch new file mode 100644 index 0000000000..55bf0f612b --- /dev/null +++ b/target/linux/generic/backport-5.10/612-v5.15-netfilter-conntrack-sanitize-table-size-default-sett.patch @@ -0,0 +1,100 @@ +From d532bcd0b2699d84d71a0c71d37157ac6eb3be25 Mon Sep 17 00:00:00 2001 +Message-Id: +From: Florian Westphal +Date: Thu, 26 Aug 2021 15:54:19 +0200 +Subject: [PATCH] netfilter: conntrack: sanitize table size default settings + +conntrack has two distinct table size settings: +nf_conntrack_max and nf_conntrack_buckets. + +The former limits how many conntrack objects are allowed to exist +in each namespace. + +The second sets the size of the hashtable. + +As all entries are inserted twice (once for original direction, once for +reply), there should be at least twice as many buckets in the table than +the maximum number of conntrack objects that can exist at the same time. + +Change the default multiplier to 1 and increase the chosen bucket sizes. +This results in the same nf_conntrack_max settings as before but reduces +the average bucket list length. + +Signed-off-by: Florian Westphal +Signed-off-by: Pablo Neira Ayuso +--- + .../networking/nf_conntrack-sysctl.rst | 13 ++++---- + net/netfilter/nf_conntrack_core.c | 30 +++++++++---------- + 2 files changed, 22 insertions(+), 21 deletions(-) + +--- a/Documentation/networking/nf_conntrack-sysctl.rst ++++ b/Documentation/networking/nf_conntrack-sysctl.rst +@@ -17,9 +17,8 @@ nf_conntrack_acct - BOOLEAN + nf_conntrack_buckets - INTEGER + Size of hash table. If not specified as parameter during module + loading, the default size is calculated by dividing total memory +- by 16384 to determine the number of buckets but the hash table will +- never have fewer than 32 and limited to 16384 buckets. For systems +- with more than 4GB of memory it will be 65536 buckets. ++ by 16384 to determine the number of buckets. The hash table will ++ never have fewer than 1024 and never more than 262144 buckets. + This sysctl is only writeable in the initial net namespace. + + nf_conntrack_checksum - BOOLEAN +@@ -100,8 +99,12 @@ nf_conntrack_log_invalid - INTEGER + Log invalid packets of a type specified by value. + + nf_conntrack_max - INTEGER +- Size of connection tracking table. Default value is +- nf_conntrack_buckets value * 4. ++ Maximum number of allowed connection tracking entries. This value is set ++ to nf_conntrack_buckets by default. ++ Note that connection tracking entries are added to the table twice -- once ++ for the original direction and once for the reply direction (i.e., with ++ the reversed address). This means that with default settings a maxed-out ++ table will have a average hash chain length of 2, not 1. + + nf_conntrack_tcp_be_liberal - BOOLEAN + - 0 - disabled (default) +--- a/net/netfilter/nf_conntrack_core.c ++++ b/net/netfilter/nf_conntrack_core.c +@@ -2575,26 +2575,24 @@ int nf_conntrack_init_start(void) + spin_lock_init(&nf_conntrack_locks[i]); + + if (!nf_conntrack_htable_size) { +- /* Idea from tcp.c: use 1/16384 of memory. +- * On i386: 32MB machine has 512 buckets. +- * >= 1GB machines have 16384 buckets. +- * >= 4GB machines have 65536 buckets. +- */ + nf_conntrack_htable_size + = (((nr_pages << PAGE_SHIFT) / 16384) + / sizeof(struct hlist_head)); +- if (nr_pages > (4 * (1024 * 1024 * 1024 / PAGE_SIZE))) +- nf_conntrack_htable_size = 65536; ++ if (BITS_PER_LONG >= 64 && ++ nr_pages > (4 * (1024 * 1024 * 1024 / PAGE_SIZE))) ++ nf_conntrack_htable_size = 262144; + else if (nr_pages > (1024 * 1024 * 1024 / PAGE_SIZE)) +- nf_conntrack_htable_size = 16384; +- if (nf_conntrack_htable_size < 32) +- nf_conntrack_htable_size = 32; ++ nf_conntrack_htable_size = 65536; + +- /* Use a max. factor of four by default to get the same max as +- * with the old struct list_heads. When a table size is given +- * we use the old value of 8 to avoid reducing the max. +- * entries. */ +- max_factor = 4; ++ if (nf_conntrack_htable_size < 1024) ++ nf_conntrack_htable_size = 1024; ++ /* Use a max. factor of one by default to keep the average ++ * hash chain length at 2 entries. Each entry has to be added ++ * twice (once for original direction, once for reply). ++ * When a table size is given we use the old value of 8 to ++ * avoid implicit reduction of the max entries setting. ++ */ ++ max_factor = 1; + } + + nf_conntrack_hash = nf_ct_alloc_hashtable(&nf_conntrack_htable_size, 1); diff --git a/target/linux/generic/hack-5.10/661-kernel-ct-size-the-hashtable-more-adequately.patch b/target/linux/generic/hack-5.10/661-kernel-ct-size-the-hashtable-more-adequately.patch new file mode 100644 index 0000000000..dd67c76b13 --- /dev/null +++ b/target/linux/generic/hack-5.10/661-kernel-ct-size-the-hashtable-more-adequately.patch @@ -0,0 +1,25 @@ +From 804fbb3f2ec9283f7b778e057a68bfff440a0be6 Mon Sep 17 00:00:00 2001 +From: Rui Salvaterra +Date: Wed, 30 Mar 2022 22:51:55 +0100 +Subject: [PATCH] kernel: ct: size the hashtable more adequately + +To set the default size of the connection tracking hash table, a divider of +16384 becomes inadequate for a router handling lots of connections. Divide by +2048 instead, making the default size scale better with the available RAM. + +Signed-off-by: Rui Salvaterra +--- + net/netfilter/nf_conntrack_core.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/net/netfilter/nf_conntrack_core.c ++++ b/net/netfilter/nf_conntrack_core.c +@@ -2576,7 +2576,7 @@ int nf_conntrack_init_start(void) + + if (!nf_conntrack_htable_size) { + nf_conntrack_htable_size +- = (((nr_pages << PAGE_SHIFT) / 16384) ++ = (((nr_pages << PAGE_SHIFT) / 2048) + / sizeof(struct hlist_head)); + if (BITS_PER_LONG >= 64 && + nr_pages > (4 * (1024 * 1024 * 1024 / PAGE_SIZE))) diff --git a/target/linux/generic/hack-5.15/661-kernel-ct-size-the-hashtable-more-adequately.patch b/target/linux/generic/hack-5.15/661-kernel-ct-size-the-hashtable-more-adequately.patch new file mode 100644 index 0000000000..a003fc2944 --- /dev/null +++ b/target/linux/generic/hack-5.15/661-kernel-ct-size-the-hashtable-more-adequately.patch @@ -0,0 +1,25 @@ +From 804fbb3f2ec9283f7b778e057a68bfff440a0be6 Mon Sep 17 00:00:00 2001 +From: Rui Salvaterra +Date: Wed, 30 Mar 2022 22:51:55 +0100 +Subject: [PATCH] kernel: ct: size the hashtable more adequately + +To set the default size of the connection tracking hash table, a divider of +16384 becomes inadequate for a router handling lots of connections. Divide by +2048 instead, making the default size scale better with the available RAM. + +Signed-off-by: Rui Salvaterra +--- + net/netfilter/nf_conntrack_core.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/net/netfilter/nf_conntrack_core.c ++++ b/net/netfilter/nf_conntrack_core.c +@@ -2676,7 +2676,7 @@ int nf_conntrack_init_start(void) + + if (!nf_conntrack_htable_size) { + nf_conntrack_htable_size +- = (((nr_pages << PAGE_SHIFT) / 16384) ++ = (((nr_pages << PAGE_SHIFT) / 2048) + / sizeof(struct hlist_head)); + if (BITS_PER_LONG >= 64 && + nr_pages > (4 * (1024 * 1024 * 1024 / PAGE_SIZE))) From 4117b5a1338fb8e5ca501be7e76e8418d1a2a979 Mon Sep 17 00:00:00 2001 From: Piotr Dymacz Date: Fri, 1 Apr 2022 13:56:36 +0200 Subject: [PATCH 10/13] layerscape: image: drop redundant parameter from kernel build recipe Neither 'fit', nor target-specific 'traverse-fit' build recipes accept FDT load address in 3rd parameter. Signed-off-by: Piotr Dymacz --- target/linux/layerscape/image/armv8_64b.mk | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/target/linux/layerscape/image/armv8_64b.mk b/target/linux/layerscape/image/armv8_64b.mk index a4d1bfab3b..72b6c58f83 100644 --- a/target/linux/layerscape/image/armv8_64b.mk +++ b/target/linux/layerscape/image/armv8_64b.mk @@ -424,8 +424,8 @@ define Device/traverse_ls1043 DEVICE_DTS = freescale/traverse-ls1043s DEVICE_DTS_DIR = $(LINUX_DIR)/arch/arm64/boot/dts DEVICE_DTS_CONFIG = ls1043s - KERNEL := kernel-bin | gzip | traverse-fit gzip $$(DTS_DIR)/$$(DEVICE_DTS).dtb $$(FDT_LOADADDR) - KERNEL_INITRAMFS := kernel-bin | gzip | fit gzip $$(DTS_DIR)/$$(DEVICE_DTS).dtb $$(FDT_LOADADDR) + KERNEL := kernel-bin | gzip | traverse-fit gzip $$(DTS_DIR)/$$(DEVICE_DTS).dtb + KERNEL_INITRAMFS := kernel-bin | gzip | fit gzip $$(DTS_DIR)/$$(DEVICE_DTS).dtb IMAGES = root sysupgrade.bin IMAGE/root = append-rootfs IMAGE/sysupgrade.bin = sysupgrade-tar | append-metadata From 173198e35a898ff7ec97749247f75cd82fa3c3ab Mon Sep 17 00:00:00 2001 From: Piotr Dymacz Date: Fri, 11 Mar 2022 18:58:36 +0100 Subject: [PATCH 11/13] kernel: modules: drop 'AddDepends/bluetooth' calls Function 'AddDepends/bluetooth' doesn't exist in our codebase. Signed-off-by: Piotr Dymacz --- package/kernel/linux/modules/other.mk | 2 -- 1 file changed, 2 deletions(-) diff --git a/package/kernel/linux/modules/other.mk b/package/kernel/linux/modules/other.mk index 499a4080ea..f3ad5bd9fe 100644 --- a/package/kernel/linux/modules/other.mk +++ b/package/kernel/linux/modules/other.mk @@ -71,7 +71,6 @@ define KernelPackage/ath3k KCONFIG:= \ CONFIG_BT_ATH3K \ CONFIG_BT_HCIUART_ATH3K=y - $(call AddDepends/bluetooth) FILES:= \ $(LINUX_DIR)/drivers/bluetooth/ath3k.ko AUTOLOAD:=$(call AutoProbe,ath3k) @@ -107,7 +106,6 @@ define KernelPackage/btmrvl KCONFIG:= \ CONFIG_BT_MRVL \ CONFIG_BT_MRVL_SDIO - $(call AddDepends/bluetooth) FILES:= \ $(LINUX_DIR)/drivers/bluetooth/btmrvl.ko \ $(LINUX_DIR)/drivers/bluetooth/btmrvl_sdio.ko From 4b1b76de7ecc7706cd36035bcbc2a16da667661d Mon Sep 17 00:00:00 2001 From: Piotr Dymacz Date: Mon, 14 Mar 2022 14:39:37 +0100 Subject: [PATCH 12/13] imx: base-files: drop redundant space after case keywords Signed-off-by: Piotr Dymacz --- .../base-files/etc/board.d/02_network | 48 +++---- .../base-files/lib/preinit/79_move_config | 6 +- .../base-files/lib/upgrade/platform.sh | 134 +++++++++--------- 3 files changed, 94 insertions(+), 94 deletions(-) diff --git a/target/linux/imx/cortexa9/base-files/etc/board.d/02_network b/target/linux/imx/cortexa9/base-files/etc/board.d/02_network index 1668b86008..1ef2fcdc65 100644 --- a/target/linux/imx/cortexa9/base-files/etc/board.d/02_network +++ b/target/linux/imx/cortexa9/base-files/etc/board.d/02_network @@ -9,34 +9,34 @@ board=$(board_name) board_config_update case "$board" in -gw,imx6dl-gw51xx |\ -gw,imx6dl-gw52xx |\ -gw,imx6dl-gw5904 |\ -gw,imx6dl-gw5907 |\ -gw,imx6dl-gw5910 |\ -gw,imx6dl-gw5912 |\ -gw,imx6dl-gw5913 |\ -gw,imx6q-gw51xx |\ -gw,imx6q-gw52xx |\ -gw,imx6q-gw5904 |\ -gw,imx6q-gw5907 |\ -gw,imx6q-gw5910 |\ -gw,imx6q-gw5912 |\ -gw,imx6q-gw5913 |\ -solidrun,cubox-i/dl |\ -solidrun,cubox-i/q ) +gw,imx6dl-gw51xx|\ +gw,imx6dl-gw52xx|\ +gw,imx6dl-gw5904|\ +gw,imx6dl-gw5907|\ +gw,imx6dl-gw5910|\ +gw,imx6dl-gw5912|\ +gw,imx6dl-gw5913|\ +gw,imx6q-gw51xx|\ +gw,imx6q-gw52xx|\ +gw,imx6q-gw5904|\ +gw,imx6q-gw5907|\ +gw,imx6q-gw5910|\ +gw,imx6q-gw5912|\ +gw,imx6q-gw5913|\ +solidrun,cubox-i/dl|\ +solidrun,cubox-i/q) ucidef_set_interface_lan 'eth0' ;; -gw,imx6dl-gw53xx |\ -gw,imx6dl-gw54xx |\ -gw,imx6dl-gw552x |\ -gw,imx6q-gw53xx |\ -gw,imx6q-gw5400-a |\ -gw,imx6q-gw54xx |\ -gw,imx6q-gw552x ) +gw,imx6dl-gw53xx|\ +gw,imx6dl-gw54xx|\ +gw,imx6dl-gw552x|\ +gw,imx6q-gw53xx|\ +gw,imx6q-gw5400-a|\ +gw,imx6q-gw54xx|\ +gw,imx6q-gw552x) ucidef_set_interfaces_lan_wan 'eth0' 'eth1' ;; -wand,imx6dl-wandboard ) +wand,imx6dl-wandboard) ucidef_set_interface_wan 'eth0' ;; esac diff --git a/target/linux/imx/cortexa9/base-files/lib/preinit/79_move_config b/target/linux/imx/cortexa9/base-files/lib/preinit/79_move_config index 6ed59320ac..7188c2d8f4 100644 --- a/target/linux/imx/cortexa9/base-files/lib/preinit/79_move_config +++ b/target/linux/imx/cortexa9/base-files/lib/preinit/79_move_config @@ -6,9 +6,9 @@ move_config() { local board=$(board_name) case "$board" in - toradex,apalis_imx6q-eval |\ - toradex,apalis_imx6q-ixora |\ - toradex,apalis_imx6q-ixora-v1.1 ) + toradex,apalis_imx6q-eval|\ + toradex,apalis_imx6q-ixora|\ + toradex,apalis_imx6q-ixora-v1.1) if [ -b $(bootpart_from_uuid) ]; then apalis_mount_boot [ -f "/boot/$BACKUP_FILE" ] && mv -f "/boot/$BACKUP_FILE" / diff --git a/target/linux/imx/cortexa9/base-files/lib/upgrade/platform.sh b/target/linux/imx/cortexa9/base-files/lib/upgrade/platform.sh index e18d59c771..d6f8fb82a6 100755 --- a/target/linux/imx/cortexa9/base-files/lib/upgrade/platform.sh +++ b/target/linux/imx/cortexa9/base-files/lib/upgrade/platform.sh @@ -8,11 +8,11 @@ RAMFS_COPY_BIN='blkid jffs2reset' enable_image_metadata_check() { case "$(board_name)" in - toradex,apalis_imx6q-eval |\ - toradex,apalis_imx6q-ixora |\ - toradex,apalis_imx6q-ixora-v1.1 ) - REQUIRE_IMAGE_METADATA=1 - ;; + toradex,apalis_imx6q-eval|\ + toradex,apalis_imx6q-ixora|\ + toradex,apalis_imx6q-ixora-v1.1) + REQUIRE_IMAGE_METADATA=1 + ;; esac } enable_image_metadata_check @@ -36,37 +36,37 @@ platform_check_image() { local board=$(board_name) case "$board" in - gw,imx6dl-gw51xx |\ - gw,imx6dl-gw52xx |\ - gw,imx6dl-gw53xx |\ - gw,imx6dl-gw54xx |\ - gw,imx6dl-gw551x |\ - gw,imx6dl-gw552x |\ - gw,imx6dl-gw553x |\ - gw,imx6dl-gw5904 |\ - gw,imx6dl-gw5907 |\ - gw,imx6dl-gw5910 |\ - gw,imx6dl-gw5912 |\ - gw,imx6dl-gw5913 |\ - gw,imx6q-gw51xx |\ - gw,imx6q-gw52xx |\ - gw,imx6q-gw53xx |\ - gw,imx6q-gw5400-a |\ - gw,imx6q-gw54xx |\ - gw,imx6q-gw551x |\ - gw,imx6q-gw552x |\ - gw,imx6q-gw553x |\ - gw,imx6q-gw5904 |\ - gw,imx6q-gw5907 |\ - gw,imx6q-gw5910 |\ - gw,imx6q-gw5912 |\ - gw,imx6q-gw5913 ) + gw,imx6dl-gw51xx|\ + gw,imx6dl-gw52xx|\ + gw,imx6dl-gw53xx|\ + gw,imx6dl-gw54xx|\ + gw,imx6dl-gw551x|\ + gw,imx6dl-gw552x|\ + gw,imx6dl-gw553x|\ + gw,imx6dl-gw5904|\ + gw,imx6dl-gw5907|\ + gw,imx6dl-gw5910|\ + gw,imx6dl-gw5912|\ + gw,imx6dl-gw5913|\ + gw,imx6q-gw51xx|\ + gw,imx6q-gw52xx|\ + gw,imx6q-gw53xx|\ + gw,imx6q-gw5400-a|\ + gw,imx6q-gw54xx|\ + gw,imx6q-gw551x|\ + gw,imx6q-gw552x|\ + gw,imx6q-gw553x|\ + gw,imx6q-gw5904|\ + gw,imx6q-gw5907|\ + gw,imx6q-gw5910|\ + gw,imx6q-gw5912|\ + gw,imx6q-gw5913) nand_do_platform_check $board $1 return $?; ;; - toradex,apalis_imx6q-eval |\ - toradex,apalis_imx6q-ixora |\ - toradex,apalis_imx6q-ixora-v1.1 ) + toradex,apalis_imx6q-eval|\ + toradex,apalis_imx6q-ixora|\ + toradex,apalis_imx6q-ixora-v1.1) return 0 ;; esac @@ -79,36 +79,36 @@ platform_do_upgrade() { local board=$(board_name) case "$board" in - gw,imx6dl-gw51xx |\ - gw,imx6dl-gw52xx |\ - gw,imx6dl-gw53xx |\ - gw,imx6dl-gw54xx |\ - gw,imx6dl-gw551x |\ - gw,imx6dl-gw552x |\ - gw,imx6dl-gw553x |\ - gw,imx6dl-gw5904 |\ - gw,imx6dl-gw5907 |\ - gw,imx6dl-gw5910 |\ - gw,imx6dl-gw5912 |\ - gw,imx6dl-gw5913 |\ - gw,imx6q-gw51xx |\ - gw,imx6q-gw52xx |\ - gw,imx6q-gw53xx |\ - gw,imx6q-gw5400-a |\ - gw,imx6q-gw54xx |\ - gw,imx6q-gw551x |\ - gw,imx6q-gw552x |\ - gw,imx6q-gw553x |\ - gw,imx6q-gw5904 |\ - gw,imx6q-gw5907 |\ - gw,imx6q-gw5910 |\ - gw,imx6q-gw5912 |\ - gw,imx6q-gw5913 ) + gw,imx6dl-gw51xx|\ + gw,imx6dl-gw52xx|\ + gw,imx6dl-gw53xx|\ + gw,imx6dl-gw54xx|\ + gw,imx6dl-gw551x|\ + gw,imx6dl-gw552x|\ + gw,imx6dl-gw553x|\ + gw,imx6dl-gw5904|\ + gw,imx6dl-gw5907|\ + gw,imx6dl-gw5910|\ + gw,imx6dl-gw5912|\ + gw,imx6dl-gw5913|\ + gw,imx6q-gw51xx|\ + gw,imx6q-gw52xx|\ + gw,imx6q-gw53xx|\ + gw,imx6q-gw5400-a|\ + gw,imx6q-gw54xx|\ + gw,imx6q-gw551x|\ + gw,imx6q-gw552x|\ + gw,imx6q-gw553x|\ + gw,imx6q-gw5904|\ + gw,imx6q-gw5907|\ + gw,imx6q-gw5910|\ + gw,imx6q-gw5912|\ + gw,imx6q-gw5913) nand_do_upgrade "$1" ;; - toradex,apalis_imx6q-eval |\ - toradex,apalis_imx6q-ixora |\ - toradex,apalis_imx6q-ixora-v1.1 ) + toradex,apalis_imx6q-eval|\ + toradex,apalis_imx6q-ixora|\ + toradex,apalis_imx6q-ixora-v1.1) apalis_do_upgrade "$1" ;; esac @@ -118,9 +118,9 @@ platform_copy_config() { local board=$(board_name) case "$board" in - toradex,apalis_imx6q-eval |\ - toradex,apalis_imx6q-ixora |\ - toradex,apalis_imx6q-ixora-v1.1 ) + toradex,apalis_imx6q-eval|\ + toradex,apalis_imx6q-ixora|\ + toradex,apalis_imx6q-ixora-v1.1) apalis_copy_config ;; esac @@ -130,9 +130,9 @@ platform_pre_upgrade() { local board=$(board_name) case "$board" in - toradex,apalis_imx6q-eval |\ - toradex,apalis_imx6q-ixora |\ - toradex,apalis_imx6q-ixora-v1.1 ) + toradex,apalis_imx6q-eval|\ + toradex,apalis_imx6q-ixora|\ + toradex,apalis_imx6q-ixora-v1.1) [ -z "$UPGRADE_BACKUP" ] && { jffs2reset -y umount /overlay From 72b93b77a5b406d0a32740d3a000218e19451460 Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Fri, 25 Mar 2022 12:14:40 +0100 Subject: [PATCH 13/13] bpf-headers: support CONFIG_HZ=300 Signed-off-by: Felix Fietkau --- .../patches/100-support_hz_300.patch | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 package/kernel/bpf-headers/patches/100-support_hz_300.patch diff --git a/package/kernel/bpf-headers/patches/100-support_hz_300.patch b/package/kernel/bpf-headers/patches/100-support_hz_300.patch new file mode 100644 index 0000000000..9629958598 --- /dev/null +++ b/package/kernel/bpf-headers/patches/100-support_hz_300.patch @@ -0,0 +1,20 @@ +--- a/arch/mips/Kconfig ++++ b/arch/mips/Kconfig +@@ -2988,6 +2988,9 @@ choice + config HZ_256 + bool "256 HZ" if SYS_SUPPORTS_256HZ || SYS_SUPPORTS_ARBIT_HZ + ++ config HZ_300 ++ bool "300 HZ" if SYS_SUPPORTS_ARBIT_HZ ++ + config HZ_1000 + bool "1000 HZ" if SYS_SUPPORTS_1000HZ || SYS_SUPPORTS_ARBIT_HZ + +@@ -3039,6 +3042,7 @@ config HZ + default 128 if HZ_128 + default 250 if HZ_250 + default 256 if HZ_256 ++ default 300 if HZ_300 + default 1000 if HZ_1000 + default 1024 if HZ_1024 +