From: Eric Dumazet <eric.dumazet@xxxxxxxxx> Date: Mon, 02 Mar 2015 20:02:05 -0800 > About the GRO layout change, reason why 'struct sk_buff *last;' is at > the end of struct napi_gro_cb is that this field is not used in fast > path. Understood. While reviewing this I noticed that the jiffies timestamp in GRO cb could really be u32 if we want instead of full "unsigned long". > Note : We could try to use one bit in skb to advertise zero shinfo(skb). > > Many skbs have a zeroed shinfo() (but shinfo->dataref == 1) , and > dereferencing skb_shinfo adds a cache line miss. > > -> We could avoid memset(shinfo, 0, offsetof(struct skb_shared_info, > dataref)) & atomic_set(&shinfo->dataref, 1); > > in alloc_skb() and friends completely. > > Unfortunately this kind of change would be quite invasive... Right, all these kinds of things touch everything. -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html