mirror of
https://github.com/hanwckf/immortalwrt-mt798x.git
synced 2025-01-05 00:53:32 +08:00
Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
This commit is contained in:
commit
b8d5f7c650
@ -437,34 +437,22 @@ config KERNEL_PROVE_LOCKING
|
||||
select KERNEL_DEBUG_KERNEL
|
||||
default n
|
||||
|
||||
config KERNEL_LOCKUP_DETECTOR
|
||||
bool "Compile the kernel with detect Hard and Soft Lockups"
|
||||
config KERNEL_SOFTLOCKUP_DETECTOR
|
||||
bool "Compile the kernel with detect Soft Lockups"
|
||||
depends on KERNEL_DEBUG_KERNEL
|
||||
help
|
||||
Say Y here to enable the kernel to act as a watchdog to detect
|
||||
hard and soft lockups.
|
||||
soft lockups.
|
||||
|
||||
Softlockups are bugs that cause the kernel to loop in kernel
|
||||
mode for more than 20 seconds, without giving other tasks a
|
||||
chance to run. The current stack trace is displayed upon
|
||||
detection and the system will stay locked up.
|
||||
|
||||
Hardlockups are bugs that cause the CPU to loop in kernel mode
|
||||
for more than 10 seconds, without letting other interrupts have a
|
||||
chance to run. The current stack trace is displayed upon detection
|
||||
and the system will stay locked up.
|
||||
|
||||
The overhead should be minimal. A periodic hrtimer runs to
|
||||
generate interrupts and kick the watchdog task every 4 seconds.
|
||||
An NMI is generated every 10 seconds or so to check for hardlockups.
|
||||
|
||||
The frequency of hrtimer and NMI events and the soft and hard lockup
|
||||
thresholds can be controlled through the sysctl watchdog_thresh.
|
||||
|
||||
config KERNEL_DETECT_HUNG_TASK
|
||||
bool "Compile the kernel with detect Hung Tasks"
|
||||
depends on KERNEL_DEBUG_KERNEL
|
||||
default KERNEL_LOCKUP_DETECTOR
|
||||
default KERNEL_SOFTLOCKUP_DETECTOR
|
||||
help
|
||||
Say Y here to enable the kernel to detect "hung tasks",
|
||||
which are bugs that cause the task to be stuck in
|
||||
|
@ -50,7 +50,6 @@ CONFIG_BLK_DEV_RAM_COUNT=16
|
||||
CONFIG_BLK_DEV_RAM_SIZE=4096
|
||||
CONFIG_BLK_DEV_SD=y
|
||||
CONFIG_BLK_SCSI_REQUEST=y
|
||||
# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
|
||||
CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
|
||||
CONFIG_CC_DISABLE_WARN_MAYBE_UNINITIALIZED=y
|
||||
CONFIG_CC_HAS_KASAN_GENERIC=y
|
||||
|
@ -0,0 +1,60 @@
|
||||
From 07c6f9805f12f1bb538ef165a092b300350384aa Mon Sep 17 00:00:00 2001
|
||||
From: Russell King <rmk+kernel@armlinux.org.uk>
|
||||
Date: Wed, 26 Feb 2020 17:14:21 +0000
|
||||
Subject: [PATCH] net: switchdev: do not propagate bridge updates across
|
||||
bridges
|
||||
|
||||
When configuring a tree of independent bridges, propagating changes
|
||||
from the upper bridge across a bridge master to the lower bridge
|
||||
ports brings surprises.
|
||||
|
||||
For example, a lower bridge may have vlan filtering enabled. It
|
||||
may have a vlan interface attached to the bridge master, which may
|
||||
then be incorporated into another bridge. As soon as the lower
|
||||
bridge vlan interface is attached to the upper bridge, the lower
|
||||
bridge has vlan filtering disabled.
|
||||
|
||||
This occurs because switchdev recursively applies its changes to
|
||||
all lower devices no matter what.
|
||||
|
||||
Reviewed-by: Ido Schimmel <idosch@mellanox.com>
|
||||
Tested-by: Ido Schimmel <idosch@mellanox.com>
|
||||
Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
|
||||
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
|
||||
Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
---
|
||||
net/switchdev/switchdev.c | 9 +++++++++
|
||||
1 file changed, 9 insertions(+)
|
||||
|
||||
--- a/net/switchdev/switchdev.c
|
||||
+++ b/net/switchdev/switchdev.c
|
||||
@@ -476,6 +476,9 @@ static int __switchdev_handle_port_obj_a
|
||||
* necessary to go through this helper.
|
||||
*/
|
||||
netdev_for_each_lower_dev(dev, lower_dev, iter) {
|
||||
+ if (netif_is_bridge_master(lower_dev))
|
||||
+ continue;
|
||||
+
|
||||
err = __switchdev_handle_port_obj_add(lower_dev, port_obj_info,
|
||||
check_cb, add_cb);
|
||||
if (err && err != -EOPNOTSUPP)
|
||||
@@ -528,6 +531,9 @@ static int __switchdev_handle_port_obj_d
|
||||
* necessary to go through this helper.
|
||||
*/
|
||||
netdev_for_each_lower_dev(dev, lower_dev, iter) {
|
||||
+ if (netif_is_bridge_master(lower_dev))
|
||||
+ continue;
|
||||
+
|
||||
err = __switchdev_handle_port_obj_del(lower_dev, port_obj_info,
|
||||
check_cb, del_cb);
|
||||
if (err && err != -EOPNOTSUPP)
|
||||
@@ -579,6 +585,9 @@ static int __switchdev_handle_port_attr_
|
||||
* necessary to go through this helper.
|
||||
*/
|
||||
netdev_for_each_lower_dev(dev, lower_dev, iter) {
|
||||
+ if (netif_is_bridge_master(lower_dev))
|
||||
+ continue;
|
||||
+
|
||||
err = __switchdev_handle_port_attr_set(lower_dev, port_attr_info,
|
||||
check_cb, set_cb);
|
||||
if (err && err != -EOPNOTSUPP)
|
@ -644,6 +644,8 @@ CONFIG_BLOCK=y
|
||||
# CONFIG_BONDING is not set
|
||||
# CONFIG_BOOKE_WDT is not set
|
||||
CONFIG_BOOKE_WDT_DEFAULT_TIMEOUT=3
|
||||
# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
|
||||
# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
|
||||
# CONFIG_BOOT_PRINTK_DELAY is not set
|
||||
CONFIG_BOOT_RAW=y
|
||||
CONFIG_BPF=y
|
||||
@ -1239,6 +1241,7 @@ CONFIG_DEBUG_KERNEL=y
|
||||
CONFIG_DEFAULT_CUBIC=y
|
||||
CONFIG_DEFAULT_DEADLINE=y
|
||||
CONFIG_DEFAULT_HOSTNAME="(none)"
|
||||
CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=120
|
||||
CONFIG_DEFAULT_IOSCHED="deadline"
|
||||
CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
|
||||
# CONFIG_DEFAULT_NOOP is not set
|
||||
|
@ -165,7 +165,7 @@
|
||||
|
||||
partition@200000 {
|
||||
label = "kernel1";
|
||||
reg = <0x200000 0x290000>;
|
||||
reg = <0x200000 0x1400000>;
|
||||
};
|
||||
|
||||
partition@490000 {
|
||||
@ -175,7 +175,7 @@
|
||||
|
||||
partition@1600000 {
|
||||
label = "kernel2";
|
||||
reg = <0x1600000 0x290000>;
|
||||
reg = <0x1600000 0x1400000>;
|
||||
};
|
||||
|
||||
partition@1890000 {
|
||||
|
@ -28,8 +28,9 @@
|
||||
|
||||
partition@200000 {
|
||||
- label = "kernel";
|
||||
- reg = <0x200000 0x2A0000>;
|
||||
+ label = "kernel1";
|
||||
reg = <0x200000 0x2A0000>;
|
||||
+ reg = <0x200000 0x1A00000>;
|
||||
};
|
||||
|
||||
partition@4a0000 {
|
||||
@ -40,8 +41,9 @@
|
||||
|
||||
partition@1c00000 {
|
||||
- label = "alt_kernel";
|
||||
- reg = <0x1C00000 0x2A0000>;
|
||||
+ label = "kernel2";
|
||||
reg = <0x1C00000 0x2A0000>;
|
||||
+ reg = <0x1C00000 0x1A00000>;
|
||||
};
|
||||
|
||||
partition@1ea0000 {
|
||||
|
@ -104,7 +104,6 @@ CONFIG_BLK_MQ_PCI=y
|
||||
CONFIG_BLK_MQ_VIRTIO=y
|
||||
CONFIG_BLK_PM=y
|
||||
CONFIG_BLK_SCSI_REQUEST=y
|
||||
# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
|
||||
CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0
|
||||
CONFIG_BOUNCE=y
|
||||
CONFIG_BRCMSTB_GISB_ARB=y
|
||||
@ -202,7 +201,6 @@ CONFIG_DECOMPRESS_GZIP=y
|
||||
CONFIG_DECOMPRESS_LZMA=y
|
||||
CONFIG_DECOMPRESS_LZO=y
|
||||
CONFIG_DECOMPRESS_XZ=y
|
||||
CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=120
|
||||
CONFIG_DETECT_HUNG_TASK=y
|
||||
# CONFIG_DEVFREQ_GOV_PASSIVE is not set
|
||||
# CONFIG_DEVFREQ_GOV_PERFORMANCE is not set
|
||||
|
@ -130,7 +130,6 @@ CONFIG_BLK_MQ_PCI=y
|
||||
CONFIG_BLK_MQ_VIRTIO=y
|
||||
CONFIG_BLK_PM=y
|
||||
CONFIG_BLK_SCSI_REQUEST=y
|
||||
# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
|
||||
CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0
|
||||
CONFIG_BSD_PROCESS_ACCT=y
|
||||
CONFIG_BSD_PROCESS_ACCT_V3=y
|
||||
@ -224,7 +223,6 @@ CONFIG_DECOMPRESS_GZIP=y
|
||||
CONFIG_DECOMPRESS_LZMA=y
|
||||
CONFIG_DECOMPRESS_LZO=y
|
||||
CONFIG_DECOMPRESS_XZ=y
|
||||
CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=120
|
||||
CONFIG_DETECT_HUNG_TASK=y
|
||||
# CONFIG_DEVICE_THERMAL is not set
|
||||
CONFIG_DEVTMPFS=y
|
||||
|
Loading…
x
Reference in New Issue
Block a user