commit | d49feb90f8ad4a519bc6a68252e9330ab40f582e | [log] [tgz] |
---|---|---|
author | developer <developer@mediatek.com> | Mon Jul 01 10:31:24 2024 +0800 |
committer | developer <developer@mediatek.com> | Fri Aug 16 11:15:55 2024 +0800 |
tree | 5e15eea93acaa60d240398e733d3db95d994ca85 | |
parent | cdc34a02709b2700856482210c34f0b8ae8886fa [diff] |
[][kernel][common][eth][Refactor the link polling mechanism to improve CPU usage in the USXGMII/SGMII] [Description] Refactor the link polling mechanism to improve CPU usage in the USXGMII/SGMII. The busy-wait delay functions (udelay/mdelay) may waste CPU resources. Therefore, we need to switch to using usleep_range() instead. However, the usleep_range function cannot be used in interrupt contexts, such as in timer tasks. Consequently, we need to change timer tasks to delayed_work and replace all instances of udelay with usleep_range(). Without this patch, the link polling mechanism of USXGMII/SGMII may waste CPU resources. [Release-log] N/A Change-Id: I84d9413164601f2420fb7e93420757298a2f8ad2 Reviewed-on: https://gerrit.mediatek.inc/c/openwrt/feeds/mtk_openwrt_feeds/+/9294182
Currently two release branches are supported:
21.02 This is the current in-use branch
git clone -b openwrt-21.02 https://git.openwrt.org/openwrt/openwrt.git
master (will be 24.0x branch later) The next version in development
git clone https://git.openwrt.org/openwrt/openwrt.git
cd openwrt echo "src-git mtk_openwrt_feed https://git01.mediatek.com/openwrt/feeds/mtk-openwrt-feeds" >> feeds.conf.default ./scripts/feeds update -a ./scripts/feeds install -a
21.02 branch
cp -af ./feeds/mtk_openwrt_feed/21.02/files/* . cp -af ./feeds/mtk_openwrt_feed/tools . for file in $(find ./feeds/mtk_openwrt_feed/21.02/patches-base -name "*.patch" | sort); do patch -f -p1 -i ${file}; done for file in $(find ./feeds/mtk_openwrt_feed/21.02/patches-feeds -name "*.patch" | sort); do patch -f -p1 -i ${file}; done
master branch
cp -af ./feeds/mtk_openwrt_feed/master/files/* . for file in $(find ./feeds/mtk_openwrt_feed/master/patches-base -name "*.patch" | sort); do patch -f -p1 -i ${file}; done
make menuconfig
21.02 branch
Target System -> MediaTek Ralink ARM Subtarget -> MT7981 / MT7986 / MT7988 Target Profile -> select as needed
master branch
Target System -> MediaTek Ralink ARM Subtarget -> Filogic 8x0 (MT798x) Target Profile -> select as needed
make V=s -j$(nproc)