mirror of
git://git.openwrt.org/openwrt/openwrt.git
synced 2024-12-15 03:14:50 +00:00
kmod-sched-cake: don't gso fixup on fixed kernels
Kernels 4.14.73 & 4.9.140 include the gso fixup fix, so cake doesn't need to do it. Let's not waste cpu cycles by doing it in cake which could be really important on cpu constrained devices. Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
This commit is contained in:
parent
031c31ccdb
commit
b47614f9f1
@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
|
||||
include $(INCLUDE_DIR)/kernel.mk
|
||||
|
||||
PKG_NAME:=sched-cake
|
||||
PKG_RELEASE:=1
|
||||
PKG_RELEASE:=2
|
||||
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_URL:=https://github.com/dtaht/sch_cake.git
|
||||
|
@ -0,0 +1,22 @@
|
||||
--- a/sch_cake.c
|
||||
+++ b/sch_cake.c
|
||||
@@ -1799,13 +1799,18 @@ static s32 cake_enqueue(struct sk_buff *
|
||||
cobalt_set_enqueue_time(segs, now);
|
||||
get_cobalt_cb(segs)->adjusted_len = cake_overhead(q,
|
||||
segs);
|
||||
-
|
||||
+#if !((LINUX_VERSION_CODE >= KERNEL_VERSION(3, 18, 124) && LINUX_VERSION_CODE < KERNEL_VERSION(3, 19, 0)) || \
|
||||
+ (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 4, 159) && LINUX_VERSION_CODE < KERNEL_VERSION(4, 5, 0)) || \
|
||||
+ (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 9, 130) && LINUX_VERSION_CODE < KERNEL_VERSION(4, 10, 0)) || \
|
||||
+ (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 14, 73) && LINUX_VERSION_CODE < KERNEL_VERSION(4, 15, 0)) || \
|
||||
+ (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 18, 11)))
|
||||
/* For encapsulated packets, the mac_len may not be set
|
||||
* correctly after GSO split. Fix this by resetting it;
|
||||
* if skb_gso_segment() already does this correctly,
|
||||
* this is will just recalculate the current value.
|
||||
*/
|
||||
skb_reset_mac_len(skb);
|
||||
+#endif
|
||||
|
||||
flow_queue_add(flow, segs);
|
||||
|
Loading…
Reference in New Issue
Block a user