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



--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to