Files
kernel_arpi/include/linux
Benjamin LaHaise 4947d3ef8d [NET]: Speed up __alloc_skb()
From: Benjamin LaHaise <bcrl@kvack.org>

In __alloc_skb(), the use of skb_shinfo() which casts a u8 * to the 
shared info structure results in gcc being forced to do a reload of the 
pointer since it has no information on possible aliasing.  Fix this by 
using a pointer to refer to skb_shared_info.

By initializing skb_shared_info sequentially, the write combining buffers 
can reduce the number of memory transactions to a single write.  Reorder 
the initialization in __alloc_skb() to match the structure definition.  
There is also an alignment issue on 64 bit systems with skb_shared_info 
by converting nr_frags to a short everything packs up nicely.

Also, pass the slab cache pointer according to the fclone flag instead 
of using two almost identical function calls.

This raises bw_unix performance up to a peak of 707KB/s when combined 
with the spinlock patch.  It should help other networking protocols, too.

Signed-off-by: David S. Miller <davem@davemloft.net>
2006-01-03 14:06:50 -08:00
..
2005-11-28 21:00:29 +00:00
2005-11-13 18:14:17 -08:00
2006-01-03 13:11:06 -08:00
2005-11-13 18:14:10 -08:00
2005-11-09 07:55:59 -08:00
2005-11-10 02:26:41 +01:00
2005-11-22 19:39:30 -08:00
2005-12-15 02:20:15 +01:00
2005-11-08 17:14:08 +01:00
2005-11-08 09:40:47 -08:00
2005-11-07 14:18:56 +01:00
2005-12-12 08:57:43 -08:00
2005-11-28 14:42:23 -08:00
2005-11-07 18:18:11 -08:00
2005-11-09 07:56:00 -08:00
2006-01-03 13:11:15 -08:00
2005-12-19 23:12:09 -05:00
2005-11-13 18:14:12 -08:00
2005-12-12 08:57:45 -08:00
2005-11-13 18:14:15 -08:00
2005-11-07 07:54:09 -08:00
2005-11-07 07:53:42 -08:00
2005-11-07 07:53:39 -08:00
2005-11-06 12:32:31 -06:00
2005-11-07 07:53:46 -08:00
2005-11-07 07:53:41 -08:00
2005-11-07 07:53:37 -08:00
2006-01-03 14:06:50 -08:00
2006-01-03 13:10:31 -08:00
2005-12-12 08:57:42 -08:00
2005-11-23 23:04:28 -08:00
2005-11-07 07:53:41 -08:00