diff options
Diffstat (limited to 'target/linux/layerscape/patches-4.4/7021-net-Make-the-netdev-watchdog-aware-of-hardware-multi.patch')
-rw-r--r-- | target/linux/layerscape/patches-4.4/7021-net-Make-the-netdev-watchdog-aware-of-hardware-multi.patch | 48 |
1 files changed, 0 insertions, 48 deletions
diff --git a/target/linux/layerscape/patches-4.4/7021-net-Make-the-netdev-watchdog-aware-of-hardware-multi.patch b/target/linux/layerscape/patches-4.4/7021-net-Make-the-netdev-watchdog-aware-of-hardware-multi.patch deleted file mode 100644 index 69bba053a7..0000000000 --- a/target/linux/layerscape/patches-4.4/7021-net-Make-the-netdev-watchdog-aware-of-hardware-multi.patch +++ /dev/null @@ -1,48 +0,0 @@ -From 6aa1eca98ca44f515e10d8058d0ff6db3c8a3c11 Mon Sep 17 00:00:00 2001 -From: Bogdan Hamciuc <bogdan.hamciuc@freescale.com> -Date: Fri, 28 Sep 2012 17:04:33 +0300 -Subject: [PATCH 21/70] net: Make the netdev watchdog aware of hardware - multiqueue devices - -If the netdev declares the NETIF_F_HW_ACCEL_MQ (accelerated multiqueue) -capability, tell the watchdog to consider the per-netdev trans_start -field rather than any individual multiqueue's timestamp. That is -justified by the fact that queues only go in and out of congestion -in groups, not individually, as far as the net device is concerned. - -Change-Id: I07a6693bf1f0bb1e9396c5e232452223a511ecc1 -Signed-off-by: Bogdan Hamciuc <bogdan.hamciuc@freescale.com> -Reviewed-on: http://git.am.freescale.net:8181/1033 -Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com> -Tested-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com> ---- - net/sched/sch_generic.c | 17 ++++++++++++++++- - 1 file changed, 16 insertions(+), 1 deletion(-) - ---- a/net/sched/sch_generic.c -+++ b/net/sched/sch_generic.c -@@ -290,8 +290,23 @@ static void dev_watchdog(unsigned long a - txq = netdev_get_tx_queue(dev, i); - /* - * old device drivers set dev->trans_start -+ * -+ * (Actually, not only "old" devices, but also -+ * those which perform queue management in a -+ * separate hw accelerator. So even though the -+ * net device itself is single-queued, it makes -+ * sense (and is safe, too) to use kernel's -+ * multiqueue interface, specifically to avoid -+ * unnecessary device locking in SMP systems. -+ * In this case, we ought to consider not an -+ * individual txq's timestamp as a congestion -+ * indicator, but the "old" per-netdev field.) - */ -- trans_start = txq->trans_start ? : dev->trans_start; -+ if (dev->features & NETIF_F_HW_ACCEL_MQ) -+ trans_start = dev->trans_start; -+ else -+ trans_start = txq->trans_start ? : -+ dev->trans_start; - if (netif_xmit_stopped(txq) && - time_after(jiffies, (trans_start + - dev->watchdog_timeo))) { |