dropmon: add ability to detect when hardware dropsrxpackets
Patch to add the ability to detect drops in hardware interfaces via dropwatch. Adds a tracepoint to net_rx_action to signal everytime a napi instance is polled. The dropmon code then periodically checks to see if the rx_frames counter has changed, and if so, adds a drop notification to the netlink protocol, using the reserved all-0's vector to indicate the drop location was in hardware, rather than somewhere in the code. Signed-off-by: Neil Horman <nhorman@tuxdriver.com> include/linux/net_dropmon.h | 8 ++ include/trace/napi.h | 11 +++ net/core/dev.c | 5 + net/core/drop_monitor.c | 124 ++++++++++++++++++++++++++++++++++++++++++-- net/core/net-traces.c | 4 + net/core/netpoll.c | 2 6 files changed, 149 insertions(+), 5 deletions(-) Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
d95ed9275e
commit
4ea7e38696
@@ -126,6 +126,7 @@
|
||||
#include <linux/in.h>
|
||||
#include <linux/jhash.h>
|
||||
#include <linux/random.h>
|
||||
#include <trace/napi.h>
|
||||
|
||||
#include "net-sysfs.h"
|
||||
|
||||
@@ -2771,8 +2772,10 @@ static void net_rx_action(struct softirq_action *h)
|
||||
* accidently calling ->poll() when NAPI is not scheduled.
|
||||
*/
|
||||
work = 0;
|
||||
if (test_bit(NAPI_STATE_SCHED, &n->state))
|
||||
if (test_bit(NAPI_STATE_SCHED, &n->state)) {
|
||||
work = n->poll(n, weight);
|
||||
trace_napi_poll(n);
|
||||
}
|
||||
|
||||
WARN_ON_ONCE(work > weight);
|
||||
|
||||
|
Reference in New Issue
Block a user