From c4d39c4d5f66d5c96131737f7905c96c258d82ba Mon Sep 17 00:00:00 2001 From: Rui Salvaterra Date: Mon, 5 Apr 2021 16:45:47 +0100 Subject: [PATCH 1/7] kernel: default to zstd compression in ubifs Compared to both lzo and zlib, zstd is the best all-around performer. Backport a kernel patch [1] (to both 5.4 and 5.10), in order to set it as default for ubifs, if available. [1] https://lore.kernel.org/linux-mtd/CAFLxGvwhtRY-6kT-sN=AgjvyssHb5qdTS6WQHkhKu3YrPuTkdw@mail.gmail.com/ Signed-off-by: Rui Salvaterra --- ...13-ubifs-default-to-zstd-compression.patch | 25 +++++++++++++++++++ ...13-ubifs-default-to-zstd-compression.patch | 25 +++++++++++++++++++ 2 files changed, 50 insertions(+) create mode 100644 target/linux/generic/backport-5.10/500-v5.13-ubifs-default-to-zstd-compression.patch create mode 100644 target/linux/generic/backport-5.4/500-v5.13-ubifs-default-to-zstd-compression.patch diff --git a/target/linux/generic/backport-5.10/500-v5.13-ubifs-default-to-zstd-compression.patch b/target/linux/generic/backport-5.10/500-v5.13-ubifs-default-to-zstd-compression.patch new file mode 100644 index 0000000000..dd50c19c27 --- /dev/null +++ b/target/linux/generic/backport-5.10/500-v5.13-ubifs-default-to-zstd-compression.patch @@ -0,0 +1,25 @@ +From dcdf415b740923530dc71d89fecc8361078473f5 Mon Sep 17 00:00:00 2001 +From: Rui Salvaterra +Date: Mon, 5 Apr 2021 16:11:55 +0100 +Subject: [PATCH] ubifs: default to zstd compression + +Compared to lzo and zlib, zstd is the best all-around performer, both in terms +of speed and compression ratio. Set it as the default, if available. + +Signed-off-by: Rui Salvaterra +--- + fs/ubifs/sb.c | 3 +++ + 1 file changed, 3 insertions(+) + +--- a/fs/ubifs/sb.c ++++ b/fs/ubifs/sb.c +@@ -53,6 +53,9 @@ + + static int get_default_compressor(struct ubifs_info *c) + { ++ if (ubifs_compr_present(c, UBIFS_COMPR_ZSTD)) ++ return UBIFS_COMPR_ZSTD; ++ + if (ubifs_compr_present(c, UBIFS_COMPR_LZO)) + return UBIFS_COMPR_LZO; + diff --git a/target/linux/generic/backport-5.4/500-v5.13-ubifs-default-to-zstd-compression.patch b/target/linux/generic/backport-5.4/500-v5.13-ubifs-default-to-zstd-compression.patch new file mode 100644 index 0000000000..dd50c19c27 --- /dev/null +++ b/target/linux/generic/backport-5.4/500-v5.13-ubifs-default-to-zstd-compression.patch @@ -0,0 +1,25 @@ +From dcdf415b740923530dc71d89fecc8361078473f5 Mon Sep 17 00:00:00 2001 +From: Rui Salvaterra +Date: Mon, 5 Apr 2021 16:11:55 +0100 +Subject: [PATCH] ubifs: default to zstd compression + +Compared to lzo and zlib, zstd is the best all-around performer, both in terms +of speed and compression ratio. Set it as the default, if available. + +Signed-off-by: Rui Salvaterra +--- + fs/ubifs/sb.c | 3 +++ + 1 file changed, 3 insertions(+) + +--- a/fs/ubifs/sb.c ++++ b/fs/ubifs/sb.c +@@ -53,6 +53,9 @@ + + static int get_default_compressor(struct ubifs_info *c) + { ++ if (ubifs_compr_present(c, UBIFS_COMPR_ZSTD)) ++ return UBIFS_COMPR_ZSTD; ++ + if (ubifs_compr_present(c, UBIFS_COMPR_LZO)) + return UBIFS_COMPR_LZO; + From be7b5602789902692090abb10c971651887cd62b Mon Sep 17 00:00:00 2001 From: Rui Salvaterra Date: Mon, 5 Apr 2021 19:01:13 +0100 Subject: [PATCH 2/7] kernel: enable lzo, zlib and zstd in ubifs Make sure all compression algorithms are enabled, for the time being, in order not to break sysupgrade. In the future, we'd like to disable all except zstd, as it's the best all-around performer. Signed-off-by: Rui Salvaterra --- target/linux/generic/config-5.10 | 6 ++++-- target/linux/generic/config-5.4 | 6 ++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/target/linux/generic/config-5.10 b/target/linux/generic/config-5.10 index 384cf4fe9f..2cbbb6fccb 100644 --- a/target/linux/generic/config-5.10 +++ b/target/linux/generic/config-5.10 @@ -6295,12 +6295,14 @@ CONFIG_TTY=y # CONFIG_TYPHOON is not set # CONFIG_UACCESS_WITH_MEMCPY is not set # CONFIG_UBIFS_ATIME_SUPPORT is not set +# CONFIG_UBIFS_FS_ADVANCED_COMPR is not set # CONFIG_UBIFS_FS_AUTHENTICATION is not set # CONFIG_UBIFS_FS_ENCRYPTION is not set +CONFIG_UBIFS_FS_LZO=y # CONFIG_UBIFS_FS_SECURITY is not set CONFIG_UBIFS_FS_XATTR=y -# CONFIG_UBIFS_FS_ZLIB is not set -# CONFIG_UBIFS_FS_ZSTD is not set +CONFIG_UBIFS_FS_ZLIB=y +CONFIG_UBIFS_FS_ZSTD=y # CONFIG_UBSAN is not set CONFIG_UBSAN_ALIGNMENT=y # CONFIG_UCB1400_CORE is not set diff --git a/target/linux/generic/config-5.4 b/target/linux/generic/config-5.4 index fd3da81213..bcc73ed7ae 100644 --- a/target/linux/generic/config-5.4 +++ b/target/linux/generic/config-5.4 @@ -5853,12 +5853,14 @@ CONFIG_TTY=y # CONFIG_TYPHOON is not set # CONFIG_UACCESS_WITH_MEMCPY is not set # CONFIG_UBIFS_ATIME_SUPPORT is not set +# CONFIG_UBIFS_FS_ADVANCED_COMPR is not set # CONFIG_UBIFS_FS_AUTHENTICATION is not set # CONFIG_UBIFS_FS_ENCRYPTION is not set +CONFIG_UBIFS_FS_LZO=y # CONFIG_UBIFS_FS_SECURITY is not set CONFIG_UBIFS_FS_XATTR=y -# CONFIG_UBIFS_FS_ZLIB is not set -# CONFIG_UBIFS_FS_ZSTD is not set +CONFIG_UBIFS_FS_ZLIB=y +CONFIG_UBIFS_FS_ZSTD=y # CONFIG_UBSAN is not set CONFIG_UBSAN_ALIGNMENT=y # CONFIG_UCB1400_CORE is not set From 27b5bae2ec1b9b7864e13bce5e416ff27beb1614 Mon Sep 17 00:00:00 2001 From: Rui Salvaterra Date: Mon, 5 Apr 2021 19:04:40 +0100 Subject: [PATCH 3/7] treewide: remove redundant ubifs kconfig symbols For the targets which enable ubifs, these symbols are already part of the generic kconfigs. Drop them from the target kconfigs. Signed-off-by: Rui Salvaterra --- target/linux/apm821xx/nand/config-default | 1 - target/linux/at91/sama5/config-default | 4 ---- target/linux/ath79/mikrotik/config-default | 3 --- target/linux/ath79/nand/config-default | 3 --- target/linux/bcm4908/config-5.4 | 4 ---- target/linux/bcm53xx/config-5.4 | 4 ---- target/linux/bcm63xx/smp/config-default | 4 ---- target/linux/bmips/nand/config-default | 4 ---- target/linux/imx6/config-5.10 | 4 ---- target/linux/imx6/config-5.4 | 4 ---- target/linux/ipq40xx/config-5.4 | 4 ---- target/linux/ipq806x/config-5.4 | 4 ---- target/linux/ipq807x/config-default | 3 --- target/linux/kirkwood/config-5.10 | 3 --- target/linux/kirkwood/config-5.4 | 3 --- target/linux/lantiq/xrx200/config-5.10 | 4 ---- target/linux/lantiq/xrx200/config-5.4 | 4 ---- target/linux/lantiq/xway/config-5.10 | 2 -- target/linux/lantiq/xway/config-5.4 | 2 -- target/linux/layerscape/armv7/config-5.4 | 4 ---- target/linux/layerscape/armv8_64b/config-5.4 | 4 ---- target/linux/mediatek/mt7622/config-5.10 | 3 --- target/linux/mediatek/mt7623/config-5.4 | 4 ---- target/linux/mediatek/mt7629/config-5.4 | 4 ---- target/linux/mpc85xx/p1010/config-default | 4 ---- target/linux/mpc85xx/p1020/config-default | 4 ---- target/linux/mvebu/config-5.10 | 3 --- target/linux/mvebu/config-5.4 | 3 --- target/linux/omap/config-5.4 | 4 ---- target/linux/oxnas/ox820/config-default | 3 --- target/linux/pistachio/config-5.4 | 4 ---- target/linux/ramips/mt7621/config-5.10 | 3 --- target/linux/ramips/mt7621/config-5.4 | 3 --- 33 files changed, 114 deletions(-) diff --git a/target/linux/apm821xx/nand/config-default b/target/linux/apm821xx/nand/config-default index db60838cf3..060f2abf06 100644 --- a/target/linux/apm821xx/nand/config-default +++ b/target/linux/apm821xx/nand/config-default @@ -39,7 +39,6 @@ CONFIG_MTD_UBI_BEB_LIMIT=20 CONFIG_MTD_UBI_BLOCK=y CONFIG_MTD_UBI_WL_THRESHOLD=4096 CONFIG_UBIFS_FS=y -# CONFIG_UBIFS_FS_ADVANCED_COMPR is not set CONFIG_RTL8366_SMI=y CONFIG_RTL8367B_PHY=y CONFIG_SENSORS_LM90=y diff --git a/target/linux/at91/sama5/config-default b/target/linux/at91/sama5/config-default index e9d9bf7f3f..20c6414035 100644 --- a/target/linux/at91/sama5/config-default +++ b/target/linux/at91/sama5/config-default @@ -507,10 +507,6 @@ CONFIG_TOUCHSCREEN_ATMEL_MXT=y CONFIG_TOUCHSCREEN_PROPERTIES=y CONFIG_UACCESS_WITH_MEMCPY=y CONFIG_UBIFS_FS=y -CONFIG_UBIFS_FS_ADVANCED_COMPR=y -CONFIG_UBIFS_FS_LZO=y -CONFIG_UBIFS_FS_ZLIB=y -CONFIG_UBIFS_FS_ZSTD=y CONFIG_UNCOMPRESS_INCLUDE="debug/uncompress.h" CONFIG_UNWINDER_ARM=y CONFIG_USB=y diff --git a/target/linux/ath79/mikrotik/config-default b/target/linux/ath79/mikrotik/config-default index b89ef5f8ed..1e637bdfd3 100644 --- a/target/linux/ath79/mikrotik/config-default +++ b/target/linux/ath79/mikrotik/config-default @@ -32,9 +32,6 @@ CONFIG_PHY_AR7200_USB=y CONFIG_REGULATOR_FIXED_VOLTAGE=y CONFIG_SPI_RB4XX=y CONFIG_UBIFS_FS=y -CONFIG_UBIFS_FS_ADVANCED_COMPR=y -CONFIG_UBIFS_FS_LZO=y -CONFIG_UBIFS_FS_ZLIB=y CONFIG_WATCHDOG_CORE=y CONFIG_ZLIB_DEFLATE=y CONFIG_ZLIB_INFLATE=y diff --git a/target/linux/ath79/nand/config-default b/target/linux/ath79/nand/config-default index 9ae059508f..6d8ff2d576 100644 --- a/target/linux/ath79/nand/config-default +++ b/target/linux/ath79/nand/config-default @@ -18,8 +18,5 @@ CONFIG_MTD_UBI_WL_THRESHOLD=4096 CONFIG_PHY_AR7200_USB=y CONFIG_SGL_ALLOC=y CONFIG_UBIFS_FS=y -CONFIG_UBIFS_FS_ADVANCED_COMPR=y -CONFIG_UBIFS_FS_LZO=y -CONFIG_UBIFS_FS_ZLIB=y CONFIG_ZLIB_DEFLATE=y CONFIG_ZLIB_INFLATE=y diff --git a/target/linux/bcm4908/config-5.4 b/target/linux/bcm4908/config-5.4 index 22bcdd4784..0b1514fd53 100644 --- a/target/linux/bcm4908/config-5.4 +++ b/target/linux/bcm4908/config-5.4 @@ -213,10 +213,6 @@ CONFIG_TIMER_PROBE=y CONFIG_TREE_RCU=y CONFIG_TREE_SRCU=y CONFIG_UBIFS_FS=y -# CONFIG_UBIFS_FS_ADVANCED_COMPR is not set -CONFIG_UBIFS_FS_LZO=y -CONFIG_UBIFS_FS_ZLIB=y -CONFIG_UBIFS_FS_ZSTD=y CONFIG_UNMAP_KERNEL_AT_EL0=y CONFIG_USB_SUPPORT=y CONFIG_VMAP_STACK=y diff --git a/target/linux/bcm53xx/config-5.4 b/target/linux/bcm53xx/config-5.4 index f57bfd36b6..e1b09c3f93 100644 --- a/target/linux/bcm53xx/config-5.4 +++ b/target/linux/bcm53xx/config-5.4 @@ -353,10 +353,6 @@ CONFIG_TIMER_PROBE=y CONFIG_TREE_RCU=y CONFIG_TREE_SRCU=y CONFIG_UBIFS_FS=y -# CONFIG_UBIFS_FS_ADVANCED_COMPR is not set -CONFIG_UBIFS_FS_LZO=y -CONFIG_UBIFS_FS_ZLIB=y -CONFIG_UBIFS_FS_ZSTD=y CONFIG_UNCOMPRESS_INCLUDE="debug/uncompress.h" CONFIG_UNWINDER_ARM=y CONFIG_USB_SUPPORT=y diff --git a/target/linux/bcm63xx/smp/config-default b/target/linux/bcm63xx/smp/config-default index 127c42e253..745153e898 100644 --- a/target/linux/bcm63xx/smp/config-default +++ b/target/linux/bcm63xx/smp/config-default @@ -34,10 +34,6 @@ CONFIG_SMP=y CONFIG_SMP_UP=y CONFIG_TREE_RCU=y CONFIG_UBIFS_FS=y -CONFIG_UBIFS_FS_ADVANCED_COMPR=y -CONFIG_UBIFS_FS_LZO=y -CONFIG_UBIFS_FS_ZLIB=y -CONFIG_UBIFS_FS_ZSTD=y CONFIG_XPS=y CONFIG_XXHASH=y CONFIG_ZLIB_DEFLATE=y diff --git a/target/linux/bmips/nand/config-default b/target/linux/bmips/nand/config-default index 16f7bdaf6d..eeb45b82f1 100644 --- a/target/linux/bmips/nand/config-default +++ b/target/linux/bmips/nand/config-default @@ -20,10 +20,6 @@ CONFIG_MTD_UBI_BLOCK=y CONFIG_MTD_UBI_WL_THRESHOLD=4096 CONFIG_SGL_ALLOC=y CONFIG_UBIFS_FS=y -CONFIG_UBIFS_FS_ADVANCED_COMPR=y -CONFIG_UBIFS_FS_LZO=y -CONFIG_UBIFS_FS_ZLIB=y -CONFIG_UBIFS_FS_ZSTD=y CONFIG_XXHASH=y CONFIG_ZLIB_DEFLATE=y CONFIG_ZLIB_INFLATE=y diff --git a/target/linux/imx6/config-5.10 b/target/linux/imx6/config-5.10 index 26db2fc50e..befdbaefab 100644 --- a/target/linux/imx6/config-5.10 +++ b/target/linux/imx6/config-5.10 @@ -466,10 +466,6 @@ CONFIG_TIMER_PROBE=y CONFIG_TREE_RCU=y CONFIG_TREE_SRCU=y CONFIG_UBIFS_FS=y -CONFIG_UBIFS_FS_ADVANCED_COMPR=y -CONFIG_UBIFS_FS_LZO=y -CONFIG_UBIFS_FS_ZLIB=y -CONFIG_UBIFS_FS_ZSTD=y # CONFIG_UCLAMP_TASK is not set CONFIG_UNCOMPRESS_INCLUDE="debug/uncompress.h" CONFIG_UNWINDER_ARM=y diff --git a/target/linux/imx6/config-5.4 b/target/linux/imx6/config-5.4 index 1012b0647f..553f1bff3e 100644 --- a/target/linux/imx6/config-5.4 +++ b/target/linux/imx6/config-5.4 @@ -433,10 +433,6 @@ CONFIG_TIMER_PROBE=y CONFIG_TREE_RCU=y CONFIG_TREE_SRCU=y CONFIG_UBIFS_FS=y -CONFIG_UBIFS_FS_ADVANCED_COMPR=y -CONFIG_UBIFS_FS_LZO=y -CONFIG_UBIFS_FS_ZLIB=y -CONFIG_UBIFS_FS_ZSTD=y # CONFIG_UCLAMP_TASK is not set CONFIG_UNCOMPRESS_INCLUDE="debug/uncompress.h" CONFIG_UNWINDER_ARM=y diff --git a/target/linux/ipq40xx/config-5.4 b/target/linux/ipq40xx/config-5.4 index 0fb49355cb..09181cf53e 100644 --- a/target/linux/ipq40xx/config-5.4 +++ b/target/linux/ipq40xx/config-5.4 @@ -444,10 +444,6 @@ CONFIG_TIMER_PROBE=y CONFIG_TREE_RCU=y CONFIG_TREE_SRCU=y CONFIG_UBIFS_FS=y -CONFIG_UBIFS_FS_ADVANCED_COMPR=y -CONFIG_UBIFS_FS_LZO=y -CONFIG_UBIFS_FS_ZLIB=y -CONFIG_UBIFS_FS_ZSTD=y CONFIG_UEVENT_HELPER_PATH="" CONFIG_UNCOMPRESS_INCLUDE="debug/uncompress.h" CONFIG_UNWINDER_ARM=y diff --git a/target/linux/ipq806x/config-5.4 b/target/linux/ipq806x/config-5.4 index 68ed6ec0c7..d52feee505 100644 --- a/target/linux/ipq806x/config-5.4 +++ b/target/linux/ipq806x/config-5.4 @@ -498,10 +498,6 @@ CONFIG_TIMER_PROBE=y CONFIG_TREE_RCU=y CONFIG_TREE_SRCU=y CONFIG_UBIFS_FS=y -CONFIG_UBIFS_FS_ADVANCED_COMPR=y -CONFIG_UBIFS_FS_LZO=y -CONFIG_UBIFS_FS_ZLIB=y -CONFIG_UBIFS_FS_ZSTD=y # CONFIG_UCLAMP_TASK is not set CONFIG_UEVENT_HELPER_PATH="" CONFIG_UNCOMPRESS_INCLUDE="debug/uncompress.h" diff --git a/target/linux/ipq807x/config-default b/target/linux/ipq807x/config-default index f44e54d6c4..295a7b4200 100644 --- a/target/linux/ipq807x/config-default +++ b/target/linux/ipq807x/config-default @@ -624,9 +624,6 @@ CONFIG_TIMER_OF=y CONFIG_TIMER_PROBE=y CONFIG_TREE_SRCU=y CONFIG_UBIFS_FS=y -CONFIG_UBIFS_FS_ADVANCED_COMPR=y -CONFIG_UBIFS_FS_LZO=y -CONFIG_UBIFS_FS_ZLIB=y CONFIG_UCS2_STRING=y CONFIG_UEVENT_HELPER_PATH="" CONFIG_UNINLINE_SPIN_UNLOCK=y diff --git a/target/linux/kirkwood/config-5.10 b/target/linux/kirkwood/config-5.10 index ad8cf89182..22a10dc7ce 100644 --- a/target/linux/kirkwood/config-5.10 +++ b/target/linux/kirkwood/config-5.10 @@ -267,9 +267,6 @@ CONFIG_TIMER_OF=y CONFIG_TIMER_PROBE=y CONFIG_TINY_SRCU=y CONFIG_UBIFS_FS=y -CONFIG_UBIFS_FS_ADVANCED_COMPR=y -CONFIG_UBIFS_FS_LZO=y -CONFIG_UBIFS_FS_ZLIB=y CONFIG_UNCOMPRESS_INCLUDE="debug/uncompress.h" CONFIG_UNWINDER_ARM=y CONFIG_USB=y diff --git a/target/linux/kirkwood/config-5.4 b/target/linux/kirkwood/config-5.4 index f7eac5e811..a7347e42fb 100644 --- a/target/linux/kirkwood/config-5.4 +++ b/target/linux/kirkwood/config-5.4 @@ -264,9 +264,6 @@ CONFIG_TIMER_OF=y CONFIG_TIMER_PROBE=y CONFIG_TINY_SRCU=y CONFIG_UBIFS_FS=y -CONFIG_UBIFS_FS_ADVANCED_COMPR=y -CONFIG_UBIFS_FS_LZO=y -CONFIG_UBIFS_FS_ZLIB=y CONFIG_UNCOMPRESS_INCLUDE="debug/uncompress.h" CONFIG_UNWINDER_ARM=y CONFIG_USB=y diff --git a/target/linux/lantiq/xrx200/config-5.10 b/target/linux/lantiq/xrx200/config-5.10 index 7f3048135a..51d8b6dcdf 100644 --- a/target/linux/lantiq/xrx200/config-5.10 +++ b/target/linux/lantiq/xrx200/config-5.10 @@ -84,10 +84,6 @@ CONFIG_SYS_SUPPORTS_SMP=y CONFIG_TREE_RCU=y CONFIG_TREE_SRCU=y CONFIG_UBIFS_FS=y -CONFIG_UBIFS_FS_ADVANCED_COMPR=y -CONFIG_UBIFS_FS_LZO=y -CONFIG_UBIFS_FS_ZLIB=y -CONFIG_UBIFS_FS_ZSTD=y CONFIG_USB=y CONFIG_USB_COMMON=y CONFIG_USB_SUPPORT=y diff --git a/target/linux/lantiq/xrx200/config-5.4 b/target/linux/lantiq/xrx200/config-5.4 index fc857fe72a..4782014285 100644 --- a/target/linux/lantiq/xrx200/config-5.4 +++ b/target/linux/lantiq/xrx200/config-5.4 @@ -79,10 +79,6 @@ CONFIG_SYS_SUPPORTS_SMP=y CONFIG_TREE_RCU=y CONFIG_TREE_SRCU=y CONFIG_UBIFS_FS=y -CONFIG_UBIFS_FS_ADVANCED_COMPR=y -CONFIG_UBIFS_FS_LZO=y -CONFIG_UBIFS_FS_ZLIB=y -CONFIG_UBIFS_FS_ZSTD=y CONFIG_USB=y CONFIG_USB_COMMON=y CONFIG_USB_SUPPORT=y diff --git a/target/linux/lantiq/xway/config-5.10 b/target/linux/lantiq/xway/config-5.10 index cfd03acc7e..0716679aee 100644 --- a/target/linux/lantiq/xway/config-5.10 +++ b/target/linux/lantiq/xway/config-5.10 @@ -42,8 +42,6 @@ CONFIG_SGL_ALLOC=y CONFIG_SOC_TYPE_XWAY=y CONFIG_SOC_XWAY=y CONFIG_UBIFS_FS=y -CONFIG_UBIFS_FS_ADVANCED_COMPR=y -CONFIG_UBIFS_FS_LZO=y CONFIG_USB=y CONFIG_USB_COMMON=y CONFIG_USB_SUPPORT=y diff --git a/target/linux/lantiq/xway/config-5.4 b/target/linux/lantiq/xway/config-5.4 index ae73ae147d..3f58576242 100644 --- a/target/linux/lantiq/xway/config-5.4 +++ b/target/linux/lantiq/xway/config-5.4 @@ -38,8 +38,6 @@ CONFIG_RTL8367B_PHY=y CONFIG_RTL8367_PHY=y CONFIG_SGL_ALLOC=y CONFIG_UBIFS_FS=y -CONFIG_UBIFS_FS_ADVANCED_COMPR=y -CONFIG_UBIFS_FS_LZO=y CONFIG_USB=y CONFIG_USB_COMMON=y CONFIG_USB_SUPPORT=y diff --git a/target/linux/layerscape/armv7/config-5.4 b/target/linux/layerscape/armv7/config-5.4 index 35c8eed8da..f58849d273 100644 --- a/target/linux/layerscape/armv7/config-5.4 +++ b/target/linux/layerscape/armv7/config-5.4 @@ -726,10 +726,6 @@ CONFIG_TREE_RCU=y CONFIG_TREE_SRCU=y # CONFIG_TSN is not set CONFIG_UBIFS_FS=y -# CONFIG_UBIFS_FS_ADVANCED_COMPR is not set -CONFIG_UBIFS_FS_LZO=y -CONFIG_UBIFS_FS_ZLIB=y -CONFIG_UBIFS_FS_ZSTD=y # CONFIG_UCLAMP_TASK is not set CONFIG_UEVENT_HELPER_PATH="" CONFIG_UNCOMPRESS_INCLUDE="debug/uncompress.h" diff --git a/target/linux/layerscape/armv8_64b/config-5.4 b/target/linux/layerscape/armv8_64b/config-5.4 index b6289916c5..32412ab49f 100644 --- a/target/linux/layerscape/armv8_64b/config-5.4 +++ b/target/linux/layerscape/armv8_64b/config-5.4 @@ -906,10 +906,6 @@ CONFIG_TRANSPARENT_HUGE_PAGECACHE=y CONFIG_TREE_SRCU=y CONFIG_TSN=y CONFIG_UBIFS_FS=y -# CONFIG_UBIFS_FS_ADVANCED_COMPR is not set -CONFIG_UBIFS_FS_LZO=y -CONFIG_UBIFS_FS_ZLIB=y -CONFIG_UBIFS_FS_ZSTD=y CONFIG_UIO=y CONFIG_UIO_AEC=y CONFIG_UIO_CIF=y diff --git a/target/linux/mediatek/mt7622/config-5.10 b/target/linux/mediatek/mt7622/config-5.10 index 7df7968162..8a8908831a 100644 --- a/target/linux/mediatek/mt7622/config-5.10 +++ b/target/linux/mediatek/mt7622/config-5.10 @@ -416,9 +416,6 @@ CONFIG_TIMER_PROBE=y CONFIG_TREE_RCU=y CONFIG_TREE_SRCU=y CONFIG_UBIFS_FS=y -CONFIG_UBIFS_FS_ADVANCED_COMPR=y -CONFIG_UBIFS_FS_LZO=y -CONFIG_UBIFS_FS_ZLIB=y # CONFIG_UCLAMP_TASK is not set # CONFIG_UNMAP_KERNEL_AT_EL0 is not set CONFIG_USB=y diff --git a/target/linux/mediatek/mt7623/config-5.4 b/target/linux/mediatek/mt7623/config-5.4 index 45ae7a4261..faf78f2217 100644 --- a/target/linux/mediatek/mt7623/config-5.4 +++ b/target/linux/mediatek/mt7623/config-5.4 @@ -493,10 +493,6 @@ CONFIG_TIMER_OF=y CONFIG_TIMER_PROBE=y CONFIG_TREE_SRCU=y CONFIG_UBIFS_FS=y -# CONFIG_UBIFS_FS_ADVANCED_COMPR is not set -CONFIG_UBIFS_FS_LZO=y -CONFIG_UBIFS_FS_ZLIB=y -CONFIG_UBIFS_FS_ZSTD=y CONFIG_UEVENT_HELPER_PATH="" CONFIG_UNCOMPRESS_INCLUDE="debug/uncompress.h" CONFIG_UNINLINE_SPIN_UNLOCK=y diff --git a/target/linux/mediatek/mt7629/config-5.4 b/target/linux/mediatek/mt7629/config-5.4 index 1c7d54cd37..55544506b5 100644 --- a/target/linux/mediatek/mt7629/config-5.4 +++ b/target/linux/mediatek/mt7629/config-5.4 @@ -351,10 +351,6 @@ CONFIG_TIMER_PROBE=y CONFIG_TREE_RCU=y CONFIG_TREE_SRCU=y CONFIG_UBIFS_FS=y -# CONFIG_UBIFS_FS_ADVANCED_COMPR is not set -CONFIG_UBIFS_FS_LZO=y -CONFIG_UBIFS_FS_ZLIB=y -CONFIG_UBIFS_FS_ZSTD=y CONFIG_UNCOMPRESS_INCLUDE="debug/uncompress.h" CONFIG_UNWINDER_ARM=y CONFIG_USB=y diff --git a/target/linux/mpc85xx/p1010/config-default b/target/linux/mpc85xx/p1010/config-default index 12fe598223..8a065f7944 100644 --- a/target/linux/mpc85xx/p1010/config-default +++ b/target/linux/mpc85xx/p1010/config-default @@ -10,7 +10,3 @@ CONFIG_REALTEK_PHY=y CONFIG_RED_15W_REV1=y CONFIG_TL_WDR4900_V1=y CONFIG_UBIFS_FS=y -CONFIG_UBIFS_FS_ADVANCED_COMPR=y -CONFIG_UBIFS_FS_LZO=y -CONFIG_UBIFS_FS_ZLIB=y -CONFIG_UBIFS_FS_ZSTD=y diff --git a/target/linux/mpc85xx/p1020/config-default b/target/linux/mpc85xx/p1020/config-default index 28e9138241..c9a84a344a 100644 --- a/target/linux/mpc85xx/p1020/config-default +++ b/target/linux/mpc85xx/p1020/config-default @@ -48,9 +48,5 @@ CONFIG_SWCONFIG_B53_PHY_DRIVER=y # CONFIG_SWCONFIG_B53_SRAB_DRIVER is not set CONFIG_TREE_RCU=y CONFIG_UBIFS_FS=y -CONFIG_UBIFS_FS_ADVANCED_COMPR=y -CONFIG_UBIFS_FS_LZO=y -CONFIG_UBIFS_FS_ZLIB=y -CONFIG_UBIFS_FS_ZSTD=y CONFIG_WS_AP3710I=y CONFIG_XPS=y diff --git a/target/linux/mvebu/config-5.10 b/target/linux/mvebu/config-5.10 index 9196c5c30e..48ed448180 100644 --- a/target/linux/mvebu/config-5.10 +++ b/target/linux/mvebu/config-5.10 @@ -404,9 +404,6 @@ CONFIG_TIMER_PROBE=y CONFIG_TREE_RCU=y CONFIG_TREE_SRCU=y CONFIG_UBIFS_FS=y -CONFIG_UBIFS_FS_ADVANCED_COMPR=y -CONFIG_UBIFS_FS_LZO=y -CONFIG_UBIFS_FS_ZLIB=y CONFIG_UNCOMPRESS_INCLUDE="debug/uncompress.h" CONFIG_UNWINDER_ARM=y CONFIG_USB=y diff --git a/target/linux/mvebu/config-5.4 b/target/linux/mvebu/config-5.4 index 1453a651da..52833b2394 100644 --- a/target/linux/mvebu/config-5.4 +++ b/target/linux/mvebu/config-5.4 @@ -398,9 +398,6 @@ CONFIG_TIMER_PROBE=y CONFIG_TREE_RCU=y CONFIG_TREE_SRCU=y CONFIG_UBIFS_FS=y -CONFIG_UBIFS_FS_ADVANCED_COMPR=y -CONFIG_UBIFS_FS_LZO=y -CONFIG_UBIFS_FS_ZLIB=y CONFIG_UNCOMPRESS_INCLUDE="debug/uncompress.h" CONFIG_UNWINDER_ARM=y CONFIG_USB=y diff --git a/target/linux/omap/config-5.4 b/target/linux/omap/config-5.4 index 3e2cc70d27..742fdd213e 100644 --- a/target/linux/omap/config-5.4 +++ b/target/linux/omap/config-5.4 @@ -700,10 +700,6 @@ CONFIG_TWL4030_WATCHDOG=y # CONFIG_TWL6030_USB is not set CONFIG_TWL6040_CORE=y CONFIG_UBIFS_FS=y -# CONFIG_UBIFS_FS_ADVANCED_COMPR is not set -CONFIG_UBIFS_FS_LZO=y -CONFIG_UBIFS_FS_ZLIB=y -CONFIG_UBIFS_FS_ZSTD=y CONFIG_UNCOMPRESS_INCLUDE="debug/uncompress.h" CONFIG_UNWINDER_ARM=y CONFIG_USB=y diff --git a/target/linux/oxnas/ox820/config-default b/target/linux/oxnas/ox820/config-default index 9ec3a7fdaa..b846b6ed8f 100644 --- a/target/linux/oxnas/ox820/config-default +++ b/target/linux/oxnas/ox820/config-default @@ -90,9 +90,6 @@ CONFIG_SMP_ON_UP=y CONFIG_TREE_RCU=y CONFIG_TREE_SRCU=y CONFIG_UBIFS_FS=y -# CONFIG_UBIFS_FS_ADVANCED_COMPR is not set -CONFIG_UBIFS_FS_LZO=y CONFIG_UBIFS_FS_SECURITY=y -CONFIG_UBIFS_FS_ZLIB=y CONFIG_UNCOMPRESS_INCLUDE="debug/uncompress-ox820.h" CONFIG_XPS=y diff --git a/target/linux/pistachio/config-5.4 b/target/linux/pistachio/config-5.4 index 890bb57ff9..4093a8d88f 100644 --- a/target/linux/pistachio/config-5.4 +++ b/target/linux/pistachio/config-5.4 @@ -351,10 +351,6 @@ CONFIG_TMPFS_POSIX_ACL=y CONFIG_TREE_RCU=y CONFIG_TREE_SRCU=y CONFIG_UBIFS_FS=y -# CONFIG_UBIFS_FS_ADVANCED_COMPR is not set -CONFIG_UBIFS_FS_LZO=y -CONFIG_UBIFS_FS_ZLIB=y -CONFIG_UBIFS_FS_ZSTD=y CONFIG_USB=y CONFIG_USB_ANNOUNCE_NEW_DEVICES=y CONFIG_USB_COMMON=y diff --git a/target/linux/ramips/mt7621/config-5.10 b/target/linux/ramips/mt7621/config-5.10 index adbd0c8c6c..171b0d3cca 100644 --- a/target/linux/ramips/mt7621/config-5.10 +++ b/target/linux/ramips/mt7621/config-5.10 @@ -283,9 +283,6 @@ CONFIG_TIMER_PROBE=y CONFIG_TREE_RCU=y CONFIG_TREE_SRCU=y CONFIG_UBIFS_FS=y -CONFIG_UBIFS_FS_ADVANCED_COMPR=y -CONFIG_UBIFS_FS_LZO=y -CONFIG_UBIFS_FS_ZLIB=y CONFIG_USB_SUPPORT=y CONFIG_USE_OF=y CONFIG_WATCHDOG_CORE=y diff --git a/target/linux/ramips/mt7621/config-5.4 b/target/linux/ramips/mt7621/config-5.4 index 5a2d10329d..68841a7c83 100644 --- a/target/linux/ramips/mt7621/config-5.4 +++ b/target/linux/ramips/mt7621/config-5.4 @@ -272,9 +272,6 @@ CONFIG_TIMER_PROBE=y CONFIG_TREE_RCU=y CONFIG_TREE_SRCU=y CONFIG_UBIFS_FS=y -CONFIG_UBIFS_FS_ADVANCED_COMPR=y -CONFIG_UBIFS_FS_LZO=y -CONFIG_UBIFS_FS_ZLIB=y CONFIG_USB_SUPPORT=y CONFIG_USE_OF=y CONFIG_WATCHDOG_CORE=y From 3326b5e75c277b4fac21bffd2085df4aa40d2775 Mon Sep 17 00:00:00 2001 From: Rui Salvaterra Date: Mon, 5 Apr 2021 19:36:37 +0100 Subject: [PATCH 4/7] treewide: switch the timer frequency to 100 Hz Some targets select HZ=100, others HZ=250. There's no reason to select a higher timer frequency (and 100 Hz are available in every architecture), so change all targets to 100 Hz. Signed-off-by: Rui Salvaterra --- target/linux/arc770/config-5.4 | 1 - target/linux/archs38/config-5.4 | 1 - target/linux/armvirt/32/config-5.10 | 2 -- target/linux/armvirt/32/config-5.4 | 2 -- target/linux/armvirt/64/config-5.10 | 2 -- target/linux/armvirt/64/config-5.4 | 2 -- target/linux/at91/sam9x/config-default | 2 -- target/linux/at91/sama5/config-default | 2 -- target/linux/ath25/config-5.4 | 2 -- target/linux/ath79/config-5.10 | 2 -- target/linux/bcm27xx/bcm2708/config-5.4 | 2 -- target/linux/bcm27xx/bcm2709/config-5.4 | 2 -- target/linux/bcm27xx/bcm2710/config-5.4 | 2 -- target/linux/bcm27xx/bcm2711/config-5.4 | 2 -- target/linux/bcm4908/config-5.4 | 2 -- target/linux/bcm53xx/config-5.4 | 2 -- target/linux/bcm63xx/config-5.10 | 2 -- target/linux/bcm63xx/config-5.4 | 2 -- target/linux/bmips/config-5.10 | 2 -- target/linux/gemini/config-5.10 | 2 -- target/linux/generic/config-5.10 | 4 ++-- target/linux/generic/config-5.4 | 4 ++-- target/linux/imx6/config-5.10 | 2 -- target/linux/imx6/config-5.4 | 2 -- target/linux/ipq40xx/config-5.4 | 2 -- target/linux/ipq806x/config-5.4 | 2 -- target/linux/kirkwood/config-5.10 | 2 -- target/linux/kirkwood/config-5.4 | 2 -- target/linux/lantiq/config-5.10 | 2 -- target/linux/lantiq/config-5.4 | 2 -- target/linux/layerscape/armv7/config-5.4 | 2 -- target/linux/layerscape/armv8_64b/config-5.4 | 2 -- target/linux/malta/config-5.10 | 2 -- target/linux/malta/config-5.4 | 2 -- target/linux/mediatek/mt7622/config-5.10 | 2 -- target/linux/mediatek/mt7623/config-5.4 | 2 -- target/linux/mpc85xx/config-5.10 | 2 -- target/linux/mpc85xx/config-5.4 | 2 -- target/linux/mvebu/config-5.10 | 2 -- target/linux/mvebu/config-5.4 | 2 -- target/linux/mxs/config-5.10 | 2 -- target/linux/octeon/config-5.10 | 2 -- target/linux/octeon/config-5.4 | 2 -- target/linux/octeontx/config-5.4 | 2 -- target/linux/pistachio/config-5.4 | 2 -- target/linux/ramips/mt7620/config-5.10 | 2 -- target/linux/ramips/mt7620/config-5.4 | 2 -- target/linux/ramips/mt7621/config-5.10 | 2 -- target/linux/ramips/mt7621/config-5.4 | 2 -- target/linux/ramips/mt76x8/config-5.10 | 2 -- target/linux/ramips/mt76x8/config-5.4 | 2 -- target/linux/ramips/rt288x/config-5.10 | 2 -- target/linux/ramips/rt288x/config-5.4 | 2 -- target/linux/ramips/rt305x/config-5.10 | 2 -- target/linux/ramips/rt305x/config-5.4 | 2 -- target/linux/ramips/rt3883/config-5.10 | 2 -- target/linux/ramips/rt3883/config-5.4 | 2 -- target/linux/realtek/config-5.4 | 2 -- target/linux/rockchip/armv8/config-5.10 | 2 -- target/linux/rockchip/armv8/config-5.4 | 2 -- target/linux/uml/config/i386 | 1 - target/linux/uml/config/x86_64 | 1 - target/linux/x86/config-5.10 | 2 -- 63 files changed, 4 insertions(+), 122 deletions(-) diff --git a/target/linux/arc770/config-5.4 b/target/linux/arc770/config-5.4 index ce712b4c34..d0a9a78220 100644 --- a/target/linux/arc770/config-5.4 +++ b/target/linux/arc770/config-5.4 @@ -95,7 +95,6 @@ CONFIG_HAVE_NET_DSA=y CONFIG_HAVE_OPROFILE=y CONFIG_HAVE_PCI=y CONFIG_HAVE_PERF_EVENTS=y -CONFIG_HZ=100 CONFIG_HZ_PERIODIC=y CONFIG_INITRAMFS_SOURCE="" CONFIG_IRQCHIP=y diff --git a/target/linux/archs38/config-5.4 b/target/linux/archs38/config-5.4 index 29246265ad..57d708e77a 100644 --- a/target/linux/archs38/config-5.4 +++ b/target/linux/archs38/config-5.4 @@ -140,7 +140,6 @@ CONFIG_HAVE_NET_DSA=y CONFIG_HAVE_OPROFILE=y CONFIG_HAVE_PCI=y CONFIG_HAVE_PERF_EVENTS=y -CONFIG_HZ=100 CONFIG_HZ_PERIODIC=y CONFIG_I2C=y CONFIG_I2C_BOARDINFO=y diff --git a/target/linux/armvirt/32/config-5.10 b/target/linux/armvirt/32/config-5.10 index f9d92c5932..39e2ed8941 100644 --- a/target/linux/armvirt/32/config-5.10 +++ b/target/linux/armvirt/32/config-5.10 @@ -45,8 +45,6 @@ CONFIG_EDAC_ATOMIC_SCRUB=y CONFIG_GENERIC_VDSO_32=y CONFIG_HARDEN_BRANCH_PREDICTOR=y CONFIG_HAVE_SMP=y -CONFIG_HZ=100 -CONFIG_HZ_100=y CONFIG_HZ_FIXED=0 CONFIG_HZ_PERIODIC=y CONFIG_MIGHT_HAVE_CACHE_L2X0=y diff --git a/target/linux/armvirt/32/config-5.4 b/target/linux/armvirt/32/config-5.4 index 204816bc0a..1a57173da7 100644 --- a/target/linux/armvirt/32/config-5.4 +++ b/target/linux/armvirt/32/config-5.4 @@ -45,8 +45,6 @@ CONFIG_DMA_OF=y CONFIG_EDAC_ATOMIC_SCRUB=y CONFIG_GENERIC_TIME_VSYSCALL=y CONFIG_HAVE_SMP=y -CONFIG_HZ=100 -CONFIG_HZ_100=y CONFIG_HZ_FIXED=0 CONFIG_HZ_PERIODIC=y CONFIG_MIGHT_HAVE_CACHE_L2X0=y diff --git a/target/linux/armvirt/64/config-5.10 b/target/linux/armvirt/64/config-5.10 index 01d9d1b6cc..51f3c3c952 100644 --- a/target/linux/armvirt/64/config-5.10 +++ b/target/linux/armvirt/64/config-5.10 @@ -102,8 +102,6 @@ CONFIG_HDMI=y CONFIG_HOLES_IN_ZONE=y CONFIG_HW_RANDOM=y CONFIG_HW_RANDOM_VIRTIO=y -CONFIG_HZ=250 -CONFIG_HZ_250=y CONFIG_I2C=y CONFIG_I2C_ALGOBIT=y CONFIG_I2C_BOARDINFO=y diff --git a/target/linux/armvirt/64/config-5.4 b/target/linux/armvirt/64/config-5.4 index f5ac3cc453..2317dcd39d 100644 --- a/target/linux/armvirt/64/config-5.4 +++ b/target/linux/armvirt/64/config-5.4 @@ -108,8 +108,6 @@ CONFIG_HDMI=y CONFIG_HOLES_IN_ZONE=y CONFIG_HW_RANDOM=y CONFIG_HW_RANDOM_VIRTIO=y -CONFIG_HZ=250 -CONFIG_HZ_250=y CONFIG_I2C=y CONFIG_I2C_ALGOBIT=y CONFIG_I2C_BOARDINFO=y diff --git a/target/linux/at91/sam9x/config-default b/target/linux/at91/sam9x/config-default index a05831fe17..d0a1cbc0a4 100644 --- a/target/linux/at91/sam9x/config-default +++ b/target/linux/at91/sam9x/config-default @@ -134,8 +134,6 @@ CONFIG_HAVE_RSEQ=y CONFIG_HAVE_SYSCALL_TRACEPOINTS=y CONFIG_HAVE_UID16=y CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y -CONFIG_HZ=100 -CONFIG_HZ_100=y CONFIG_HZ_FIXED=0 CONFIG_HZ_PERIODIC=y CONFIG_INITRAMFS_SOURCE="" diff --git a/target/linux/at91/sama5/config-default b/target/linux/at91/sama5/config-default index 20c6414035..4e4c857c1f 100644 --- a/target/linux/at91/sama5/config-default +++ b/target/linux/at91/sama5/config-default @@ -275,8 +275,6 @@ CONFIG_HID=y CONFIG_HID_GENERIC=y CONFIG_HW_RANDOM=y CONFIG_HW_RANDOM_ATMEL=y -CONFIG_HZ=100 -CONFIG_HZ_100=y CONFIG_HZ_FIXED=0 CONFIG_I2C=y CONFIG_I2C_ALGOBIT=y diff --git a/target/linux/ath25/config-5.4 b/target/linux/ath25/config-5.4 index f59f48f655..4b47470699 100644 --- a/target/linux/ath25/config-5.4 +++ b/target/linux/ath25/config-5.4 @@ -115,8 +115,6 @@ CONFIG_HAVE_RSEQ=y CONFIG_HAVE_SYSCALL_TRACEPOINTS=y CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y CONFIG_HW_RANDOM=y -CONFIG_HZ=250 -CONFIG_HZ_250=y CONFIG_HZ_PERIODIC=y CONFIG_INITRAMFS_SOURCE="" CONFIG_IP17XX_PHY=y diff --git a/target/linux/ath79/config-5.10 b/target/linux/ath79/config-5.10 index d587942417..9aa320dcda 100644 --- a/target/linux/ath79/config-5.10 +++ b/target/linux/ath79/config-5.10 @@ -77,8 +77,6 @@ CONFIG_HARDWARE_WATCHPOINTS=y CONFIG_HAS_DMA=y CONFIG_HAS_IOMEM=y CONFIG_HAS_IOPORT_MAP=y -CONFIG_HZ=250 -CONFIG_HZ_250=y CONFIG_HZ_PERIODIC=y CONFIG_IMAGE_CMDLINE_HACK=y CONFIG_INITRAMFS_SOURCE="" diff --git a/target/linux/bcm27xx/bcm2708/config-5.4 b/target/linux/bcm27xx/bcm2708/config-5.4 index e7d384dded..ef71076497 100644 --- a/target/linux/bcm27xx/bcm2708/config-5.4 +++ b/target/linux/bcm27xx/bcm2708/config-5.4 @@ -190,8 +190,6 @@ CONFIG_HAS_IOPORT_MAP=y CONFIG_HW_CONSOLE=y CONFIG_HW_RANDOM=y CONFIG_HW_RANDOM_BCM2835=y -CONFIG_HZ=100 -CONFIG_HZ_100=y CONFIG_HZ_FIXED=0 CONFIG_I2C=y # CONFIG_I2C_BCM2708 is not set diff --git a/target/linux/bcm27xx/bcm2709/config-5.4 b/target/linux/bcm27xx/bcm2709/config-5.4 index 8a9360aed5..0d1b5e6dc9 100644 --- a/target/linux/bcm27xx/bcm2709/config-5.4 +++ b/target/linux/bcm27xx/bcm2709/config-5.4 @@ -247,8 +247,6 @@ CONFIG_HW_CONSOLE=y CONFIG_HW_RANDOM=y CONFIG_HW_RANDOM_BCM2835=y CONFIG_HW_RANDOM_IPROC_RNG200=y -CONFIG_HZ=100 -CONFIG_HZ_100=y CONFIG_HZ_FIXED=0 CONFIG_I2C=y # CONFIG_I2C_BCM2708 is not set diff --git a/target/linux/bcm27xx/bcm2710/config-5.4 b/target/linux/bcm27xx/bcm2710/config-5.4 index 81c4cfa62d..27884a0567 100644 --- a/target/linux/bcm27xx/bcm2710/config-5.4 +++ b/target/linux/bcm27xx/bcm2710/config-5.4 @@ -251,8 +251,6 @@ CONFIG_HOTPLUG_CPU=y CONFIG_HW_CONSOLE=y CONFIG_HW_RANDOM=y CONFIG_HW_RANDOM_BCM2835=y -CONFIG_HZ=250 -CONFIG_HZ_250=y CONFIG_I2C=y # CONFIG_I2C_BCM2708 is not set CONFIG_I2C_BOARDINFO=y diff --git a/target/linux/bcm27xx/bcm2711/config-5.4 b/target/linux/bcm27xx/bcm2711/config-5.4 index 46fbbcf497..c82ae44942 100644 --- a/target/linux/bcm27xx/bcm2711/config-5.4 +++ b/target/linux/bcm27xx/bcm2711/config-5.4 @@ -258,8 +258,6 @@ CONFIG_HW_CONSOLE=y CONFIG_HW_RANDOM=y # CONFIG_HW_RANDOM_BCM2835 is not set CONFIG_HW_RANDOM_IPROC_RNG200=y -CONFIG_HZ=250 -CONFIG_HZ_250=y CONFIG_I2C=y # CONFIG_I2C_BCM2708 is not set CONFIG_I2C_BOARDINFO=y diff --git a/target/linux/bcm4908/config-5.4 b/target/linux/bcm4908/config-5.4 index 0b1514fd53..6f43a822c8 100644 --- a/target/linux/bcm4908/config-5.4 +++ b/target/linux/bcm4908/config-5.4 @@ -112,8 +112,6 @@ CONFIG_HARDIRQS_SW_RESEND=y CONFIG_HAS_DMA=y CONFIG_HAS_IOMEM=y CONFIG_HOLES_IN_ZONE=y -CONFIG_HZ=250 -CONFIG_HZ_250=y CONFIG_HZ_PERIODIC=y CONFIG_ILLEGAL_POINTER_VALUE=0xdead000000000000 CONFIG_IRQCHIP=y diff --git a/target/linux/bcm53xx/config-5.4 b/target/linux/bcm53xx/config-5.4 index e1b09c3f93..1f5e7c7fc3 100644 --- a/target/linux/bcm53xx/config-5.4 +++ b/target/linux/bcm53xx/config-5.4 @@ -226,8 +226,6 @@ CONFIG_HIGHMEM=y # CONFIG_HIGHPTE is not set CONFIG_HW_RANDOM=y CONFIG_HW_RANDOM_BCM2835=y -CONFIG_HZ=100 -CONFIG_HZ_100=y CONFIG_HZ_FIXED=0 CONFIG_HZ_PERIODIC=y CONFIG_INITRAMFS_SOURCE="" diff --git a/target/linux/bcm63xx/config-5.10 b/target/linux/bcm63xx/config-5.10 index 64dffe2f3e..fd1b5c47b7 100644 --- a/target/linux/bcm63xx/config-5.10 +++ b/target/linux/bcm63xx/config-5.10 @@ -93,8 +93,6 @@ CONFIG_HAS_IOMEM=y CONFIG_HAS_IOPORT_MAP=y CONFIG_HW_RANDOM=y CONFIG_HW_RANDOM_BCM2835=y -CONFIG_HZ=250 -CONFIG_HZ_250=y CONFIG_HZ_PERIODIC=y CONFIG_INITRAMFS_SOURCE="" CONFIG_IRQCHIP=y diff --git a/target/linux/bcm63xx/config-5.4 b/target/linux/bcm63xx/config-5.4 index 17311b85e3..f9d095d448 100644 --- a/target/linux/bcm63xx/config-5.4 +++ b/target/linux/bcm63xx/config-5.4 @@ -95,8 +95,6 @@ CONFIG_HAS_IOMEM=y CONFIG_HAS_IOPORT_MAP=y CONFIG_HW_RANDOM=y CONFIG_HW_RANDOM_BCM2835=y -CONFIG_HZ=250 -CONFIG_HZ_250=y CONFIG_HZ_PERIODIC=y CONFIG_INITRAMFS_SOURCE="" CONFIG_IRQCHIP=y diff --git a/target/linux/bmips/config-5.10 b/target/linux/bmips/config-5.10 index 253b528ffd..58f40951d3 100644 --- a/target/linux/bmips/config-5.10 +++ b/target/linux/bmips/config-5.10 @@ -129,8 +129,6 @@ CONFIG_HAS_IOMEM=y CONFIG_HAS_IOPORT_MAP=y CONFIG_HW_RANDOM=y CONFIG_HW_RANDOM_BCM2835=y -CONFIG_HZ=250 -CONFIG_HZ_250=y CONFIG_HZ_PERIODIC=y CONFIG_INITRAMFS_SOURCE="" CONFIG_IRQCHIP=y diff --git a/target/linux/gemini/config-5.10 b/target/linux/gemini/config-5.10 index 743445033a..481bbc27d1 100644 --- a/target/linux/gemini/config-5.10 +++ b/target/linux/gemini/config-5.10 @@ -209,8 +209,6 @@ CONFIG_HIGHMEM=y CONFIG_HIGHPTE=y CONFIG_HWMON=y CONFIG_HW_CONSOLE=y -CONFIG_HZ=100 -CONFIG_HZ_100=y CONFIG_HZ_FIXED=0 CONFIG_I2C=y CONFIG_I2C_ALGOBIT=y diff --git a/target/linux/generic/config-5.10 b/target/linux/generic/config-5.10 index 2cbbb6fccb..00c60c1227 100644 --- a/target/linux/generic/config-5.10 +++ b/target/linux/generic/config-5.10 @@ -2301,8 +2301,8 @@ CONFIG_HW_RANDOM_TPM=y # CONFIG_HYPERV is not set # CONFIG_HYPERV_TSCPAGE is not set # CONFIG_HYSDN is not set -# CONFIG_HZ is not set -# CONFIG_HZ_100 is not set +CONFIG_HZ=100 +CONFIG_HZ_100=y # CONFIG_HZ_1000 is not set # CONFIG_HZ_1024 is not set # CONFIG_HZ_128 is not set diff --git a/target/linux/generic/config-5.4 b/target/linux/generic/config-5.4 index bcc73ed7ae..e8527f8068 100644 --- a/target/linux/generic/config-5.4 +++ b/target/linux/generic/config-5.4 @@ -2063,8 +2063,8 @@ CONFIG_HW_RANDOM_TPM=y # CONFIG_HYPERV is not set # CONFIG_HYPERV_TSCPAGE is not set # CONFIG_HYSDN is not set -# CONFIG_HZ is not set -# CONFIG_HZ_100 is not set +CONFIG_HZ=100 +CONFIG_HZ_100=y # CONFIG_HZ_1000 is not set # CONFIG_HZ_1024 is not set # CONFIG_HZ_128 is not set diff --git a/target/linux/imx6/config-5.10 b/target/linux/imx6/config-5.10 index befdbaefab..efda38d73d 100644 --- a/target/linux/imx6/config-5.10 +++ b/target/linux/imx6/config-5.10 @@ -244,8 +244,6 @@ CONFIG_HAVE_SMP=y CONFIG_HWMON=y CONFIG_HW_RANDOM=y CONFIG_HW_RANDOM_IMX_RNGC=y -CONFIG_HZ=100 -CONFIG_HZ_100=y CONFIG_HZ_FIXED=0 CONFIG_HZ_PERIODIC=y CONFIG_I2C=y diff --git a/target/linux/imx6/config-5.4 b/target/linux/imx6/config-5.4 index 553f1bff3e..63d33ea467 100644 --- a/target/linux/imx6/config-5.4 +++ b/target/linux/imx6/config-5.4 @@ -221,8 +221,6 @@ CONFIG_HAVE_SMP=y CONFIG_HWMON=y CONFIG_HW_RANDOM=y CONFIG_HW_RANDOM_IMX_RNGC=y -CONFIG_HZ=100 -CONFIG_HZ_100=y CONFIG_HZ_FIXED=0 CONFIG_HZ_PERIODIC=y CONFIG_I2C=y diff --git a/target/linux/ipq40xx/config-5.4 b/target/linux/ipq40xx/config-5.4 index 09181cf53e..d1deaf00b7 100644 --- a/target/linux/ipq40xx/config-5.4 +++ b/target/linux/ipq40xx/config-5.4 @@ -196,8 +196,6 @@ CONFIG_HWSPINLOCK=y CONFIG_HWSPINLOCK_QCOM=y CONFIG_HW_RANDOM=y CONFIG_HW_RANDOM_OPTEE=y -CONFIG_HZ=100 -CONFIG_HZ_100=y CONFIG_HZ_FIXED=0 CONFIG_I2C=y CONFIG_I2C_BOARDINFO=y diff --git a/target/linux/ipq806x/config-5.4 b/target/linux/ipq806x/config-5.4 index d52feee505..78a9ad7077 100644 --- a/target/linux/ipq806x/config-5.4 +++ b/target/linux/ipq806x/config-5.4 @@ -243,8 +243,6 @@ CONFIG_HWMON=y CONFIG_HWSPINLOCK=y CONFIG_HWSPINLOCK_QCOM=y CONFIG_HW_RANDOM=y -CONFIG_HZ=100 -CONFIG_HZ_100=y CONFIG_HZ_FIXED=0 CONFIG_I2C=y CONFIG_I2C_BOARDINFO=y diff --git a/target/linux/kirkwood/config-5.10 b/target/linux/kirkwood/config-5.10 index 22a10dc7ce..238a33c138 100644 --- a/target/linux/kirkwood/config-5.10 +++ b/target/linux/kirkwood/config-5.10 @@ -126,8 +126,6 @@ CONFIG_HAS_IOMEM=y CONFIG_HAS_IOPORT_MAP=y CONFIG_HW_RANDOM=y CONFIG_HW_RANDOM_OMAP=y -CONFIG_HZ=100 -CONFIG_HZ_100=y CONFIG_HZ_FIXED=0 CONFIG_HZ_PERIODIC=y CONFIG_I2C=y diff --git a/target/linux/kirkwood/config-5.4 b/target/linux/kirkwood/config-5.4 index a7347e42fb..7d7f70b43e 100644 --- a/target/linux/kirkwood/config-5.4 +++ b/target/linux/kirkwood/config-5.4 @@ -124,8 +124,6 @@ CONFIG_HAS_IOMEM=y CONFIG_HAS_IOPORT_MAP=y CONFIG_HW_RANDOM=y CONFIG_HW_RANDOM_OMAP=y -CONFIG_HZ=100 -CONFIG_HZ_100=y CONFIG_HZ_FIXED=0 CONFIG_HZ_PERIODIC=y CONFIG_I2C=y diff --git a/target/linux/lantiq/config-5.10 b/target/linux/lantiq/config-5.10 index b6cec7deb4..a630b9db26 100644 --- a/target/linux/lantiq/config-5.10 +++ b/target/linux/lantiq/config-5.10 @@ -116,8 +116,6 @@ CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y CONFIG_HAVE_RSEQ=y CONFIG_HAVE_SYSCALL_TRACEPOINTS=y CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y -CONFIG_HZ=250 -CONFIG_HZ_250=y CONFIG_HZ_PERIODIC=y CONFIG_INITRAMFS_SOURCE="" CONFIG_IRQCHIP=y diff --git a/target/linux/lantiq/config-5.4 b/target/linux/lantiq/config-5.4 index a8975864c8..7398a23489 100644 --- a/target/linux/lantiq/config-5.4 +++ b/target/linux/lantiq/config-5.4 @@ -117,8 +117,6 @@ CONFIG_HAVE_RSEQ=y CONFIG_HAVE_SYSCALL_TRACEPOINTS=y CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y CONFIG_HW_RANDOM=y -CONFIG_HZ=250 -CONFIG_HZ_250=y CONFIG_HZ_PERIODIC=y CONFIG_INITRAMFS_SOURCE="" CONFIG_IRQCHIP=y diff --git a/target/linux/layerscape/armv7/config-5.4 b/target/linux/layerscape/armv7/config-5.4 index f58849d273..91ffb91569 100644 --- a/target/linux/layerscape/armv7/config-5.4 +++ b/target/linux/layerscape/armv7/config-5.4 @@ -364,8 +364,6 @@ CONFIG_HVC_DRIVER=y CONFIG_HW_CONSOLE=y CONFIG_HW_RANDOM=y CONFIG_HW_RANDOM_IMX_RNGC=y -CONFIG_HZ=100 -CONFIG_HZ_100=y CONFIG_HZ_FIXED=0 CONFIG_I2C=y CONFIG_I2C_BOARDINFO=y diff --git a/target/linux/layerscape/armv8_64b/config-5.4 b/target/linux/layerscape/armv8_64b/config-5.4 index 32412ab49f..16deeb5877 100644 --- a/target/linux/layerscape/armv8_64b/config-5.4 +++ b/target/linux/layerscape/armv8_64b/config-5.4 @@ -508,8 +508,6 @@ CONFIG_HVC_XEN=y CONFIG_HVC_XEN_FRONTEND=y CONFIG_HW_CONSOLE=y CONFIG_HW_RANDOM=y -CONFIG_HZ=250 -CONFIG_HZ_250=y CONFIG_I2C=y CONFIG_I2C_BOARDINFO=y CONFIG_I2C_CHARDEV=y diff --git a/target/linux/malta/config-5.10 b/target/linux/malta/config-5.10 index b32052ada2..dac2d7d5e3 100644 --- a/target/linux/malta/config-5.10 +++ b/target/linux/malta/config-5.10 @@ -110,8 +110,6 @@ CONFIG_HAS_DMA=y CONFIG_HAS_IOMEM=y CONFIG_HAS_IOPORT_MAP=y CONFIG_HW_CONSOLE=y -CONFIG_HZ=250 -CONFIG_HZ_250=y CONFIG_I8253=y CONFIG_I8253_LOCK=y CONFIG_I8259=y diff --git a/target/linux/malta/config-5.4 b/target/linux/malta/config-5.4 index 9bcaae2208..0230b4cbf9 100644 --- a/target/linux/malta/config-5.4 +++ b/target/linux/malta/config-5.4 @@ -166,8 +166,6 @@ CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y CONFIG_HAVE_RSEQ=y CONFIG_HAVE_SYSCALL_TRACEPOINTS=y CONFIG_HW_CONSOLE=y -CONFIG_HZ=250 -CONFIG_HZ_250=y CONFIG_I8253=y CONFIG_I8253_LOCK=y CONFIG_I8259=y diff --git a/target/linux/mediatek/mt7622/config-5.10 b/target/linux/mediatek/mt7622/config-5.10 index 8a8908831a..0fa258e07a 100644 --- a/target/linux/mediatek/mt7622/config-5.10 +++ b/target/linux/mediatek/mt7622/config-5.10 @@ -201,8 +201,6 @@ CONFIG_HAS_DMA=y CONFIG_HAS_IOMEM=y CONFIG_HAS_IOPORT_MAP=y CONFIG_HOLES_IN_ZONE=y -CONFIG_HZ=250 -CONFIG_HZ_250=y CONFIG_I2C=y CONFIG_I2C_BOARDINFO=y CONFIG_I2C_CHARDEV=y diff --git a/target/linux/mediatek/mt7623/config-5.4 b/target/linux/mediatek/mt7623/config-5.4 index faf78f2217..ab1cb388ec 100644 --- a/target/linux/mediatek/mt7623/config-5.4 +++ b/target/linux/mediatek/mt7623/config-5.4 @@ -268,8 +268,6 @@ CONFIG_HOTPLUG_CPU=y CONFIG_HWMON=y CONFIG_HW_RANDOM=y CONFIG_HW_RANDOM_MTK=y -CONFIG_HZ=100 -CONFIG_HZ_100=y CONFIG_HZ_FIXED=0 CONFIG_I2C=y CONFIG_I2C_BOARDINFO=y diff --git a/target/linux/mpc85xx/config-5.10 b/target/linux/mpc85xx/config-5.10 index cb0d08ba91..c9826d76ba 100644 --- a/target/linux/mpc85xx/config-5.10 +++ b/target/linux/mpc85xx/config-5.10 @@ -108,8 +108,6 @@ CONFIG_HAS_IOPORT_MAP=y # CONFIG_HIVEAP_330 is not set CONFIG_HW_RANDOM=y # CONFIG_HW_RANDOM_XIPHERA is not set -CONFIG_HZ=250 -CONFIG_HZ_250=y CONFIG_HZ_PERIODIC=y CONFIG_I2C=y CONFIG_I2C_BOARDINFO=y diff --git a/target/linux/mpc85xx/config-5.4 b/target/linux/mpc85xx/config-5.4 index babd921200..5ff7798e2c 100644 --- a/target/linux/mpc85xx/config-5.4 +++ b/target/linux/mpc85xx/config-5.4 @@ -105,8 +105,6 @@ CONFIG_HAS_IOMEM=y CONFIG_HAS_IOPORT_MAP=y # CONFIG_HIVEAP_330 is not set CONFIG_HW_RANDOM=y -CONFIG_HZ=250 -CONFIG_HZ_250=y CONFIG_HZ_PERIODIC=y CONFIG_I2C=y CONFIG_I2C_BOARDINFO=y diff --git a/target/linux/mvebu/config-5.10 b/target/linux/mvebu/config-5.10 index 48ed448180..238fb40ee6 100644 --- a/target/linux/mvebu/config-5.10 +++ b/target/linux/mvebu/config-5.10 @@ -209,8 +209,6 @@ CONFIG_HOTPLUG_CPU=y CONFIG_HWBM=y CONFIG_HWMON=y CONFIG_HW_RANDOM=y -CONFIG_HZ=100 -CONFIG_HZ_100=y CONFIG_HZ_FIXED=0 CONFIG_HZ_PERIODIC=y CONFIG_I2C=y diff --git a/target/linux/mvebu/config-5.4 b/target/linux/mvebu/config-5.4 index 52833b2394..9559899c39 100644 --- a/target/linux/mvebu/config-5.4 +++ b/target/linux/mvebu/config-5.4 @@ -204,8 +204,6 @@ CONFIG_HOTPLUG_CPU=y CONFIG_HWBM=y CONFIG_HWMON=y CONFIG_HW_RANDOM=y -CONFIG_HZ=100 -CONFIG_HZ_100=y CONFIG_HZ_FIXED=0 CONFIG_HZ_PERIODIC=y CONFIG_I2C=y diff --git a/target/linux/mxs/config-5.10 b/target/linux/mxs/config-5.10 index e740ec9302..2fdb51238c 100644 --- a/target/linux/mxs/config-5.10 +++ b/target/linux/mxs/config-5.10 @@ -112,8 +112,6 @@ CONFIG_HARDIRQS_SW_RESEND=y CONFIG_HAS_DMA=y CONFIG_HAS_IOMEM=y CONFIG_HAS_IOPORT_MAP=y -CONFIG_HZ=100 -CONFIG_HZ_100=y CONFIG_HZ_FIXED=0 CONFIG_HZ_PERIODIC=y CONFIG_I2C=y diff --git a/target/linux/octeon/config-5.10 b/target/linux/octeon/config-5.10 index 34cdd04a95..20c4a354d9 100644 --- a/target/linux/octeon/config-5.10 +++ b/target/linux/octeon/config-5.10 @@ -104,8 +104,6 @@ CONFIG_HAS_IOPORT_MAP=y CONFIG_HOLES_IN_ZONE=y CONFIG_HW_RANDOM=y CONFIG_HW_RANDOM_OCTEON=y -CONFIG_HZ=250 -CONFIG_HZ_250=y CONFIG_HZ_PERIODIC=y CONFIG_I2C=y CONFIG_I2C_BOARDINFO=y diff --git a/target/linux/octeon/config-5.4 b/target/linux/octeon/config-5.4 index e19dfce7ea..f4fc948fcc 100644 --- a/target/linux/octeon/config-5.4 +++ b/target/linux/octeon/config-5.4 @@ -101,8 +101,6 @@ CONFIG_HAS_IOPORT_MAP=y CONFIG_HOLES_IN_ZONE=y CONFIG_HW_RANDOM=y CONFIG_HW_RANDOM_OCTEON=y -CONFIG_HZ=250 -CONFIG_HZ_250=y CONFIG_HZ_PERIODIC=y CONFIG_I2C=y CONFIG_I2C_BOARDINFO=y diff --git a/target/linux/octeontx/config-5.4 b/target/linux/octeontx/config-5.4 index db6e64a6a4..daecd33715 100644 --- a/target/linux/octeontx/config-5.4 +++ b/target/linux/octeontx/config-5.4 @@ -346,8 +346,6 @@ CONFIG_HWSPINLOCK=y CONFIG_HW_RANDOM=y CONFIG_HW_RANDOM_CAVIUM=y CONFIG_HW_RANDOM_OPTEE=y -CONFIG_HZ=250 -CONFIG_HZ_250=y CONFIG_I2C=y CONFIG_I2C_ALGOBIT=y CONFIG_I2C_BOARDINFO=y diff --git a/target/linux/pistachio/config-5.4 b/target/linux/pistachio/config-5.4 index 4093a8d88f..b6e423c745 100644 --- a/target/linux/pistachio/config-5.4 +++ b/target/linux/pistachio/config-5.4 @@ -165,8 +165,6 @@ CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y CONFIG_HAVE_RSEQ=y CONFIG_HAVE_SYSCALL_TRACEPOINTS=y CONFIG_HOTPLUG_CPU=y -CONFIG_HZ=250 -CONFIG_HZ_250=y CONFIG_I2C=y CONFIG_I2C_BOARDINFO=y CONFIG_I2C_IMG=y diff --git a/target/linux/ramips/mt7620/config-5.10 b/target/linux/ramips/mt7620/config-5.10 index 063ff1a43a..b6a8b03d25 100644 --- a/target/linux/ramips/mt7620/config-5.10 +++ b/target/linux/ramips/mt7620/config-5.10 @@ -71,8 +71,6 @@ CONFIG_HARDWARE_WATCHPOINTS=y CONFIG_HAS_DMA=y CONFIG_HAS_IOMEM=y CONFIG_HAS_IOPORT_MAP=y -CONFIG_HZ=250 -CONFIG_HZ_250=y CONFIG_HZ_PERIODIC=y CONFIG_ICPLUS_PHY=y CONFIG_INITRAMFS_SOURCE="" diff --git a/target/linux/ramips/mt7620/config-5.4 b/target/linux/ramips/mt7620/config-5.4 index 2c930a773a..4bafded763 100644 --- a/target/linux/ramips/mt7620/config-5.4 +++ b/target/linux/ramips/mt7620/config-5.4 @@ -76,8 +76,6 @@ CONFIG_HARDWARE_WATCHPOINTS=y CONFIG_HAS_DMA=y CONFIG_HAS_IOMEM=y CONFIG_HAS_IOPORT_MAP=y -CONFIG_HZ=250 -CONFIG_HZ_250=y CONFIG_HZ_PERIODIC=y CONFIG_ICPLUS_PHY=y CONFIG_INITRAMFS_SOURCE="" diff --git a/target/linux/ramips/mt7621/config-5.10 b/target/linux/ramips/mt7621/config-5.10 index 171b0d3cca..5e1a5cd30a 100644 --- a/target/linux/ramips/mt7621/config-5.10 +++ b/target/linux/ramips/mt7621/config-5.10 @@ -100,8 +100,6 @@ CONFIG_HAS_DMA=y CONFIG_HAS_IOMEM=y CONFIG_HAS_IOPORT_MAP=y CONFIG_HIGHMEM=y -CONFIG_HZ=250 -CONFIG_HZ_250=y CONFIG_I2C=y CONFIG_I2C_BOARDINFO=y CONFIG_I2C_MT7621=y diff --git a/target/linux/ramips/mt7621/config-5.4 b/target/linux/ramips/mt7621/config-5.4 index 68841a7c83..7a3adae555 100644 --- a/target/linux/ramips/mt7621/config-5.4 +++ b/target/linux/ramips/mt7621/config-5.4 @@ -97,8 +97,6 @@ CONFIG_HAS_DMA=y CONFIG_HAS_IOMEM=y CONFIG_HAS_IOPORT_MAP=y CONFIG_HIGHMEM=y -CONFIG_HZ=250 -CONFIG_HZ_250=y CONFIG_HZ_PERIODIC=y CONFIG_I2C=y CONFIG_I2C_BOARDINFO=y diff --git a/target/linux/ramips/mt76x8/config-5.10 b/target/linux/ramips/mt76x8/config-5.10 index 7829174319..8c612a643f 100644 --- a/target/linux/ramips/mt76x8/config-5.10 +++ b/target/linux/ramips/mt76x8/config-5.10 @@ -73,8 +73,6 @@ CONFIG_HARDWARE_WATCHPOINTS=y CONFIG_HAS_DMA=y CONFIG_HAS_IOMEM=y CONFIG_HAS_IOPORT_MAP=y -CONFIG_HZ=250 -CONFIG_HZ_250=y CONFIG_HZ_PERIODIC=y CONFIG_ICPLUS_PHY=y CONFIG_INITRAMFS_SOURCE="" diff --git a/target/linux/ramips/mt76x8/config-5.4 b/target/linux/ramips/mt76x8/config-5.4 index b85d9fc9df..302a39adc9 100644 --- a/target/linux/ramips/mt76x8/config-5.4 +++ b/target/linux/ramips/mt76x8/config-5.4 @@ -76,8 +76,6 @@ CONFIG_HARDWARE_WATCHPOINTS=y CONFIG_HAS_DMA=y CONFIG_HAS_IOMEM=y CONFIG_HAS_IOPORT_MAP=y -CONFIG_HZ=250 -CONFIG_HZ_250=y CONFIG_HZ_PERIODIC=y CONFIG_ICPLUS_PHY=y CONFIG_INITRAMFS_SOURCE="" diff --git a/target/linux/ramips/rt288x/config-5.10 b/target/linux/ramips/rt288x/config-5.10 index 2fbab0baf0..095c16c43b 100644 --- a/target/linux/ramips/rt288x/config-5.10 +++ b/target/linux/ramips/rt288x/config-5.10 @@ -62,8 +62,6 @@ CONFIG_HARDWARE_WATCHPOINTS=y CONFIG_HAS_DMA=y CONFIG_HAS_IOMEM=y CONFIG_HAS_IOPORT_MAP=y -CONFIG_HZ=250 -CONFIG_HZ_250=y CONFIG_HZ_PERIODIC=y CONFIG_INITRAMFS_SOURCE="" CONFIG_IP17XX_PHY=y diff --git a/target/linux/ramips/rt288x/config-5.4 b/target/linux/ramips/rt288x/config-5.4 index f9bbf810af..ad269ff5be 100644 --- a/target/linux/ramips/rt288x/config-5.4 +++ b/target/linux/ramips/rt288x/config-5.4 @@ -65,8 +65,6 @@ CONFIG_HARDWARE_WATCHPOINTS=y CONFIG_HAS_DMA=y CONFIG_HAS_IOMEM=y CONFIG_HAS_IOPORT_MAP=y -CONFIG_HZ=250 -CONFIG_HZ_250=y CONFIG_HZ_PERIODIC=y CONFIG_INITRAMFS_SOURCE="" CONFIG_IP17XX_PHY=y diff --git a/target/linux/ramips/rt305x/config-5.10 b/target/linux/ramips/rt305x/config-5.10 index 94ba19efbe..fbc2edc840 100644 --- a/target/linux/ramips/rt305x/config-5.10 +++ b/target/linux/ramips/rt305x/config-5.10 @@ -65,8 +65,6 @@ CONFIG_HARDWARE_WATCHPOINTS=y CONFIG_HAS_DMA=y CONFIG_HAS_IOMEM=y CONFIG_HAS_IOPORT_MAP=y -CONFIG_HZ=250 -CONFIG_HZ_250=y CONFIG_HZ_PERIODIC=y CONFIG_INITRAMFS_SOURCE="" CONFIG_IRQCHIP=y diff --git a/target/linux/ramips/rt305x/config-5.4 b/target/linux/ramips/rt305x/config-5.4 index 226eab9d2f..6ab68f9d56 100644 --- a/target/linux/ramips/rt305x/config-5.4 +++ b/target/linux/ramips/rt305x/config-5.4 @@ -68,8 +68,6 @@ CONFIG_HARDWARE_WATCHPOINTS=y CONFIG_HAS_DMA=y CONFIG_HAS_IOMEM=y CONFIG_HAS_IOPORT_MAP=y -CONFIG_HZ=250 -CONFIG_HZ_250=y CONFIG_HZ_PERIODIC=y CONFIG_INITRAMFS_SOURCE="" CONFIG_IRQCHIP=y diff --git a/target/linux/ramips/rt3883/config-5.10 b/target/linux/ramips/rt3883/config-5.10 index 65b7be7ea4..5bb641cbdc 100644 --- a/target/linux/ramips/rt3883/config-5.10 +++ b/target/linux/ramips/rt3883/config-5.10 @@ -64,8 +64,6 @@ CONFIG_HARDWARE_WATCHPOINTS=y CONFIG_HAS_DMA=y CONFIG_HAS_IOMEM=y CONFIG_HAS_IOPORT_MAP=y -CONFIG_HZ=250 -CONFIG_HZ_250=y CONFIG_HZ_PERIODIC=y CONFIG_INITRAMFS_SOURCE="" CONFIG_IRQCHIP=y diff --git a/target/linux/ramips/rt3883/config-5.4 b/target/linux/ramips/rt3883/config-5.4 index 0fa542f7d8..577743e798 100644 --- a/target/linux/ramips/rt3883/config-5.4 +++ b/target/linux/ramips/rt3883/config-5.4 @@ -68,8 +68,6 @@ CONFIG_HARDWARE_WATCHPOINTS=y CONFIG_HAS_DMA=y CONFIG_HAS_IOMEM=y CONFIG_HAS_IOPORT_MAP=y -CONFIG_HZ=250 -CONFIG_HZ_250=y CONFIG_HZ_PERIODIC=y CONFIG_INITRAMFS_SOURCE="" CONFIG_IRQCHIP=y diff --git a/target/linux/realtek/config-5.4 b/target/linux/realtek/config-5.4 index 51025d5d89..5e29879798 100644 --- a/target/linux/realtek/config-5.4 +++ b/target/linux/realtek/config-5.4 @@ -83,8 +83,6 @@ CONFIG_HAS_IOMEM=y CONFIG_HAS_IOPORT_MAP=y # CONFIG_HIGH_RES_TIMERS is not set CONFIG_HWMON=y -CONFIG_HZ=250 -CONFIG_HZ_250=y CONFIG_HZ_PERIODIC=y CONFIG_I2C=y CONFIG_I2C_ALGOBIT=y diff --git a/target/linux/rockchip/armv8/config-5.10 b/target/linux/rockchip/armv8/config-5.10 index 355cf72177..c85984a982 100644 --- a/target/linux/rockchip/armv8/config-5.10 +++ b/target/linux/rockchip/armv8/config-5.10 @@ -270,8 +270,6 @@ CONFIG_HUGETLB_PAGE=y CONFIG_HWMON=y CONFIG_HWSPINLOCK=y CONFIG_HW_CONSOLE=y -CONFIG_HZ=250 -CONFIG_HZ_250=y CONFIG_I2C=y CONFIG_I2C_BOARDINFO=y CONFIG_I2C_CHARDEV=y diff --git a/target/linux/rockchip/armv8/config-5.4 b/target/linux/rockchip/armv8/config-5.4 index 84fce34480..7aadb477cb 100644 --- a/target/linux/rockchip/armv8/config-5.4 +++ b/target/linux/rockchip/armv8/config-5.4 @@ -254,8 +254,6 @@ CONFIG_HUGETLB_PAGE=y CONFIG_HWMON=y CONFIG_HWSPINLOCK=y CONFIG_HW_CONSOLE=y -CONFIG_HZ=250 -CONFIG_HZ_250=y CONFIG_I2C=y CONFIG_I2C_BOARDINFO=y CONFIG_I2C_CHARDEV=y diff --git a/target/linux/uml/config/i386 b/target/linux/uml/config/i386 index 5a066ac6a3..b48127a69b 100644 --- a/target/linux/uml/config/i386 +++ b/target/linux/uml/config/i386 @@ -51,7 +51,6 @@ CONFIG_HAVE_UID16=y CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y CONFIG_HOSTFS=y CONFIG_HVC_DRIVER=y -CONFIG_HZ=100 CONFIG_HZ_PERIODIC=y CONFIG_INITRAMFS_SOURCE="" CONFIG_INIT_ENV_ARG_LIMIT=128 diff --git a/target/linux/uml/config/x86_64 b/target/linux/uml/config/x86_64 index d3b3704f6c..1d35dda2dc 100644 --- a/target/linux/uml/config/x86_64 +++ b/target/linux/uml/config/x86_64 @@ -53,7 +53,6 @@ CONFIG_HAVE_UID16=y CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y CONFIG_HOSTFS=y CONFIG_HVC_DRIVER=y -CONFIG_HZ=100 CONFIG_HZ_PERIODIC=y CONFIG_INITRAMFS_SOURCE="" CONFIG_INIT_ENV_ARG_LIMIT=128 diff --git a/target/linux/x86/config-5.10 b/target/linux/x86/config-5.10 index 2392a39d33..b1cfe54575 100644 --- a/target/linux/x86/config-5.10 +++ b/target/linux/x86/config-5.10 @@ -157,8 +157,6 @@ CONFIG_HW_RANDOM=y CONFIG_HW_RANDOM_GEODE=y CONFIG_HW_RANDOM_VIA=y # CONFIG_HYPERVISOR_GUEST is not set -CONFIG_HZ=250 -CONFIG_HZ_250=y CONFIG_HZ_PERIODIC=y CONFIG_I8253_LOCK=y # CONFIG_I8K is not set From 17576b1b2aeacf0a23bb9a911d675bd324754745 Mon Sep 17 00:00:00 2001 From: Rui Salvaterra Date: Thu, 8 Apr 2021 23:57:48 +0100 Subject: [PATCH 5/7] kernel: drop the conntrack rtcache patch It's in backports-5.4, but it wasn't ever merged. Upstream followed another approach, with flow offloading, which has much better performance. Drop this obsolete patch and refresh the kernel patches. Signed-off-by: Rui Salvaterra Acked-by: Stijn Tintel Acked-by: Felix Fietkau --- .../020-backport_netfilter_rtcache.patch | 558 ------------------ .../hack-5.4/250-netfilter_depends.patch | 4 +- .../650-netfilter-add-xt_OFFLOAD-target.patch | 8 +- ...w_table-add-hardware-offload-support.patch | 4 +- 4 files changed, 8 insertions(+), 566 deletions(-) delete mode 100644 target/linux/generic/backport-5.4/020-backport_netfilter_rtcache.patch diff --git a/target/linux/generic/backport-5.4/020-backport_netfilter_rtcache.patch b/target/linux/generic/backport-5.4/020-backport_netfilter_rtcache.patch deleted file mode 100644 index 7b1aab9acc..0000000000 --- a/target/linux/generic/backport-5.4/020-backport_netfilter_rtcache.patch +++ /dev/null @@ -1,558 +0,0 @@ -From 1bb0c3ec899827cfa4668bb63a08713a40744d21 Mon Sep 17 00:00:00 2001 -From: Florian Westphal -Date: Sun, 9 Jul 2017 08:58:30 +0200 -Subject: [PATCH] netfilter: conntrack: cache route for forwarded connections - -... to avoid per-packet FIB lookup if possible. - -The cached dst is re-used provided the input interface -is the same as that of the previous packet in the same direction. - -If not, the cached dst is invalidated. - -For ipv6 we also need to store sernum, else dst_check doesn't work, -pointed out by Eric Dumazet. - -This should speed up forwarding when conntrack is already in use -anyway, especially when using reverse path filtering -- active RPF -enforces two FIB lookups for each packet. - -Before the routing cache removal this didn't matter since RPF was performed -only when route cache didn't yield a result; but without route cache it -comes at higher price. - -Julian Anastasov suggested to add NETDEV_UNREGISTER handler to -avoid holding on to dsts of 'frozen' conntracks. - -Signed-off-by: Florian Westphal ---- - include/net/netfilter/nf_conntrack_extend.h | 4 + - include/net/netfilter/nf_conntrack_rtcache.h | 34 +++ - net/netfilter/Kconfig | 12 + - net/netfilter/Makefile | 3 + - net/netfilter/nf_conntrack_rtcache.c | 428 +++++++++++++++++++++++++++ - 5 files changed, 481 insertions(+) - create mode 100644 include/net/netfilter/nf_conntrack_rtcache.h - create mode 100644 net/netfilter/nf_conntrack_rtcache.c - ---- a/include/net/netfilter/nf_conntrack_extend.h -+++ b/include/net/netfilter/nf_conntrack_extend.h -@@ -28,6 +28,9 @@ enum nf_ct_ext_id { - #if IS_ENABLED(CONFIG_NETFILTER_SYNPROXY) - NF_CT_EXT_SYNPROXY, - #endif -+#if IS_ENABLED(CONFIG_NF_CONNTRACK_RTCACHE) -+ NF_CT_EXT_RTCACHE, -+#endif - NF_CT_EXT_NUM, - }; - -@@ -40,6 +43,7 @@ enum nf_ct_ext_id { - #define NF_CT_EXT_TIMEOUT_TYPE struct nf_conn_timeout - #define NF_CT_EXT_LABELS_TYPE struct nf_conn_labels - #define NF_CT_EXT_SYNPROXY_TYPE struct nf_conn_synproxy -+#define NF_CT_EXT_RTCACHE_TYPE struct nf_conn_rtcache - - /* Extensions: optional stuff which isn't permanently in struct. */ - struct nf_ct_ext { ---- /dev/null -+++ b/include/net/netfilter/nf_conntrack_rtcache.h -@@ -0,0 +1,34 @@ -+#include -+#include -+#include -+ -+struct dst_entry; -+ -+struct nf_conn_dst_cache { -+ struct dst_entry *dst; -+ int iif; -+#if IS_ENABLED(CONFIG_NF_CONNTRACK_IPV6) -+ u32 cookie; -+#endif -+ -+}; -+ -+struct nf_conn_rtcache { -+ struct nf_conn_dst_cache cached_dst[IP_CT_DIR_MAX]; -+}; -+ -+static inline -+struct nf_conn_rtcache *nf_ct_rtcache_find(const struct nf_conn *ct) -+{ -+#if IS_ENABLED(CONFIG_NF_CONNTRACK_RTCACHE) -+ return nf_ct_ext_find(ct, NF_CT_EXT_RTCACHE); -+#else -+ return NULL; -+#endif -+} -+ -+static inline int nf_conn_rtcache_iif_get(const struct nf_conn_rtcache *rtc, -+ enum ip_conntrack_dir dir) -+{ -+ return rtc->cached_dst[dir].iif; -+} ---- a/net/netfilter/Kconfig -+++ b/net/netfilter/Kconfig -@@ -136,6 +136,18 @@ config NF_CONNTRACK_EVENTS - - If unsure, say `N'. - -+config NF_CONNTRACK_RTCACHE -+ tristate "Cache route entries in conntrack objects" -+ depends on NETFILTER_ADVANCED -+ depends on NF_CONNTRACK -+ help -+ If this option is enabled, the connection tracking code will -+ cache routing information for each connection that is being -+ forwarded, at a cost of 32 bytes per conntrack object. -+ -+ To compile it as a module, choose M here. If unsure, say N. -+ The module will be called nf_conntrack_rtcache. -+ - config NF_CONNTRACK_TIMEOUT - bool 'Connection tracking timeout' - depends on NETFILTER_ADVANCED ---- a/net/netfilter/Makefile -+++ b/net/netfilter/Makefile -@@ -26,6 +26,9 @@ obj-$(CONFIG_NETFILTER_NETLINK_OSF) += n - # connection tracking - obj-$(CONFIG_NF_CONNTRACK) += nf_conntrack.o - -+# optional conntrack route cache extension -+obj-$(CONFIG_NF_CONNTRACK_RTCACHE) += nf_conntrack_rtcache.o -+ - # netlink interface for nf_conntrack - obj-$(CONFIG_NF_CT_NETLINK) += nf_conntrack_netlink.o - obj-$(CONFIG_NF_CT_NETLINK_TIMEOUT) += nfnetlink_cttimeout.o ---- /dev/null -+++ b/net/netfilter/nf_conntrack_rtcache.c -@@ -0,0 +1,428 @@ -+/* route cache for netfilter. -+ * -+ * (C) 2014 Red Hat GmbH -+ * -+ * This program is free software; you can redistribute it and/or modify -+ * it under the terms of the GNU General Public License version 2 as -+ * published by the Free Software Foundation. -+ */ -+ -+#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt -+ -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+ -+#include -+ -+#include -+#include -+#include -+#include -+ -+#if IS_ENABLED(CONFIG_NF_CONNTRACK_IPV6) -+#include -+#endif -+ -+static void __nf_conn_rtcache_destroy(struct nf_conn_rtcache *rtc, -+ enum ip_conntrack_dir dir) -+{ -+ struct dst_entry *dst = rtc->cached_dst[dir].dst; -+ -+ dst_release(dst); -+} -+ -+static void nf_conn_rtcache_destroy(struct nf_conn *ct) -+{ -+ struct nf_conn_rtcache *rtc = nf_ct_rtcache_find(ct); -+ -+ if (!rtc) -+ return; -+ -+ __nf_conn_rtcache_destroy(rtc, IP_CT_DIR_ORIGINAL); -+ __nf_conn_rtcache_destroy(rtc, IP_CT_DIR_REPLY); -+} -+ -+static void nf_ct_rtcache_ext_add(struct nf_conn *ct) -+{ -+ struct nf_conn_rtcache *rtc; -+ -+ rtc = nf_ct_ext_add(ct, NF_CT_EXT_RTCACHE, GFP_ATOMIC); -+ if (rtc) { -+ rtc->cached_dst[IP_CT_DIR_ORIGINAL].iif = -1; -+ rtc->cached_dst[IP_CT_DIR_ORIGINAL].dst = NULL; -+ rtc->cached_dst[IP_CT_DIR_REPLY].iif = -1; -+ rtc->cached_dst[IP_CT_DIR_REPLY].dst = NULL; -+ } -+} -+ -+static struct nf_conn_rtcache *nf_ct_rtcache_find_usable(struct nf_conn *ct) -+{ -+ return nf_ct_rtcache_find(ct); -+} -+ -+static struct dst_entry * -+nf_conn_rtcache_dst_get(const struct nf_conn_rtcache *rtc, -+ enum ip_conntrack_dir dir) -+{ -+ return rtc->cached_dst[dir].dst; -+} -+ -+static u32 nf_rtcache_get_cookie(int pf, const struct dst_entry *dst) -+{ -+#if IS_ENABLED(CONFIG_NF_CONNTRACK_IPV6) -+ if (pf == NFPROTO_IPV6) { -+ const struct rt6_info *rt = (const struct rt6_info *)dst; -+ -+ if (rt->from && rt->from->fib6_node) -+ return (u32)rt->from->fib6_node->fn_sernum; -+ } -+#endif -+ return 0; -+} -+ -+static void nf_conn_rtcache_dst_set(int pf, -+ struct nf_conn_rtcache *rtc, -+ struct dst_entry *dst, -+ enum ip_conntrack_dir dir, int iif) -+{ -+ if (rtc->cached_dst[dir].iif != iif) -+ rtc->cached_dst[dir].iif = iif; -+ -+ if (rtc->cached_dst[dir].dst != dst) { -+ struct dst_entry *old; -+ -+ dst_hold(dst); -+ -+ old = xchg(&rtc->cached_dst[dir].dst, dst); -+ dst_release(old); -+ -+#if IS_ENABLED(CONFIG_NF_CONNTRACK_IPV6) -+ if (pf == NFPROTO_IPV6) -+ rtc->cached_dst[dir].cookie = -+ nf_rtcache_get_cookie(pf, dst); -+#endif -+ } -+} -+ -+static void nf_conn_rtcache_dst_obsolete(struct nf_conn_rtcache *rtc, -+ enum ip_conntrack_dir dir) -+{ -+ struct dst_entry *old; -+ -+ pr_debug("Invalidate iif %d for dir %d on cache %p\n", -+ rtc->cached_dst[dir].iif, dir, rtc); -+ -+ old = xchg(&rtc->cached_dst[dir].dst, NULL); -+ dst_release(old); -+ rtc->cached_dst[dir].iif = -1; -+} -+ -+static unsigned int nf_rtcache_in(u_int8_t pf, -+ struct sk_buff *skb, -+ const struct nf_hook_state *state) -+{ -+ struct nf_conn_rtcache *rtc; -+ enum ip_conntrack_info ctinfo; -+ enum ip_conntrack_dir dir; -+ struct dst_entry *dst; -+ struct nf_conn *ct; -+ int iif; -+ u32 cookie; -+ -+ if (skb_dst(skb) || skb->sk) -+ return NF_ACCEPT; -+ -+ ct = nf_ct_get(skb, &ctinfo); -+ if (!ct) -+ return NF_ACCEPT; -+ -+ rtc = nf_ct_rtcache_find_usable(ct); -+ if (!rtc) -+ return NF_ACCEPT; -+ -+ /* if iif changes, don't use cache and let ip stack -+ * do route lookup. -+ * -+ * If rp_filter is enabled it might toss skb, so -+ * we don't want to avoid these checks. -+ */ -+ dir = CTINFO2DIR(ctinfo); -+ iif = nf_conn_rtcache_iif_get(rtc, dir); -+ if (state->in->ifindex != iif) { -+ pr_debug("ct %p, iif %d, cached iif %d, skip cached entry\n", -+ ct, iif, state->in->ifindex); -+ return NF_ACCEPT; -+ } -+ dst = nf_conn_rtcache_dst_get(rtc, dir); -+ if (dst == NULL) -+ return NF_ACCEPT; -+ -+ cookie = nf_rtcache_get_cookie(pf, dst); -+ -+ dst = dst_check(dst, cookie); -+ pr_debug("obtained dst %p for skb %p, cookie %d\n", dst, skb, cookie); -+ if (likely(dst)) -+ skb_dst_set_noref(skb, dst); -+ else -+ nf_conn_rtcache_dst_obsolete(rtc, dir); -+ -+ return NF_ACCEPT; -+} -+ -+static unsigned int nf_rtcache_forward(u_int8_t pf, -+ struct sk_buff *skb, -+ const struct nf_hook_state *state) -+{ -+ struct nf_conn_rtcache *rtc; -+ enum ip_conntrack_info ctinfo; -+ enum ip_conntrack_dir dir; -+ struct nf_conn *ct; -+ struct dst_entry *dst = skb_dst(skb); -+ int iif; -+ -+ ct = nf_ct_get(skb, &ctinfo); -+ if (!ct) -+ return NF_ACCEPT; -+ -+ if (dst && dst_xfrm(dst)) -+ return NF_ACCEPT; -+ -+ if (!nf_ct_is_confirmed(ct)) { -+ if (WARN_ON(nf_ct_rtcache_find(ct))) -+ return NF_ACCEPT; -+ nf_ct_rtcache_ext_add(ct); -+ return NF_ACCEPT; -+ } -+ -+ rtc = nf_ct_rtcache_find_usable(ct); -+ if (!rtc) -+ return NF_ACCEPT; -+ -+ dir = CTINFO2DIR(ctinfo); -+ iif = nf_conn_rtcache_iif_get(rtc, dir); -+ pr_debug("ct %p, skb %p, dir %d, iif %d, cached iif %d\n", -+ ct, skb, dir, iif, state->in->ifindex); -+ if (likely(state->in->ifindex == iif)) -+ return NF_ACCEPT; -+ -+ nf_conn_rtcache_dst_set(pf, rtc, skb_dst(skb), dir, state->in->ifindex); -+ return NF_ACCEPT; -+} -+ -+static unsigned int nf_rtcache_in4(void *priv, -+ struct sk_buff *skb, -+ const struct nf_hook_state *state) -+{ -+ return nf_rtcache_in(NFPROTO_IPV4, skb, state); -+} -+ -+static unsigned int nf_rtcache_forward4(void *priv, -+ struct sk_buff *skb, -+ const struct nf_hook_state *state) -+{ -+ return nf_rtcache_forward(NFPROTO_IPV4, skb, state); -+} -+ -+#if IS_ENABLED(CONFIG_NF_CONNTRACK_IPV6) -+static unsigned int nf_rtcache_in6(void *priv, -+ struct sk_buff *skb, -+ const struct nf_hook_state *state) -+{ -+ return nf_rtcache_in(NFPROTO_IPV6, skb, state); -+} -+ -+static unsigned int nf_rtcache_forward6(void *priv, -+ struct sk_buff *skb, -+ const struct nf_hook_state *state) -+{ -+ return nf_rtcache_forward(NFPROTO_IPV6, skb, state); -+} -+#endif -+ -+static int nf_rtcache_dst_remove(struct nf_conn *ct, void *data) -+{ -+ struct nf_conn_rtcache *rtc = nf_ct_rtcache_find(ct); -+ struct net_device *dev = data; -+ -+ if (!rtc) -+ return 0; -+ -+ if (dev->ifindex == rtc->cached_dst[IP_CT_DIR_ORIGINAL].iif || -+ dev->ifindex == rtc->cached_dst[IP_CT_DIR_REPLY].iif) { -+ nf_conn_rtcache_dst_obsolete(rtc, IP_CT_DIR_ORIGINAL); -+ nf_conn_rtcache_dst_obsolete(rtc, IP_CT_DIR_REPLY); -+ } -+ -+ return 0; -+} -+ -+static int nf_rtcache_netdev_event(struct notifier_block *this, -+ unsigned long event, void *ptr) -+{ -+ struct net_device *dev = netdev_notifier_info_to_dev(ptr); -+ struct net *net = dev_net(dev); -+ -+ if (event == NETDEV_DOWN) -+ nf_ct_iterate_cleanup_net(net, nf_rtcache_dst_remove, dev, 0, 0); -+ -+ return NOTIFY_DONE; -+} -+ -+static struct notifier_block nf_rtcache_notifier = { -+ .notifier_call = nf_rtcache_netdev_event, -+}; -+ -+static struct nf_hook_ops rtcache_ops[] = { -+ { -+ .hook = nf_rtcache_in4, -+ .pf = NFPROTO_IPV4, -+ .hooknum = NF_INET_PRE_ROUTING, -+ .priority = NF_IP_PRI_LAST, -+ }, -+ { -+ .hook = nf_rtcache_forward4, -+ .pf = NFPROTO_IPV4, -+ .hooknum = NF_INET_FORWARD, -+ .priority = NF_IP_PRI_LAST, -+ }, -+#if IS_ENABLED(CONFIG_NF_CONNTRACK_IPV6) -+ { -+ .hook = nf_rtcache_in6, -+ .pf = NFPROTO_IPV6, -+ .hooknum = NF_INET_PRE_ROUTING, -+ .priority = NF_IP_PRI_LAST, -+ }, -+ { -+ .hook = nf_rtcache_forward6, -+ .pf = NFPROTO_IPV6, -+ .hooknum = NF_INET_FORWARD, -+ .priority = NF_IP_PRI_LAST, -+ }, -+#endif -+}; -+ -+static struct nf_ct_ext_type rtcache_extend __read_mostly = { -+ .len = sizeof(struct nf_conn_rtcache), -+ .align = __alignof__(struct nf_conn_rtcache), -+ .id = NF_CT_EXT_RTCACHE, -+ .destroy = nf_conn_rtcache_destroy, -+}; -+ -+static int __net_init rtcache_net_init(struct net *net) -+{ -+ return nf_register_net_hooks(net, rtcache_ops, ARRAY_SIZE(rtcache_ops)); -+} -+ -+static void __net_exit rtcache_net_exit(struct net *net) -+{ -+ /* remove hooks so no new connections get rtcache extension */ -+ nf_unregister_net_hooks(net, rtcache_ops, ARRAY_SIZE(rtcache_ops)); -+} -+ -+static struct pernet_operations rtcache_ops_net_ops = { -+ .init = rtcache_net_init, -+ .exit = rtcache_net_exit, -+}; -+ -+static int __init nf_conntrack_rtcache_init(void) -+{ -+ int ret = nf_ct_extend_register(&rtcache_extend); -+ -+ if (ret < 0) { -+ pr_err("nf_conntrack_rtcache: Unable to register extension\n"); -+ return ret; -+ } -+ -+ ret = register_pernet_subsys(&rtcache_ops_net_ops); -+ if (ret) { -+ nf_ct_extend_unregister(&rtcache_extend); -+ return ret; -+ } -+ -+ ret = register_netdevice_notifier(&nf_rtcache_notifier); -+ if (ret) { -+ nf_ct_extend_unregister(&rtcache_extend); -+ unregister_pernet_subsys(&rtcache_ops_net_ops); -+ } -+ -+ return ret; -+} -+ -+static int nf_rtcache_ext_remove(struct nf_conn *ct, void *data) -+{ -+ struct nf_conn_rtcache *rtc = nf_ct_rtcache_find(ct); -+ -+ return rtc != NULL; -+} -+ -+static bool __exit nf_conntrack_rtcache_wait_for_dying(struct net *net) -+{ -+ bool wait = false; -+ int cpu; -+ -+ for_each_possible_cpu(cpu) { -+ struct nf_conntrack_tuple_hash *h; -+ struct hlist_nulls_node *n; -+ struct nf_conn *ct; -+ struct ct_pcpu *pcpu = per_cpu_ptr(net->ct.pcpu_lists, cpu); -+ -+ rcu_read_lock(); -+ spin_lock_bh(&pcpu->lock); -+ -+ hlist_nulls_for_each_entry(h, n, &pcpu->dying, hnnode) { -+ ct = nf_ct_tuplehash_to_ctrack(h); -+ if (nf_ct_rtcache_find(ct) != NULL) { -+ wait = true; -+ break; -+ } -+ } -+ spin_unlock_bh(&pcpu->lock); -+ rcu_read_unlock(); -+ } -+ -+ return wait; -+} -+ -+static void __exit nf_conntrack_rtcache_fini(void) -+{ -+ struct net *net; -+ int count = 0; -+ -+ synchronize_net(); -+ -+ unregister_netdevice_notifier(&nf_rtcache_notifier); -+ unregister_pernet_subsys(&rtcache_ops_net_ops); -+ -+ synchronize_net(); -+ -+ rtnl_lock(); -+ -+ /* zap all conntracks with rtcache extension */ -+ for_each_net(net) -+ nf_ct_iterate_cleanup_net(net, nf_rtcache_ext_remove, NULL, 0, 0); -+ -+ for_each_net(net) { -+ /* .. and make sure they're gone from dying list, too */ -+ while (nf_conntrack_rtcache_wait_for_dying(net)) { -+ msleep(200); -+ WARN_ONCE(++count > 25, "Waiting for all rtcache conntracks to go away\n"); -+ } -+ } -+ -+ rtnl_unlock(); -+ -+ synchronize_net(); -+ nf_ct_extend_unregister(&rtcache_extend); -+} -+module_init(nf_conntrack_rtcache_init); -+module_exit(nf_conntrack_rtcache_fini); -+ -+MODULE_LICENSE("GPL"); -+MODULE_AUTHOR("Florian Westphal "); -+MODULE_DESCRIPTION("Conntrack route cache extension"); diff --git a/target/linux/generic/hack-5.4/250-netfilter_depends.patch b/target/linux/generic/hack-5.4/250-netfilter_depends.patch index 512e58efcf..d03cb53180 100644 --- a/target/linux/generic/hack-5.4/250-netfilter_depends.patch +++ b/target/linux/generic/hack-5.4/250-netfilter_depends.patch @@ -9,7 +9,7 @@ Signed-off-by: Felix Fietkau --- a/net/netfilter/Kconfig +++ b/net/netfilter/Kconfig -@@ -240,7 +240,6 @@ config NF_CONNTRACK_FTP +@@ -228,7 +228,6 @@ config NF_CONNTRACK_FTP config NF_CONNTRACK_H323 tristate "H.323 protocol support" @@ -17,7 +17,7 @@ Signed-off-by: Felix Fietkau depends on NETFILTER_ADVANCED help H.323 is a VoIP signalling protocol from ITU-T. As one of the most -@@ -1100,7 +1099,6 @@ config NETFILTER_XT_TARGET_SECMARK +@@ -1088,7 +1087,6 @@ config NETFILTER_XT_TARGET_SECMARK config NETFILTER_XT_TARGET_TCPMSS tristate '"TCPMSS" target support' diff --git a/target/linux/generic/hack-5.4/650-netfilter-add-xt_OFFLOAD-target.patch b/target/linux/generic/hack-5.4/650-netfilter-add-xt_OFFLOAD-target.patch index 737392b1f3..d584cb5c6c 100644 --- a/target/linux/generic/hack-5.4/650-netfilter-add-xt_OFFLOAD-target.patch +++ b/target/linux/generic/hack-5.4/650-netfilter-add-xt_OFFLOAD-target.patch @@ -47,7 +47,7 @@ Signed-off-by: Felix Fietkau depends on !NF_CONNTRACK || NF_CONNTRACK --- a/net/netfilter/Kconfig +++ b/net/netfilter/Kconfig -@@ -702,8 +702,6 @@ config NFT_FIB_NETDEV +@@ -690,8 +690,6 @@ config NFT_FIB_NETDEV endif # NF_TABLES_NETDEV @@ -56,7 +56,7 @@ Signed-off-by: Felix Fietkau config NF_FLOW_TABLE_INET tristate "Netfilter flow table mixed IPv4/IPv6 module" depends on NF_FLOW_TABLE -@@ -712,11 +710,12 @@ config NF_FLOW_TABLE_INET +@@ -700,11 +698,12 @@ config NF_FLOW_TABLE_INET To compile it as a module, choose M here. @@ -70,7 +70,7 @@ Signed-off-by: Felix Fietkau help This option adds the flow table core infrastructure. -@@ -1005,6 +1004,15 @@ config NETFILTER_XT_TARGET_NOTRACK +@@ -993,6 +992,15 @@ config NETFILTER_XT_TARGET_NOTRACK depends on NETFILTER_ADVANCED select NETFILTER_XT_TARGET_CT @@ -88,7 +88,7 @@ Signed-off-by: Felix Fietkau depends on NETFILTER_ADVANCED --- a/net/netfilter/Makefile +++ b/net/netfilter/Makefile -@@ -144,6 +144,7 @@ obj-$(CONFIG_NETFILTER_XT_TARGET_CLASSIF +@@ -141,6 +141,7 @@ obj-$(CONFIG_NETFILTER_XT_TARGET_CLASSIF obj-$(CONFIG_NETFILTER_XT_TARGET_CONNSECMARK) += xt_CONNSECMARK.o obj-$(CONFIG_NETFILTER_XT_TARGET_CT) += xt_CT.o obj-$(CONFIG_NETFILTER_XT_TARGET_DSCP) += xt_DSCP.o diff --git a/target/linux/generic/pending-5.4/640-netfilter-nf_flow_table-add-hardware-offload-support.patch b/target/linux/generic/pending-5.4/640-netfilter-nf_flow_table-add-hardware-offload-support.patch index e944a71884..02600ebed0 100644 --- a/target/linux/generic/pending-5.4/640-netfilter-nf_flow_table-add-hardware-offload-support.patch +++ b/target/linux/generic/pending-5.4/640-netfilter-nf_flow_table-add-hardware-offload-support.patch @@ -128,7 +128,7 @@ Signed-off-by: Pablo Neira Ayuso #define NFTA_FLOWTABLE_MAX (__NFTA_FLOWTABLE_MAX - 1) --- a/net/netfilter/Kconfig +++ b/net/netfilter/Kconfig -@@ -723,6 +723,15 @@ config NF_FLOW_TABLE +@@ -711,6 +711,15 @@ config NF_FLOW_TABLE To compile it as a module, choose M here. @@ -146,7 +146,7 @@ Signed-off-by: Pablo Neira Ayuso default m if NETFILTER_ADVANCED=n --- a/net/netfilter/Makefile +++ b/net/netfilter/Makefile -@@ -126,6 +126,7 @@ obj-$(CONFIG_NF_FLOW_TABLE) += nf_flow_t +@@ -123,6 +123,7 @@ obj-$(CONFIG_NF_FLOW_TABLE) += nf_flow_t nf_flow_table-objs := nf_flow_table_core.o nf_flow_table_ip.o obj-$(CONFIG_NF_FLOW_TABLE_INET) += nf_flow_table_inet.o From 3e3af1908c9487e85d5666c83551024b6ec446e2 Mon Sep 17 00:00:00 2001 From: Tony Ambardar Date: Sun, 18 Apr 2021 03:09:44 -0700 Subject: [PATCH 6/7] iproute2: avoid unneeded compiles to speed building Skip building Makefile targets that aren't packaged: tipc, dcb, ifstat, rtacct, lnstat, and man. Also, only compile targets needed for the current build variant i.e. don't compile 'tc' when building an 'ip' variant and vice versa. These changes reduce typical build times by over 30%: $ make package/iproute2/clean && time make -j8 package/iproute2/compile (old) ... real 2m24.985s user 3m12.537s sys 0m26.677s (new) ... real 1m36.945s user 2m8.734s sys 0m20.046s Signed-off-by: Tony Ambardar --- package/network/utils/iproute2/Makefile | 3 ++- ...=> 120-no_arpd_ifstat_rtacct_lnstat.patch} | 7 +++++- ....patch => 130-no_netem_tipc_dcb_man.patch} | 2 +- .../patches/195-build_variant_ip_tc.patch | 22 +++++++++++++++++++ 4 files changed, 31 insertions(+), 3 deletions(-) rename package/network/utils/iproute2/patches/{120-no_arpd.patch => 120-no_arpd_ifstat_rtacct_lnstat.patch} (56%) rename package/network/utils/iproute2/patches/{130-no_netem.patch => 130-no_netem_tipc_dcb_man.patch} (84%) create mode 100644 package/network/utils/iproute2/patches/195-build_variant_ip_tc.patch diff --git a/package/network/utils/iproute2/Makefile b/package/network/utils/iproute2/Makefile index d7a7b3ed0f..54165636c7 100644 --- a/package/network/utils/iproute2/Makefile +++ b/package/network/utils/iproute2/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=iproute2 PKG_VERSION:=5.11.0 -PKG_RELEASE:=3 +PKG_RELEASE:=4 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz PKG_SOURCE_URL:=@KERNEL/linux/utils/net/iproute2 @@ -153,6 +153,7 @@ MAKE_FLAGS += \ KERNEL_INCLUDE="$(LINUX_DIR)/user_headers/include" \ SHARED_LIBS=$(SHARED_LIBS) \ IP_CONFIG_TINY=$(IP_CONFIG_TINY) \ + BUILD_VARIANT=$(BUILD_VARIANT) \ LIBBPF_FORCE=$(LIBBPF_FORCE) \ HAVE_ELF=$(HAVE_ELF) \ HAVE_MNL=$(HAVE_MNL) \ diff --git a/package/network/utils/iproute2/patches/120-no_arpd.patch b/package/network/utils/iproute2/patches/120-no_arpd_ifstat_rtacct_lnstat.patch similarity index 56% rename from package/network/utils/iproute2/patches/120-no_arpd.patch rename to package/network/utils/iproute2/patches/120-no_arpd_ifstat_rtacct_lnstat.patch index 772398140b..bb6a8d0180 100644 --- a/package/network/utils/iproute2/patches/120-no_arpd.patch +++ b/package/network/utils/iproute2/patches/120-no_arpd_ifstat_rtacct_lnstat.patch @@ -1,6 +1,11 @@ --- a/misc/Makefile +++ b/misc/Makefile -@@ -6,9 +6,9 @@ TARGETS=ss nstat ifstat rtacct lnstat +@@ -2,13 +2,13 @@ + SSOBJ=ss.o ssfilter_check.o ssfilter.tab.o + LNSTATOBJ=lnstat.o lnstat_util.o + +-TARGETS=ss nstat ifstat rtacct lnstat ++TARGETS=ss nstat include ../config.mk diff --git a/package/network/utils/iproute2/patches/130-no_netem.patch b/package/network/utils/iproute2/patches/130-no_netem_tipc_dcb_man.patch similarity index 84% rename from package/network/utils/iproute2/patches/130-no_netem.patch rename to package/network/utils/iproute2/patches/130-no_netem_tipc_dcb_man.patch index 7d2fa03945..e3faee0d8f 100644 --- a/package/network/utils/iproute2/patches/130-no_netem.patch +++ b/package/network/utils/iproute2/patches/130-no_netem_tipc_dcb_man.patch @@ -5,7 +5,7 @@ YACCFLAGS = -d -t -v -SUBDIRS=lib ip tc bridge misc netem genl tipc devlink rdma dcb man -+SUBDIRS=lib ip tc bridge misc genl tipc devlink rdma dcb man ++SUBDIRS=lib ip tc bridge misc genl devlink rdma LIBNETLINK=../lib/libutil.a ../lib/libnetlink.a LDLIBS += $(LIBNETLINK) diff --git a/package/network/utils/iproute2/patches/195-build_variant_ip_tc.patch b/package/network/utils/iproute2/patches/195-build_variant_ip_tc.patch new file mode 100644 index 0000000000..13418662ee --- /dev/null +++ b/package/network/utils/iproute2/patches/195-build_variant_ip_tc.patch @@ -0,0 +1,22 @@ +--- a/ip/Makefile ++++ b/ip/Makefile +@@ -26,7 +26,7 @@ STATIC_SYM_SOURCES:=$(filter-out $(STATI + + ALLOBJ=$(IPOBJ) $(RTMONOBJ) + SCRIPTS=ifcfg rtpr routel routef +-TARGETS=ip rtmon ++TARGETS=$(findstring ip,$(BUILD_VARIANT)) rtmon + + all: $(TARGETS) $(SCRIPTS) + +--- a/tc/Makefile ++++ b/tc/Makefile +@@ -141,7 +141,7 @@ MODDESTDIR := $(DESTDIR)$(LIBDIR)/tc + $(QUIET_CC)$(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -shared -fpic $< -o $@ + + +-all: tc $(TCSO) ++all: $(findstring tc,$(BUILD_VARIANT)) $(TCSO) + + tc: $(TCOBJ) $(LIBNETLINK) libtc.a + $(QUIET_LINK)$(CC) $(filter-out dynsyms.list, $^) $(LDFLAGS) $(LDLIBS) -o $@ From 182eaa4916e0010e8848ec15ddc72ffdddb0c51a Mon Sep 17 00:00:00 2001 From: Rui Salvaterra Date: Wed, 21 Apr 2021 19:37:49 +0100 Subject: [PATCH 7/7] kernel: bump 5.10 to 5.10.32 Deleted (reverse-appliable): mediatek/patches-5.10/360-mtd-rawnand-mtk-Fix-WAITRDY-break-condition-and-time.patch Automatically refreshed: ath79/patches-5.10/0036-GPIO-add-named-gpio-exports.patch generic/backport-5.10/600-v5.12-net-extract-napi-poll-functionality-to-__napi_poll.patch generic/backport-5.10/601-v5.12-net-implement-threaded-able-napi-poll-loop-support.patch generic/backport-5.10/602-v5.12-net-add-sysfs-attribute-to-control-napi-threaded-mod.patch generic/backport-5.10/603-v5.12-net-fix-race-between-napi-kthread-mode-and-busy-poll.patch generic/pending-5.10/600-netfilter_conntrack_flush.patch generic/pending-5.10/613-netfilter_optional_tcp_window_check.patch generic/pending-5.10/680-NET-skip-GRO-for-foreign-MAC-addresses.patch generic/pending-5.10/768-net-dsa-mv88e6xxx-Request-assisted-learning-on-CPU-port.patch lantiq/patches-5.10/0030-GPIO-add-named-gpio-exports.patch ramips/patches-5.10/800-GPIO-add-named-gpio-exports.patch Signed-off-by: Rui Salvaterra --- include/kernel-version.mk | 4 +-- .../0036-GPIO-add-named-gpio-exports.patch | 6 ++-- ...pi-poll-functionality-to-__napi_poll.patch | 8 ++--- ...threaded-able-napi-poll-loop-support.patch | 8 ++--- ...tribute-to-control-napi-threaded-mod.patch | 2 +- ...ween-napi-kthread-mode-and-busy-poll.patch | 4 +-- .../600-netfilter_conntrack_flush.patch | 4 +-- ...-netfilter_optional_tcp_window_check.patch | 4 +-- ...T-skip-GRO-for-foreign-MAC-addresses.patch | 10 +++--- ...equest-assisted-learning-on-CPU-port.patch | 2 +- .../0030-GPIO-add-named-gpio-exports.patch | 6 ++-- ...Fix-WAITRDY-break-condition-and-time.patch | 36 ------------------- .../800-GPIO-add-named-gpio-exports.patch | 6 ++-- 13 files changed, 32 insertions(+), 68 deletions(-) delete mode 100644 target/linux/mediatek/patches-5.10/360-mtd-rawnand-mtk-Fix-WAITRDY-break-condition-and-time.patch diff --git a/include/kernel-version.mk b/include/kernel-version.mk index 6e8e9dc833..58576c241a 100644 --- a/include/kernel-version.mk +++ b/include/kernel-version.mk @@ -7,10 +7,10 @@ ifdef CONFIG_TESTING_KERNEL endif LINUX_VERSION-5.4 = .113 -LINUX_VERSION-5.10 = .31 +LINUX_VERSION-5.10 = .32 LINUX_KERNEL_HASH-5.4.113 = 30cde92463c474b75f9eb197654570dd6dbb32ec20695544c5469f292662da47 -LINUX_KERNEL_HASH-5.10.31 = 54eef1a4d29a2582281375e028ac73c2c5d90dfa21500fa8c3b00e529a2b510d +LINUX_KERNEL_HASH-5.10.32 = 644f8e326e4cb8eac65f0874774c09ccf91cbe0b55eb8438c1e8711d3d07d7ba remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1)))) sanitize_uri=$(call qstrip,$(subst @,_,$(subst :,_,$(subst .,_,$(subst -,_,$(subst /,_,$(1))))))) diff --git a/target/linux/ath79/patches-5.10/0036-GPIO-add-named-gpio-exports.patch b/target/linux/ath79/patches-5.10/0036-GPIO-add-named-gpio-exports.patch index 09bad30109..c7899cc711 100644 --- a/target/linux/ath79/patches-5.10/0036-GPIO-add-named-gpio-exports.patch +++ b/target/linux/ath79/patches-5.10/0036-GPIO-add-named-gpio-exports.patch @@ -93,7 +93,7 @@ Signed-off-by: John Crispin +module_platform_driver(gpio_export_driver); --- a/drivers/gpio/gpiolib-sysfs.c +++ b/drivers/gpio/gpiolib-sysfs.c -@@ -564,7 +564,7 @@ static struct class gpio_class = { +@@ -572,7 +572,7 @@ static struct class gpio_class = { * * Returns zero on success, else an error. */ @@ -102,7 +102,7 @@ Signed-off-by: John Crispin { struct gpio_chip *chip; struct gpio_device *gdev; -@@ -626,6 +626,8 @@ int gpiod_export(struct gpio_desc *desc, +@@ -634,6 +634,8 @@ int gpiod_export(struct gpio_desc *desc, offset = gpio_chip_hwgpio(desc); if (chip->names && chip->names[offset]) ioname = chip->names[offset]; @@ -111,7 +111,7 @@ Signed-off-by: John Crispin dev = device_create_with_groups(&gpio_class, &gdev->dev, MKDEV(0, 0), data, gpio_groups, -@@ -647,6 +649,12 @@ err_unlock: +@@ -655,6 +657,12 @@ err_unlock: gpiod_dbg(desc, "%s: status %d\n", __func__, status); return status; } diff --git a/target/linux/generic/backport-5.10/600-v5.12-net-extract-napi-poll-functionality-to-__napi_poll.patch b/target/linux/generic/backport-5.10/600-v5.12-net-extract-napi-poll-functionality-to-__napi_poll.patch index 366f18d94d..6001455615 100644 --- a/target/linux/generic/backport-5.10/600-v5.12-net-extract-napi-poll-functionality-to-__napi_poll.patch +++ b/target/linux/generic/backport-5.10/600-v5.12-net-extract-napi-poll-functionality-to-__napi_poll.patch @@ -18,7 +18,7 @@ Signed-off-by: David S. Miller --- a/net/core/dev.c +++ b/net/core/dev.c -@@ -6752,15 +6752,10 @@ void __netif_napi_del(struct napi_struct +@@ -6753,15 +6753,10 @@ void __netif_napi_del(struct napi_struct } EXPORT_SYMBOL(__netif_napi_del); @@ -35,7 +35,7 @@ Signed-off-by: David S. Miller weight = n->weight; /* This NAPI_STATE_SCHED test is for avoiding a race -@@ -6780,7 +6775,7 @@ static int napi_poll(struct napi_struct +@@ -6781,7 +6776,7 @@ static int napi_poll(struct napi_struct n->poll, work, weight); if (likely(work < weight)) @@ -44,7 +44,7 @@ Signed-off-by: David S. Miller /* Drivers must not modify the NAPI state if they * consume the entire weight. In such cases this code -@@ -6789,7 +6784,7 @@ static int napi_poll(struct napi_struct +@@ -6790,7 +6785,7 @@ static int napi_poll(struct napi_struct */ if (unlikely(napi_disable_pending(n))) { napi_complete(n); @@ -53,7 +53,7 @@ Signed-off-by: David S. Miller } if (n->gro_bitmask) { -@@ -6807,12 +6802,29 @@ static int napi_poll(struct napi_struct +@@ -6808,12 +6803,29 @@ static int napi_poll(struct napi_struct if (unlikely(!list_empty(&n->poll_list))) { pr_warn_once("%s: Budget exhausted after napi rescheduled\n", n->dev ? n->dev->name : "backlog"); diff --git a/target/linux/generic/backport-5.10/601-v5.12-net-implement-threaded-able-napi-poll-loop-support.patch b/target/linux/generic/backport-5.10/601-v5.12-net-implement-threaded-able-napi-poll-loop-support.patch index a954958222..832c2839da 100644 --- a/target/linux/generic/backport-5.10/601-v5.12-net-implement-threaded-able-napi-poll-loop-support.patch +++ b/target/linux/generic/backport-5.10/601-v5.12-net-implement-threaded-able-napi-poll-loop-support.patch @@ -153,7 +153,7 @@ Signed-off-by: David S. Miller list_add_tail(&napi->poll_list, &sd->poll_list); __raise_softirq_irqoff(NET_RX_SOFTIRQ); } -@@ -6705,6 +6742,12 @@ void netif_napi_add(struct net_device *d +@@ -6706,6 +6743,12 @@ void netif_napi_add(struct net_device *d set_bit(NAPI_STATE_NPSVC, &napi->state); list_add_rcu(&napi->dev_list, &dev->napi_list); napi_hash_add(napi); @@ -166,7 +166,7 @@ Signed-off-by: David S. Miller } EXPORT_SYMBOL(netif_napi_add); -@@ -6721,9 +6764,28 @@ void napi_disable(struct napi_struct *n) +@@ -6722,9 +6765,28 @@ void napi_disable(struct napi_struct *n) hrtimer_cancel(&n->timer); clear_bit(NAPI_STATE_DISABLE, &n->state); @@ -195,7 +195,7 @@ Signed-off-by: David S. Miller static void flush_gro_hash(struct napi_struct *napi) { int i; -@@ -6749,6 +6811,11 @@ void __netif_napi_del(struct napi_struct +@@ -6750,6 +6812,11 @@ void __netif_napi_del(struct napi_struct flush_gro_hash(napi); napi->gro_bitmask = 0; @@ -207,7 +207,7 @@ Signed-off-by: David S. Miller } EXPORT_SYMBOL(__netif_napi_del); -@@ -6830,6 +6897,51 @@ static int napi_poll(struct napi_struct +@@ -6831,6 +6898,51 @@ static int napi_poll(struct napi_struct return work; } diff --git a/target/linux/generic/backport-5.10/602-v5.12-net-add-sysfs-attribute-to-control-napi-threaded-mod.patch b/target/linux/generic/backport-5.10/602-v5.12-net-add-sysfs-attribute-to-control-napi-threaded-mod.patch index e72d5eeca4..d205ebb6b4 100644 --- a/target/linux/generic/backport-5.10/602-v5.12-net-add-sysfs-attribute-to-control-napi-threaded-mod.patch +++ b/target/linux/generic/backport-5.10/602-v5.12-net-add-sysfs-attribute-to-control-napi-threaded-mod.patch @@ -69,7 +69,7 @@ Signed-off-by: David S. Miller * wake_up_process() when it's not NULL. */ thread = READ_ONCE(napi->thread); -@@ -6715,6 +6716,49 @@ static void init_gro_hash(struct napi_st +@@ -6716,6 +6717,49 @@ static void init_gro_hash(struct napi_st napi->gro_bitmask = 0; } diff --git a/target/linux/generic/backport-5.10/603-v5.12-net-fix-race-between-napi-kthread-mode-and-busy-poll.patch b/target/linux/generic/backport-5.10/603-v5.12-net-fix-race-between-napi-kthread-mode-and-busy-poll.patch index dddc35918e..92e7ec9e85 100644 --- a/target/linux/generic/backport-5.10/603-v5.12-net-fix-race-between-napi-kthread-mode-and-busy-poll.patch +++ b/target/linux/generic/backport-5.10/603-v5.12-net-fix-race-between-napi-kthread-mode-and-busy-poll.patch @@ -54,7 +54,7 @@ Cc: Hannes Frederic Sowa wake_up_process(thread); return; } -@@ -6507,7 +6509,8 @@ bool napi_complete_done(struct napi_stru +@@ -6508,7 +6510,8 @@ bool napi_complete_done(struct napi_stru WARN_ON_ONCE(!(val & NAPIF_STATE_SCHED)); @@ -64,7 +64,7 @@ Cc: Hannes Frederic Sowa /* If STATE_MISSED was set, leave STATE_SCHED set, * because we will call napi->poll() one more time. -@@ -6943,16 +6946,25 @@ static int napi_poll(struct napi_struct +@@ -6944,16 +6947,25 @@ static int napi_poll(struct napi_struct static int napi_thread_wait(struct napi_struct *napi) { diff --git a/target/linux/generic/pending-5.10/600-netfilter_conntrack_flush.patch b/target/linux/generic/pending-5.10/600-netfilter_conntrack_flush.patch index f82849c356..ab6953e557 100644 --- a/target/linux/generic/pending-5.10/600-netfilter_conntrack_flush.patch +++ b/target/linux/generic/pending-5.10/600-netfilter_conntrack_flush.patch @@ -17,7 +17,7 @@ Signed-off-by: Felix Fietkau #include #ifdef CONFIG_SYSCTL #include -@@ -456,6 +457,56 @@ static int ct_cpu_seq_show(struct seq_fi +@@ -457,6 +458,56 @@ static int ct_cpu_seq_show(struct seq_fi return 0; } @@ -74,7 +74,7 @@ Signed-off-by: Felix Fietkau static const struct seq_operations ct_cpu_seq_ops = { .start = ct_cpu_seq_start, .next = ct_cpu_seq_next, -@@ -469,8 +520,9 @@ static int nf_conntrack_standalone_init_ +@@ -470,8 +521,9 @@ static int nf_conntrack_standalone_init_ kuid_t root_uid; kgid_t root_gid; diff --git a/target/linux/generic/pending-5.10/613-netfilter_optional_tcp_window_check.patch b/target/linux/generic/pending-5.10/613-netfilter_optional_tcp_window_check.patch index 61776921c6..b70ef886b1 100644 --- a/target/linux/generic/pending-5.10/613-netfilter_optional_tcp_window_check.patch +++ b/target/linux/generic/pending-5.10/613-netfilter_optional_tcp_window_check.patch @@ -49,7 +49,7 @@ Signed-off-by: Felix Fietkau static bool enable_hooks __read_mostly; MODULE_PARM_DESC(enable_hooks, "Always enable conntrack hooks"); module_param(enable_hooks, bool, 0000); -@@ -651,6 +654,7 @@ enum nf_ct_sysctl_index { +@@ -652,6 +655,7 @@ enum nf_ct_sysctl_index { NF_SYSCTL_CT_PROTO_TIMEOUT_GRE_STREAM, #endif @@ -57,7 +57,7 @@ Signed-off-by: Felix Fietkau __NF_SYSCTL_CT_LAST_SYSCTL, }; -@@ -977,6 +981,13 @@ static struct ctl_table nf_ct_sysctl_tab +@@ -978,6 +982,13 @@ static struct ctl_table nf_ct_sysctl_tab .proc_handler = proc_dointvec_jiffies, }, #endif diff --git a/target/linux/generic/pending-5.10/680-NET-skip-GRO-for-foreign-MAC-addresses.patch b/target/linux/generic/pending-5.10/680-NET-skip-GRO-for-foreign-MAC-addresses.patch index 5c892aa2b1..8b5ec9c305 100644 --- a/target/linux/generic/pending-5.10/680-NET-skip-GRO-for-foreign-MAC-addresses.patch +++ b/target/linux/generic/pending-5.10/680-NET-skip-GRO-for-foreign-MAC-addresses.patch @@ -32,7 +32,7 @@ Signed-off-by: Felix Fietkau __u16 tc_index; /* traffic control index */ --- a/net/core/dev.c +++ b/net/core/dev.c -@@ -6017,6 +6017,9 @@ static enum gro_result dev_gro_receive(s +@@ -6018,6 +6018,9 @@ static enum gro_result dev_gro_receive(s int same_flow; int grow; @@ -42,7 +42,7 @@ Signed-off-by: Felix Fietkau if (netif_elide_gro(skb->dev)) goto normal; -@@ -7985,6 +7988,48 @@ static void __netdev_adjacent_dev_unlink +@@ -7986,6 +7989,48 @@ static void __netdev_adjacent_dev_unlink &upper_dev->adj_list.lower); } @@ -91,7 +91,7 @@ Signed-off-by: Felix Fietkau static int __netdev_upper_dev_link(struct net_device *dev, struct net_device *upper_dev, bool master, void *upper_priv, void *upper_info, -@@ -8036,6 +8081,7 @@ static int __netdev_upper_dev_link(struc +@@ -8037,6 +8082,7 @@ static int __netdev_upper_dev_link(struc if (ret) return ret; @@ -99,7 +99,7 @@ Signed-off-by: Felix Fietkau ret = call_netdevice_notifiers_info(NETDEV_CHANGEUPPER, &changeupper_info.info); ret = notifier_to_errno(ret); -@@ -8132,6 +8178,7 @@ static void __netdev_upper_dev_unlink(st +@@ -8133,6 +8179,7 @@ static void __netdev_upper_dev_unlink(st __netdev_adjacent_dev_unlink_neighbour(dev, upper_dev); @@ -107,7 +107,7 @@ Signed-off-by: Felix Fietkau call_netdevice_notifiers_info(NETDEV_CHANGEUPPER, &changeupper_info.info); -@@ -8918,6 +8965,7 @@ int dev_set_mac_address(struct net_devic +@@ -8919,6 +8966,7 @@ int dev_set_mac_address(struct net_devic if (err) return err; dev->addr_assign_type = NET_ADDR_SET; diff --git a/target/linux/generic/pending-5.10/768-net-dsa-mv88e6xxx-Request-assisted-learning-on-CPU-port.patch b/target/linux/generic/pending-5.10/768-net-dsa-mv88e6xxx-Request-assisted-learning-on-CPU-port.patch index 5b8d058247..315a1a0bdb 100644 --- a/target/linux/generic/pending-5.10/768-net-dsa-mv88e6xxx-Request-assisted-learning-on-CPU-port.patch +++ b/target/linux/generic/pending-5.10/768-net-dsa-mv88e6xxx-Request-assisted-learning-on-CPU-port.patch @@ -17,7 +17,7 @@ Signed-off-by: Tobias Waldekranz --- a/drivers/net/dsa/mv88e6xxx/chip.c +++ b/drivers/net/dsa/mv88e6xxx/chip.c -@@ -5405,6 +5405,7 @@ static int mv88e6xxx_register_switch(str +@@ -5401,6 +5401,7 @@ static int mv88e6xxx_register_switch(str ds->ops = &mv88e6xxx_switch_ops; ds->ageing_time_min = chip->info->age_time_coeff; ds->ageing_time_max = chip->info->age_time_coeff * U8_MAX; diff --git a/target/linux/lantiq/patches-5.10/0030-GPIO-add-named-gpio-exports.patch b/target/linux/lantiq/patches-5.10/0030-GPIO-add-named-gpio-exports.patch index 209548bccd..23dde675b5 100644 --- a/target/linux/lantiq/patches-5.10/0030-GPIO-add-named-gpio-exports.patch +++ b/target/linux/lantiq/patches-5.10/0030-GPIO-add-named-gpio-exports.patch @@ -136,7 +136,7 @@ Signed-off-by: John Crispin { --- a/drivers/gpio/gpiolib-sysfs.c +++ b/drivers/gpio/gpiolib-sysfs.c -@@ -564,7 +564,7 @@ static struct class gpio_class = { +@@ -572,7 +572,7 @@ static struct class gpio_class = { * * Returns zero on success, else an error. */ @@ -145,7 +145,7 @@ Signed-off-by: John Crispin { struct gpio_chip *chip; struct gpio_device *gdev; -@@ -626,6 +626,8 @@ int gpiod_export(struct gpio_desc *desc, +@@ -634,6 +634,8 @@ int gpiod_export(struct gpio_desc *desc, offset = gpio_chip_hwgpio(desc); if (chip->names && chip->names[offset]) ioname = chip->names[offset]; @@ -154,7 +154,7 @@ Signed-off-by: John Crispin dev = device_create_with_groups(&gpio_class, &gdev->dev, MKDEV(0, 0), data, gpio_groups, -@@ -647,6 +649,12 @@ err_unlock: +@@ -655,6 +657,12 @@ err_unlock: gpiod_dbg(desc, "%s: status %d\n", __func__, status); return status; } diff --git a/target/linux/mediatek/patches-5.10/360-mtd-rawnand-mtk-Fix-WAITRDY-break-condition-and-time.patch b/target/linux/mediatek/patches-5.10/360-mtd-rawnand-mtk-Fix-WAITRDY-break-condition-and-time.patch deleted file mode 100644 index 340e80f67b..0000000000 --- a/target/linux/mediatek/patches-5.10/360-mtd-rawnand-mtk-Fix-WAITRDY-break-condition-and-time.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 4a4854761c9dedeedbf72c25d1317ab2e7600d4f Mon Sep 17 00:00:00 2001 -From: Hauke Mehrtens -Date: Mon, 8 Mar 2021 23:16:17 +0100 -Subject: [PATCH] mtd: rawnand: mtk: Fix WAITRDY break condition and timeout - -This fixes NAND_OP_WAITRDY_INSTR operation in the driver. Without this -change the driver waits till the system is busy, but we should wait till -the busy flag is cleared. The readl_poll_timeout() function gets a break -condition, not a wait condition. - -In addition fix the timeout. The timeout_ms is given in ms, but the -readl_poll_timeout() function takes the timeout in us. Multiple the -given timeout by 1000 to convert it. - -Without this change, the driver does not work at all, it doesn't even -identify the NAND chip. - -Fixes: 5197360f9e09 ("mtd: rawnand: mtk: Convert the driver to exec_op()") -Signed-off-by: Hauke Mehrtens ---- - drivers/mtd/nand/raw/mtk_nand.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - ---- a/drivers/mtd/nand/raw/mtk_nand.c -+++ b/drivers/mtd/nand/raw/mtk_nand.c -@@ -488,8 +488,8 @@ static int mtk_nfc_exec_instr(struct nan - return 0; - case NAND_OP_WAITRDY_INSTR: - return readl_poll_timeout(nfc->regs + NFI_STA, status, -- status & STA_BUSY, 20, -- instr->ctx.waitrdy.timeout_ms); -+ !(status & STA_BUSY), 20, -+ instr->ctx.waitrdy.timeout_ms * 1000); - default: - break; - } diff --git a/target/linux/ramips/patches-5.10/800-GPIO-add-named-gpio-exports.patch b/target/linux/ramips/patches-5.10/800-GPIO-add-named-gpio-exports.patch index 09bad30109..c7899cc711 100644 --- a/target/linux/ramips/patches-5.10/800-GPIO-add-named-gpio-exports.patch +++ b/target/linux/ramips/patches-5.10/800-GPIO-add-named-gpio-exports.patch @@ -93,7 +93,7 @@ Signed-off-by: John Crispin +module_platform_driver(gpio_export_driver); --- a/drivers/gpio/gpiolib-sysfs.c +++ b/drivers/gpio/gpiolib-sysfs.c -@@ -564,7 +564,7 @@ static struct class gpio_class = { +@@ -572,7 +572,7 @@ static struct class gpio_class = { * * Returns zero on success, else an error. */ @@ -102,7 +102,7 @@ Signed-off-by: John Crispin { struct gpio_chip *chip; struct gpio_device *gdev; -@@ -626,6 +626,8 @@ int gpiod_export(struct gpio_desc *desc, +@@ -634,6 +634,8 @@ int gpiod_export(struct gpio_desc *desc, offset = gpio_chip_hwgpio(desc); if (chip->names && chip->names[offset]) ioname = chip->names[offset]; @@ -111,7 +111,7 @@ Signed-off-by: John Crispin dev = device_create_with_groups(&gpio_class, &gdev->dev, MKDEV(0, 0), data, gpio_groups, -@@ -647,6 +649,12 @@ err_unlock: +@@ -655,6 +657,12 @@ err_unlock: gpiod_dbg(desc, "%s: status %d\n", __func__, status); return status; }