drop_monitor: allow more events per second
authorEric Dumazet <edumazet@google.com>
Thu, 19 Apr 2012 07:16:21 +0000 (07:16 +0000)
committerDavid S. Miller <davem@davemloft.net>
Sat, 21 Apr 2012 20:28:38 +0000 (16:28 -0400)
It seems there is a logic error in trace_drop_common(), since we store
only 64 drops, even if they are from same location.

This fix is a one liner, but we probably need more work to avoid useless
atomic dec/inc

Now I can watch 1 Mpps drops through dropwatch...

Signed-off-by: Eric Dumazet <edumazet@google.com>
Cc: Neil Horman <nhorman@tuxdriver.com>
Acked-by: Neil Horman <nhorman@tuxdriver.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

net/core/drop_monitor.c

index 7f36b38..5c3c81a 100644 (file)
@@ -150,6 +150,7 @@ static void trace_drop_common(struct sk_buff *skb, void *location)
        for (i = 0; i < msg->entries; i++) {
                if (!memcmp(&location, msg->points[i].pc, sizeof(void *))) {
                        msg->points[i].count++;
+                       atomic_inc(&data->dm_hit_count);
                        goto out;
                }
        }