X-Git-Url: http://git.openwrt.org/?p=openwrt%2Fstaging%2Flynxis%2Fomap.git;a=blobdiff_plain;f=target%2Flinux%2Fmvebu%2Fpatches-4.4%2F400-mvneta-tx-queue-workaround.patch;fp=target%2Flinux%2Fmvebu%2Fpatches-4.4%2F400-mvneta-tx-queue-workaround.patch;h=0000000000000000000000000000000000000000;hp=5dba311d93a6d325fc110b8218d56209bd78e9dd;hb=51397d7d95d9f5e210a5557f65de1fa21e6f5921;hpb=fc28830b6f0cd5fe9650d6c9cc750e19665d3a59 diff --git a/target/linux/mvebu/patches-4.4/400-mvneta-tx-queue-workaround.patch b/target/linux/mvebu/patches-4.4/400-mvneta-tx-queue-workaround.patch deleted file mode 100644 index 5dba311d93..0000000000 --- a/target/linux/mvebu/patches-4.4/400-mvneta-tx-queue-workaround.patch +++ /dev/null @@ -1,36 +0,0 @@ -The hardware queue scheduling is apparently configured with fixed -priorities, which creates a nasty fairness issue where traffic from one -CPU can starve traffic from all other CPUs. - -Work around this issue by forcing all tx packets to go through one CPU, -until this issue is fixed properly. - -Signed-off-by: Felix Fietkau ---- ---- a/drivers/net/ethernet/marvell/mvneta.c -+++ b/drivers/net/ethernet/marvell/mvneta.c -@@ -3984,6 +3984,16 @@ static int mvneta_ethtool_set_eee(struct - return phylink_ethtool_set_eee(pp->phylink, eee); - } - -+static u16 mvneta_select_queue(struct net_device *dev, struct sk_buff *skb, -+ void *accel_priv, -+ select_queue_fallback_t fallback) -+{ -+ /* XXX: hardware queue scheduling is broken, -+ * use only one queue until it is fixed */ -+ return 0; -+} -+ -+ - static const struct net_device_ops mvneta_netdev_ops = { - .ndo_open = mvneta_open, - .ndo_stop = mvneta_stop, -@@ -3994,6 +4004,7 @@ static const struct net_device_ops mvnet - .ndo_fix_features = mvneta_fix_features, - .ndo_get_stats64 = mvneta_get_stats64, - .ndo_do_ioctl = mvneta_ioctl, -+ .ndo_select_queue = mvneta_select_queue, - }; - - const struct ethtool_ops mvneta_eth_tool_ops = {