[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <F2E9EB7348B8264F86B6AB8151CE2D793064B2A9D8@shsmsx502.ccr.corp.intel.com>
Date: Mon, 11 Oct 2010 15:06:05 +0800
From: "Xin, Xiaohui" <xiaohui.xin@...el.com>
To: David Miller <davem@...emloft.net>
CC: "netdev@...r.kernel.org" <netdev@...r.kernel.org>,
"kvm@...r.kernel.org" <kvm@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"mst@...hat.com" <mst@...hat.com>, "mingo@...e.hu" <mingo@...e.hu>,
"herbert@...dor.apana.org.au" <herbert@...dor.apana.org.au>,
"jdike@...ux.intel.com" <jdike@...ux.intel.com>
Subject: RE: [PATCH v12 06/17] Use callback to deal with skb_release_data()
specially.
>-----Original Message-----
>From: David Miller [mailto:davem@...emloft.net]
>Sent: Friday, October 01, 2010 3:15 PM
>To: Xin, Xiaohui
>Cc: netdev@...r.kernel.org; kvm@...r.kernel.org; linux-kernel@...r.kernel.org;
>mst@...hat.com; mingo@...e.hu; herbert@...dor.apana.org.au; jdike@...ux.intel.com
>Subject: Re: [PATCH v12 06/17] Use callback to deal with skb_release_data() specially.
>
>From: xiaohui.xin@...el.com
>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 netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists