Re: kernel performance update - 2.6.14-rc3

From: Jon Burgess
Date: Fri Oct 07 2005 - 19:53:41 EST


"Chen, Kenneth W" <kenneth.w.chen@xxxxxxxxx> writes:

> Even though
> softirq is invoked at the end of dev_queue_xmit() via local_bh_enable(),
> not all execution of softirq will result a __wake_up(). With higher
> HZ rate, timer interrupt is more frequent and thus more softirq
> invocation and leads to more __wake_up(), which then takes us to higher
> throughput because cpu spend less time in idle.

Since the loopback xmit->rx path probably isn't being called in interrupt context might something like the patch below be needed?

Please forgive me if this is wrong, i've not even tried compiling this change let alone tested it.

Jon


--- linux-2.6.13/drivers/net/loopback.c-orig 2005-10-08 01:32:50.000000000 +0100
+++ linux-2.6.13/drivers/net/loopback.c 2005-10-08 01:33:32.000000000 +0100
@@ -153,7 +153,7 @@ static int loopback_xmit(struct sk_buff
lb_stats->tx_packets++;
put_cpu();

- netif_rx(skb);
+ netif_rx_ni(skb);

return(0);
}