>-----Original Message----- >From: David Miller [mailto:[email protected]] >Sent: Friday, October 01, 2010 3:15 PM >To: Xin, Xiaohui >Cc: [email protected]; [email protected]; [email protected]; >[email protected]; [email protected]; [email protected]; >[email protected] >Subject: Re: [PATCH v12 06/17] Use callback to deal with skb_release_data() >specially. > >From: [email protected] >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 [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
