[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20080226.182120.183405235.davem@davemloft.net>
Date: Tue, 26 Feb 2008 18:21:20 -0800 (PST)
From: David Miller <davem@...emloft.net>
To: dada1@...mosbay.com
Cc: netdev@...r.kernel.org
Subject: Re: [RFC,PATCH] loopback: calls netif_receive_skb() instead of
netif_rx()
From: Eric Dumazet <dada1@...mosbay.com>
Date: Thu, 21 Feb 2008 19:51:52 +0100
> Following patch directly calls netif_receive_skb() and avoids lot of
> atomic operations.
> (atomic_inc(&dev->refcnt), set_and_set_bit(NAPI_STATE_SCHED, &n->state), ...
> atomic_dec(&dev->refcnt)...), cache line ping-pongs on device refcnt,
> but also softirq overhead.
>
> This gives a nice boost on tbench for example (5 % on my machine)
My only concern is stack usage.
Note that packet reception can elicit a response and go all the way
back into this driver and all the way down into netif_receive_skb()
again. And so on and so forth.
If there is some bug in the stack (ACK'ing ACKs, stuff like that) we
could get into a loop and overrun the kernel stack in no time at all.
So, if anything, this change could make inconvenient errors become
catastrophic and hard to diagnose.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists