Files
ubports_kernel_google_msm/include/linux
Eric Dumazet 6a321cb370 net: netif_tx_queue_stopped too expensive
netif_tx_queue_stopped(txq) is most of the time false.

Yet its cost is very expensive on SMP.

static inline int netif_tx_queue_stopped(const struct netdev_queue *dev_queue)
{
	return test_bit(__QUEUE_STATE_XOFF, &dev_queue->state);
}

I saw this on oprofile hunting and bnx2 driver bnx2_tx_int().

We probably should split "struct netdev_queue" in two parts, one
being read mostly.

__netif_tx_lock() touches _xmit_lock & xmit_lock_owner, these
deserve a separate cache line.

Signed-off-by: Eric Dumazet <dada1@cosmosbay.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2009-04-28 04:43:42 -07:00
..
2009-04-07 10:23:34 +01:00
2009-04-08 00:00:33 -07:00
2009-04-05 02:14:15 -04:00
2009-04-06 20:00:51 -04:00
2009-04-01 08:59:23 -07:00
2009-04-01 08:59:23 -07:00
2009-04-07 08:59:11 +02:00
2009-04-03 14:53:32 -07:00
2009-03-27 14:43:59 -04:00
2009-04-03 14:53:32 -07:00
2009-04-01 08:59:29 -07:00
2009-03-30 15:14:53 +02:00
2009-04-03 09:48:29 -07:00
2009-04-08 14:13:03 +02:00
2009-04-02 19:04:53 -07:00
2009-04-02 19:04:49 -07:00
2009-04-06 16:06:26 +01:00
2009-03-30 15:21:59 +02:00
2009-04-01 08:59:17 -07:00
2009-04-07 08:12:38 +02:00
2009-04-02 19:04:48 -07:00
2009-04-03 17:41:23 -07:00
2009-04-01 13:28:15 -04:00
2009-04-03 17:41:12 -07:00
2009-04-01 08:59:13 -07:00
2009-04-01 08:59:13 -07:00
2009-04-10 21:36:18 +02:00
2009-04-01 08:59:13 -07:00
2009-03-30 15:22:01 +02:00
2009-03-30 14:28:58 -07:00
2009-04-22 16:54:27 -04:00
2009-04-01 08:59:24 -07:00
2009-04-08 14:33:38 -07:00
2009-04-03 12:23:06 +02:00
2009-04-03 16:42:35 +01:00
2009-04-03 12:23:06 +02:00
2009-04-27 02:45:02 -07:00
2009-03-27 12:18:56 -04:00
2009-04-01 08:59:15 -07:00
2009-04-02 19:05:01 -07:00