diff --git a/net/core/dev.c b/net/core/dev.c index 828ecca03..17d44fde4 100644 --- a/net/core/dev.c +++ b/net/core/dev.c @@ -4821,6 +4821,18 @@ static inline int nf_ingress(struct sk_buff *skb, struct packet_type **pt_prev, static int __netif_receive_skb_core(struct sk_buff *skb, bool pfmemalloc, struct packet_type **ppt_prev) { + { + + static volatile unsigned long ipe_last_time; + struct timespec t; + getnstimeofday(&t); + unsigned long t_ms = t.tv_sec * 1000ul + t.tv_nsec / 1000000ul; + unsigned long last = ipe_last_time; + if(t_ms > last + 50) { + printk(KERN_ALERT "****** NETIF_R_S_C DELAY!!! %lu\n", t_ms - last); + } + ipe_last_time = t_ms; + } struct packet_type *ptype, *pt_prev; rx_handler_func_t *rx_handler; struct net_device *orig_dev; @@ -4834,6 +4846,18 @@ static int __netif_receive_skb_core(struct sk_buff *skb, bool pfmemalloc, orig_dev = skb->dev; + if(strcmp(orig_dev->name, "eth0") == 0) { + static volatile unsigned long ipe_last_time2; + struct timespec t; + getnstimeofday(&t); + unsigned long t_ms = t.tv_sec * 1000ul + t.tv_nsec / 1000000ul; + unsigned long last = ipe_last_time2; + if(t_ms > last + 50) { + printk(KERN_ALERT "****** NETIF_R_S_C eth0 DELAY!!! %lu\n", t_ms - last); + } + ipe_last_time2 = t_ms; + } + skb_reset_network_header(skb); if (!skb_transport_header_was_set(skb)) skb_reset_transport_header(skb);