>-----Original Message----- >From: David Miller [mailto:davem@xxxxxxxxxxxxx] >Sent: Friday, October 01, 2010 3:15 PM >To: Xin, Xiaohui >Cc: netdev@xxxxxxxxxxxxxxx; kvm@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; >mst@xxxxxxxxxx; mingo@xxxxxxx; herbert@xxxxxxxxxxxxxxxxxxx; jdike@xxxxxxxxxxxxxxx >Subject: Re: [PATCH v12 06/17] Use callback to deal with skb_release_data() specially. > >From: xiaohui.xin@xxxxxxxxx >Date: Thu, 30 Sep 2010 22:04:23 +0800 > >> @@ -197,10 +197,11 @@ struct skb_shared_info { >> union skb_shared_tx tx_flags; >> struct sk_buff *frag_list; >> struct skb_shared_hwtstamps hwtstamps; >> - skb_frag_t frags[MAX_SKB_FRAGS]; >> /* Intermediate layers must ensure that destructor_arg >> * remains valid until skb destructor */ >> void * destructor_arg; >> + >> + skb_frag_t frags[MAX_SKB_FRAGS]; >> }; >> >> /* The structure is for a skb which pages may point to > >Why are you moving frags[] to the end like this? That's to avoid the new cache miss caused by using destructor_arg in data path like skb_release_data(). That's based on the comment from Eric Dumazet on v7 patches. Thanks Xiaohui -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html