aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/generic
Commit message (Collapse)AuthorAgeFilesLines
* kernel: bump 5.4 to 5.4.60Adrian Schmutzler2020-08-244-135/+6
| | | | | | | | | | | | | | | | | | | | Deleted upstream patches: generic: 041-genirq-affinity-Make-affinity-setting-if-activated-o.patch ipq806x: 093-5-v5.8-ipq806x-PCI-qcom-Define-some-PARF-params-needed-for-ipq8064-SoC.patch 093-6-v5.8-ipq806x-PCI-qcom-Add-support-for-tx-term-offset-for-rev-2_1_0.patch Merged manually: ipq806x: 093-4-v5.8-ipq806x-PCI-qcom-Use-bulk-clk-api-and-assert-on-error.patch layerscape: 804-crypto-0016-MLKU-114-1-crypto-caam-reduce-page-0-regs-access-to-.patch Build-tested: ath79/generic, ipq806x, layerscape/armv7, layerscape/armv8_64b Run-tested: ipq806x (R7800) Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* kernel: add patch that adds support for running threaded NAPI poll functionsFelix Fietkau2020-08-226-15/+1036
| | | | | | | This is helps on workloads with CPU intensive poll functions (e.g. 802.11) on multicore systems Signed-off-by: Felix Fietkau <nbd@nbd.name>
* kernel: backport a fix for a regression that broke IRQ affinity on ARMFelix Fietkau2020-08-211-0/+129
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* kernel: Add GigaDevice GD5F4GQ4xC SPI NAND flashHauke Mehrtens2020-08-213-0/+193
| | | | | | This flash was found on the Imagination Technologies Creator Ci40 (Marduk). Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* kernel: bump 5.4 to 5.4.59Adrian Schmutzler2020-08-208-18/+18
| | | | | | | | | | | | | | | | | | | | | | Removed since added upstream: bcm27xx: 950-0428-staging-vchiq_arm-Add-a-matching-unregister-call.patch lantiq: 0800-spi-lantiq-ssc-Fix-warning-by-using-WQ_MEM_RECLAI.patch Manually adjusted patches: layerscape: 801-audio-0005-Revert-ASoC-fsl_sai-Add-support-for-SAI-new-version.patch Build-tested: ath79/generic, ramips, lantiq/xrx200, lantiq/xway, mvebu/cortexa9, sunxi/a53 Run-tested: ipq806x (R7800), layerscape (LS1012A-FRDM, LS1046A-RDB) Building on layerscape is only possible with workaround from PR #3179. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de> Tested-By: John Audia <graysky@archlinux.us> [ipq806x] Tested-by: Pawel Dembicki <paweldembicki@gmail.com> [layerscape]
* kernel: bump 5.4 to 5.4.58John Audia2020-08-1815-326/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This PR is a blend of several kernel bumps authored by ldir taken from his staging tree w/ some further adjustments made by me and update_kernel.sh Summary: Deleted upstreamed patches: generic: 742-v5.5-net-sfp-add-support-for-module-quirks.patch 743-v5.5-net-sfp-add-some-quirks-for-GPON-modules.patch bcm63xx: 022-v5.8-mtd-rawnand-brcmnand-correctly-verify-erased-pages.patch 024-v5.8-mtd-rawnand-brcmnand-fix-CS0-layout.patch mediatek: 0402-net-ethernet-mtk_eth_soc-Always-call-mtk_gmac0_rgmii.patch Deleted patches applied differently upstream: generic: 641-sch_cake-fix-IP-protocol-handling-in-the-presence-of.patch Manually merged patches: generic: 395-v5.8-net-sch_cake-Take-advantage-of-skb-hash-where-appropriate.patch bcm27xx: 950-0132-lan78xx-Debounce-link-events-to-minimize-poll-storm.patch layerscape: 701-net-0231-enetc-Use-DT-protocol-information-to-set-up-the-port.patch Build system: x86_64 Build-tested: ath79/generic, bcm27xx/bcm2708, bcm27xx/bcm2711, imx6, mvebu/cortexa9, sunxi/a53 Run-tested: Netgear R7800 (ipq806x) No dmesg regressions, everything functional Signed-off-by: John Audia <graysky@archlinux.us> Tested-By: Lucian Cristian <Lucian.cristian@gmail.com> [mvebu] Tested-By: Curtis Deptuck <curtdept@me.com> [x86/64] [do not remove 395-v5.8-net-sch_cake-Take-advantage-... patch, adjust and refresh patches, adjust commit message] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de> Tested-By: John Audia <graysky@archlinux.us> [ipq806x]
* generic: platform/mikrotik: fix incorrect testThibaut VARÈNE2020-08-181-1/+1
| | | | | | The test is meant to check the result of the preceding kmalloc() Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
* kernel: mips: fix init crash/bootloop on 64-bit systemsTony Ambardar2020-08-151-0/+59
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The malta subtargets for mips64 and mips64el fail to start the init process at boot, resulting in a boot loop. The issue was raised and analyzed within FS#3277. Investigation suggested code near the [vdso] memory area of the process was long jumping into a region inaccessible to the process, e.g. init: - preinit - init: Launched preinit instance, pid=522 do_page_fault(): sending SIGSEGV to init for invalid read access from 0000000000000360 epc = 0000000000000360 in init[aaab42b000+4000] ra = 000000fffee385e0 in Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b Rebooting in 1 seconds.. Note the low-memory read access and epc are the same. Upstream kernel 5.6 included a relevant patch and discussion: * d3f703c4359f ("mips: vdso: fix 'jalr t9' crash in vdso code") Disassembly of the failing kernel's vdso.so confirmed presence of the telltale long jumps, e.g.: 00000000000007c0 <__vdso_clock_getres@@LINUX_2.6>: [...] 7dc: 0320f809 jalr t9 [...] Restore booting mips64/mips64el malta by backporting the above commit: * 310-v5.6-mips-vdso-fix-jalr-t9-crash-in-vdso-code.patch Fixes: 54310a3aa02f ("malta: add kernel 5.4 config") Fixes: FS#3277 Ref: https://bugs.openwrt.org/index.php?do=details&task_id=3277 Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
* kernel: add CGROUPS and IOSCHED_BFQ back to configAdrian Schmutzler2020-08-123-0/+6
| | | | | | | | | | | | After those symbols have been removed from generic kernel config, they were added to the target config during every kernel config refresh. As that's not desirable, add them back to the generic config. Fixes: d1a8217d87bf ("kernel: clean-up build-configurable kernel config symbols") Fixes: cfe235c43686 ("kernel: modules: add package kmod-iosched-bfq") Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* kernel: Fix cake patch for kernel 4.19.138Hauke Mehrtens2020-08-111-2/+2
| | | | | | | | | | | | | This fixes the following build problem with cake: net/sched/act_ctinfo.c: In function 'tcf_ctinfo_act': net/sched/act_ctinfo.c:99:6: error: implicit declaration of function 'tc_skb_protocol'; did you mean 'skb_protocol'? [-Werror=implicit-function-declaration] if (tc_skb_protocol(skb) == htons(ETH_P_IP)) { ^~~~~~~~~~~~~~~ skb_protocol CC [M] net/sched/sch_hfsc.o Fixes: fdac05b7416b ("kernel: Update kernel 4.19 to version 4.19.138") Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* kernel: Create UBIFS v5 volumeHauke Mehrtens2020-08-116-195/+0
| | | | | | | | | | | | | In commit 87b35c16adcf ("kernel: ubifs: create use file system format 4 by default") we changed the default UBIFS version used when the kernel creates a new volume from 5 to 4. UBIFS v5 was added in kernel 4.10 and only kernel 4.10 and later can read it. We changed the kernel to create version 4 volumes also on more recent kernel versions to make it possible to downgrade to an OpenWrt version with kernel 4.9, the upgrade still works. This is probably not needed any more and we can remove this patch. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* kernel: Move CONFIG_IONIC to generic kernel configHauke Mehrtens2020-08-101-0/+1
| | | | | | | It is deactivated everywhere, just set this in the generic config. Acked-by: Yousong Zhou <yszhou4tech@gmail.com> Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* kernel: Update kernel 4.14 to version 4.14.193Hauke Mehrtens2020-08-106-13/+13
| | | | Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* kernel: Update kernel 4.19 to version 4.19.138Hauke Mehrtens2020-08-1014-252/+28
| | | | | | Compile and run tested on lantiq/xrx200 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* kernel: modules: add package kmod-iosched-bfqDaniel Golle2020-08-103-3/+0
| | | | Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* kernel: add missing config symbolsFelix Fietkau2020-08-093-0/+9
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* kernel: unify CONFIG_GPIO_SYSFS in kernel configsFelix Fietkau2020-08-063-3/+3
| | | | | | Enable it for all platforms Signed-off-by: Felix Fietkau <nbd@nbd.name>
* kernel: fix missing TRANSPARENT_HUGEPAGE symbolsStijn Tintel2020-08-011-0/+1
| | | | | | | | | | | | | | | | Enabling KERNEL_TRANSPARENT_HUGEPAGE exposes 2 missing symbols: * CONFIG_READ_ONLY_THP_FOR_FS * TRANSPARENT_HUGEPAGE_ALWAYS * TRANSPARENT_HUGEPAGE_MADVISE The first one was added in 5.4, and is marked experimental there so just disable it in the generic config. For the latter two, we should not force the user to use either of them, so add them as build-configurable kernel options. Fixes: d1a8217d87bf ("kernel: clean-up build-configurable kernel config symbols") Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
* kernel: add missing config symbolStijn Tintel2020-08-013-0/+3
| | | | | | | | | | This symbol is exposed on ARM64 with EFI enabled in the kernel config. Currently this happens only on ipq807x, but as there might be new ARM64 targets with EFI in the future it is better to add the symbol to the generic config. Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be> Acked-by: Jo-Philipp Wich <jo@mein.io>
* kernel: mips: restore missing MIPS32 cBPF JITTony Ambardar2020-07-311-0/+1663
| | | | | | | | | | | | | | | | | | | Kernel v5.1 included an eBPF JIT for MIPS32 kernels, but problems were discovered [1] and the changes later reverted in kernel v5.5 with commits: * f8fffebdea75 ("MIPS: BPF: Disable MIPS32 eBPF JIT") * 36366e367ee9 ("MIPS: BPF: Restore MIPS32 cBPF JIT") Only the first of these was backported to LTS kernel 5.4, leaving cBPF programs without a JIT and introducing a performance regression for any such users e.g. libpcap, tcpdump, etc. Restore cBPF performance by backporting the second commit above: * 070-v5.5-MIPS-BPF-Restore-MIPS32-cBPF-JIT.patch [1] https://lore.kernel.org/bpf/20191205182318.2761605-1-paulburton@kernel.org/ Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
* kernel: clean-up build-configurable kernel config symbolsDaniel Golle2020-07-303-27/+0
| | | | | | | | | Don't explicitely disable options in target/linux/generic/config-* if they are already controlled in config/Config-kernel.in. Add a bunch of new symbols and prepare defaults for using only unified hierarchy (ie. cgroup2). Update symbol dependencies while at it Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* treewide: rename POWER_ON_STRIP registerSungbo Eo2020-07-252-11/+11
| | | | | | | | | | AR8327 datasheet[1] calls the register at address 0x0010 "Power-on Strapping Register". As it has nothing to do with "strip", let's rename it to "POWER_ON_STRAP" to make it easier to grasp. [1] https://lafibre.info/images/doc/201106_spec_AR8327.pdf Signed-off-by: Sungbo Eo <mans0n@gorani.run>
* kernel: bump 5.4 to 5.4.52John Audia2020-07-173-4/+4
| | | | | | | | | update_kernel.sh refreshed all patches, no human interaction was needed Build system: x86_64 Run-tested: Netgear R7800 (ipq806x) Signed-off-by: John Audia <graysky@archlinux.us>
* kernel: mtdsplit_uimage: add SGE parserMathieu Martin-Borret2020-07-131-0/+38
| | | | | | | Adding SGE parser for SGE (T&W) Shenzhen Gongjin Electronics to add 96 bytes padding the the firmware image Signed-off-by: Mathieu Martin-Borret <mathieu.mb@protonmail.com>
* kernel: bump 5.4 to 5.4.51John Audia2020-07-113-63/+2
| | | | | | | | | | | | | | | | | | | | | update via update_kernel.sh -v -u 5.4 Removed upstreamed patches: 350-MIPS-Add-missing-EHB-in-mtc0-mfc0-sequence-for-DSPen.patch Script refreshed patches: 902-debloat_proc.patch 904-debloat_dma_buf.patch Attempted merge conflict in following patches: 0024-MIPS-lantiq-revert-DSA-switch-driver-PMU-clock-chang.patch Build system: x86_64 Build tested: ipq806x (Netgear R7800) Signed-off-by: John Audia <graysky@archlinux.us> [fixed sha256sum of the tarball] Signed-off-by: Petr Štetiar <ynezz@true.cz>
* generic: platform/mikrotik: add partial AR71xx cpufreq supportThibaut VARÈNE2020-07-081-28/+71
| | | | | | | | This patch adds cpu frequency setting for AR724x and AR7161. It is unknown if all the AR71xx devices support the same value range, so support is only enabled for AR7161 at this stage. Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
* generic: platform/mikrotik: add board_revision tagThibaut VARÈNE2020-07-081-1/+6
| | | | | | Tag was discovered exploring the hard_config of a "r2" board. Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
* generic: platform/mikrotik: graceful fallback for cpufreq_indexThibaut VARÈNE2020-07-081-9/+12
| | | | | | | | | | The current code would return an error on ath79 when the SoC isn't known to the driver. Return the raw hex value instead, as happens with non supported targets. Also return the correctly incremented value from sc_tag_cpufreq_ath79_arraysize() Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
* generic: platform/mikrotik: match RouterBOOT nomenclatureThibaut VARÈNE2020-07-081-18/+19
| | | | | | | RouterBOOT cpu frequency settings are letter-indexed. Follow the same logic for the sysfs interface. Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
* generic: platform/mikrotik: fix routerboot_tag_show_u32s()Thibaut VARÈNE2020-07-081-5/+5
| | | | | | | The routine would only accurately print out the first word. Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org> Fixes: 5ecf7d96 ("generic: routerboot sysfs platform driver")
* kernel: Update kernel 5.4 to version 5.4.50Hauke Mehrtens2020-07-0430-346/+63
| | | | | | | Run tested: ath79, ipq40xx Build tested: ath79, ipq40xx Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* kernel: Update kernel 4.19 to version 4.19.131Hauke Mehrtens2020-07-0436-289/+83
| | | | | | | | | | | | | Fixes: - CVE-2020-10757 The "mtd: rawnand: Pass a nand_chip object to nand_release()" commit was backported which needed some adaptations to other code. Run tested: ath79 Build tested: ath79 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* kernel: Update kernel 4.14 to version 4.14.187Hauke Mehrtens2020-07-0423-57/+53
| | | | | | | | | | | | Fixes: - CVE-2020-10757 The "mtd: rawnand: Pass a nand_chip object to nand_release()" commit was backported which needed some adaptations to other code. Build tested: ramips Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* kernel: Fix ath79 DSP exception at bootupHauke Mehrtens2020-07-042-0/+122
| | | | | | | | | | | This resolves a hazard between a mtc0 and a mfc0 instruction after activating the DSP support. Without this fix the CPU could use the old value again and the DSP support would not be active. Fixes: FS#2928, FS#2899 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> Tested-by: Stefan Lippers-Hollmann <s.l-h@gmx.de> [ath79/tl-wdr3600; ath79/tl-wdr4300] Tested-by: David Bauer <mail@david-bauer.net> [ocedo_koala/ocedo_raccoon]
* kernel: cake: backport upstream tweaks & fixesKevin Darbyshire-Bryant2020-06-3013-14/+752
| | | | | | | | | | | | | | | | From upstream: b8392808eb3f sch_cake: add RFC 8622 LE PHB support to CAKE diffserv handling 3f608f0c4136 sch_cake: fix a few style nits 8c95eca0bb8c sch_cake: don't call diffserv parsing code when it is not needed 9208d2863ac6 sch_cake: don't try to reallocate or unshare skb unconditionally From netdev not yet accepted: sch_cake: fix IP protocol handling in the presence of VLAN tags The VLAN tag handling is actually wider than just cake so upstream are working out how to fix it generically. We fix it here just for cake. Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
* kernel: cake: backport unused var patch to 5.4Kevin Darbyshire-Bryant2020-06-302-0/+158
| | | | | | | This was backported to 4.19 and I clearly expected it to land in 5.4 but it didn't (5.5) so backport it to 5.4 for consistency. Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
* kernel: cake: skb hash backport to 419Kevin Darbyshire-Bryant2020-06-301-0/+170
| | | | | | | Commit 7b4877c2040a63332cd1f10023c51698fec2ed98 backported to 5.4 only, backport to 4.19 as well. Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
* kernel: cake: renumber backport patchesKevin Darbyshire-Bryant2020-06-306-0/+0
| | | | Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
* target/hack-5.4: platform/x86/pcengines: revert led simswich compromiseFlorian Eckert2020-06-261-0/+56
| | | | | | | | With this change the LED subsystem is abused in the kernel to switch the simswap. This change will be reverted, so we could use again the gpio subsystem. Signed-off-by: Florian Eckert <fe@dev.tdt.de>
* kernel: bump 5.4 to 5.4.48Petr Štetiar2020-06-228-15/+11
| | | | | | | | | | | | | | | | Resolved merge conflict in the following patches: layerscape: 701-net-0213-dpaa2-eth-Add-CEETM-qdisc-support.patch ramips: 0013-owrt-hack-fix-mt7688-cache-issue.patch Refreshed patches, removed upstreamed patch: bcm63xx: 020-v5.8-mtd-rawnand-brcmnand-fix-hamming-oob-layout.patch Run tested: qemu-x86-64 Build tested: x86/64 Signed-off-by: Petr Štetiar <ynezz@true.cz>
* ath79: patch upstream Mikrotik rb4xx-spi driver to be device tree awareChristopher Hill2020-06-154-0/+224
| | | | | | | Backport upstream patches that make drivers/spi/spi-rb4xx.c device tree aware, plus a null pointer fix. Signed-off-by: Christopher Hill <ch6574@gmail.com>
* kirkwood: move usb support to modulesPawel Dembicki2020-06-143-0/+3
| | | | | | | | | | | | | | | USB support built in kernel isn't required for booting. This patch move USB support to modules. CONFIG_USB_STORAGE is removed because it can be found in kmod-usb-storage and all usb support for this targed is moved to kmods. Tested-by: Cezary Jackiewicz <cezary@eko.one.pl> [nsa310] Tested-by: Alberto Bursi <bobafetthotmail@gmail.com> [nsa325, ea4500] Reviewed-by: Sungbo Eo <mans0n@gorani.run> Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com> [keep CONFIG_SCSI] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* kirkwood: move sata features to modulesPawel Dembicki2020-06-143-0/+3
| | | | | | | | | | All devices are using nand images. Built-in SATA modules are not needed anymore. Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com> [only move CONFIG_SATA_MV] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de> Tested-by: Pawel Dembicki <paweldembicki@gmail.com> [pogo v4]
* kernel: rtl8367b: fix external interface modesINAGAKI Hiroshi2020-06-112-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The interface mode number of RGMII_33V is 7 on RTL8367, but it's 9 on RTL8367B. the external interface modes for RTL8367 are follows: - 0, Disabled - 1, RGMII - 2, MII_MAC - 3, MII_PHY - 4, TMII_MAC - 5, TMII_PHY - 6, GMII - 7, RGMII_33V the external interface modes for RTL8367B are follows: - 0, Disabled - 1, RGMII - 2, MII_MAC - 3, MII_PHY - 4, TMII_MAC - 5, TMII_PHY - 6, GMII - 7, RMII_MAC - 8, RMII_PHY - 9, RGMII_33V But the driver in U-Boot of RT-N56U GPL tar blocks using RGMII_33V (9) mode and it seems to be unsupported on RTL8367B, so drop it from switch-case in rtl8367b_extif_set_mode. ref (RTL8367): - TL-WR2453ND v1 ref (RTL8367B): - ASUS RT-N56U - TP-Link Archer C2 v1 Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
* kernel: backport upstream DSA GRO supportFelix Fietkau2020-06-101-0/+143
| | | | | | Should improve performance Signed-off-by: Felix Fietkau <nbd@nbd.name>
* kernel: bump 5.4 to 5.4.45Petr Štetiar2020-06-096-195/+14
| | | | | | | | | | | | | | | | | | | Fixes CVE-2020-10757 via upstream commit df4988aa1c96 ("mm: Fix mremap not considering huge pmd devmap"). Resolved merge conflict in the following patches: bcm27xx: 950-0128-gpiolib-Don-t-prevent-IRQ-usage-of-output-GPIOs.patch Refreshed patches, removed upstreamed patch: generic: 751-v5.8-net-dsa-mt7530-set-CPU-port-to-fallback-mode.patch generic: 754-v5.7-net-dsa-mt7530-fix-roaming-from-DSA-user-ports.patch Run tested: qemu-x86-64 Build tested: x86/64, imx6, sunxi/a53 Signed-off-by: Petr Štetiar <ynezz@true.cz>
* kernel: sch_cake: use skb hash improve wireguard compatibilityKevin Darbyshire-Bryant2020-06-051-0/+170
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | While the other fq-based qdiscs take advantage of skb->hash and doesn't recompute it if it is already set, sch_cake does not. This was a deliberate choice because sch_cake hashes various parts of the packet header to support its advanced flow isolation modes. However, foregoing the use of skb->hash entirely loses a few important benefits: - When skb->hash is set by hardware, a few CPU cycles can be saved by not hashing again in software. - Tunnel encapsulations will generally preserve the value of skb->hash from before the encapsulation, which allows flow-based qdiscs to distinguish between flows even though the outer packet header no longer has flow information. It turns out that we can preserve these desirable properties in many cases, while still supporting the advanced flow isolation properties of sch_cake. This patch does so by reusing the skb->hash value as the flow_hash part of the hashing procedure in cake_hash() only in the following conditions: - If the skb->hash is marked as covering the flow headers (skb->l4_hash is set) AND - NAT header rewriting is either disabled, or did not change any values used for hashing. The latter is important to match local-origin packets such as those of a tunnel endpoint. The immediate motivation for fixing this was the recent patch to WireGuard to preserve the skb->hash on encapsulation. As such, this is also what I tested against; with this patch, added latency under load for competing flows drops from ~8 ms to sub-1ms on an RRUL test over a WireGuard tunnel going through a virtual link shaped to 1Gbps using sch_cake. This matches the results we saw with a similar setup using sch_fq_codel when testing the WireGuard patch. Fixes: 046f6fd5daef ("sched: Add Common Applications Kept Enhanced (cake) qdisc") Signed-off-by: Toke Høiland-Jørgensen <toke@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
* kernel: b53: fix compilation with kernels 5.5+Rafał Miłecki2020-06-051-0/+8
| | | | Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* generic: mt7530: support adjusting EEEDENG Qingfang2020-06-041-0/+121
| | | | | | Add support for adjusting EEE with ethtool Signed-off-by: DENG Qingfang <dengqf6@mail2.sysu.edu.cn>
* generic: mt7530: fix roaming from DSA user portsDENG Qingfang2020-06-041-0/+116
| | | | | | | | | | | | | | | | | | | When a client moves from a DSA user port to a software port in a bridge, it cannot reach any other clients that connected to the DSA user ports. That is because SA learning on the CPU port is disabled, so the switch ignores the client's frames from the CPU port and still thinks it is at the user port. Fix it by enabling SA learning on the CPU port. To prevent the switch from learning from flooding frames from the CPU port, set skb->offload_fwd_mark to 1 for unicast and broadcast frames, and let the switch flood them instead of trapping to the CPU port. Multicast frames still need to be trapped to the CPU port for snooping, so set the SA_DIS bit of the MTK tag to 1 when transmitting those frames to disable SA learning. Signed-off-by: DENG Qingfang <dengqf6@mail2.sysu.edu.cn>