From: Benjamin LaHaise <[EMAIL PROTECTED]> Date: Fri, 16 Dec 2005 14:52:01 -0500
> 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. Applied. But Ben, please supply Signed-off-by: lines with your patches, thanks a lot. - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html