On 28/05/2013 03:26, Eric Dumazet wrote:
> On Mon, 2013-05-27 at 10:44 +0300, Eliezer Tamir wrote:

>> diff --git a/include/net/sock.h b/include/net/sock.h
>> index 66772cf..c7c3ea6 100644
>> --- a/include/net/sock.h
>> +++ b/include/net/sock.h
>> @@ -281,6 +281,7 @@ struct cg_proto;
>>     *        @sk_error_report: callback to indicate errors (e.g. 
>> %MSG_ERRQUEUE)
>>     *        @sk_backlog_rcv: callback to process the backlog
>>     *        @sk_destruct: called at sock freeing time, i.e. when all refcnt 
>> == 0
>> +  * @sk_napi_id: id of the last napi context to receive data for sk
>>    */
>>   struct sock {
>>      /*
>> @@ -399,6 +400,9 @@ struct sock {
>>      int                     (*sk_backlog_rcv)(struct sock *sk,
>>                                                struct sk_buff *skb);
>>      void                    (*sk_destruct)(struct sock *sk);
>> +#ifdef CONFIG_NET_LL_RX_POLL
>> +    unsigned int            sk_napi_id;
>> +#endif
>>   };
>
> I believe this is a bad choice for data locality.
>
> I would rather move it in the same cache line than sk_rxhash

I will move it to right after sk_rxhash.

-Eliezer

------------------------------------------------------------------------------
Try New Relic Now & We'll Send You this Cool Shirt
New Relic is the only SaaS-based application performance monitoring service 
that delivers powerful full stack analytics. Optimize and monitor your
browser, app, & servers with just a few lines of code. Try New Relic
and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_may
_______________________________________________
E1000-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/e1000-devel
To learn more about Intel® Ethernet, visit 
http://communities.intel.com/community/wired

Reply via email to