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 -- 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/

