From d3455fa04419424886bd829dc0a6248bb8d8fb2b Mon Sep 17 00:00:00 2001 From: Eric Dumazet Date: Fri, 8 Dec 2006 00:08:43 -0800 Subject: [PATCH] --- yaml --- r: 43891 b: refs/heads/master c: f0490980a152958d25ce9762bfb296d8fd4c5512 h: refs/heads/master i: 43889: a4351031cb5b68a13aae3f770f1f7dc195338d9f 43887: 1497bf9289af13fe8fb6a148a6cb2af48b6b7102 v: v3 --- [refs] | 2 +- trunk/include/linux/netdevice.h | 9 ++++++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index 09945c08afe9..3f3c8b4df539 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 47bbec0282cce900f16a8dd6397260e076400edb +refs/heads/master: f0490980a152958d25ce9762bfb296d8fd4c5512 diff --git a/trunk/include/linux/netdevice.h b/trunk/include/linux/netdevice.h index 631cec4ff5e1..6be767c76b37 100644 --- a/trunk/include/linux/netdevice.h +++ b/trunk/include/linux/netdevice.h @@ -193,7 +193,14 @@ struct hh_cache { struct hh_cache *hh_next; /* Next entry */ atomic_t hh_refcnt; /* number of users */ - __be16 hh_type; /* protocol identifier, f.e ETH_P_IP +/* + * We want hh_output, hh_len, hh_lock and hh_data be a in a separate + * cache line on SMP. + * They are mostly read, but hh_refcnt may be changed quite frequently, + * incurring cache line ping pongs. + */ + __be16 hh_type ____cacheline_aligned_in_smp; + /* protocol identifier, f.e ETH_P_IP * NOTE: For VLANs, this will be the * encapuslated type. --BLG */