提交 49a19889 编写于 作者: V Vasu Dev 提交者: James Bottomley

[SCSI] libfc: cache align struct fc_exch fields

cache aligned xid and ex_lock beside
removing holes.
Signed-off-by: NVasu Dev <vasu.dev@intel.com>
Tested-by: NRoss Brattain <ross.b.brattain@intel.com>
Signed-off-by: NYi Zou <yi.zou@intel.com>
Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
上级 ed26cfec
...@@ -406,35 +406,32 @@ struct fc_seq { ...@@ -406,35 +406,32 @@ struct fc_seq {
* sequence allocation * sequence allocation
*/ */
struct fc_exch { struct fc_exch {
spinlock_t ex_lock;
atomic_t ex_refcnt;
enum fc_class class;
struct fc_exch_mgr *em; struct fc_exch_mgr *em;
struct fc_exch_pool *pool; struct fc_exch_pool *pool;
u32 state;
u16 xid;
struct list_head ex_list; struct list_head ex_list;
spinlock_t ex_lock;
atomic_t ex_refcnt;
struct delayed_work timeout_work;
struct fc_lport *lp; struct fc_lport *lp;
u32 esb_stat;
u8 state;
u8 fh_type;
u8 seq_id;
u8 encaps;
u16 xid;
u16 oxid; u16 oxid;
u16 rxid; u16 rxid;
u32 oid; u32 oid;
u32 sid; u32 sid;
u32 did; u32 did;
u32 esb_stat;
u32 r_a_tov; u32 r_a_tov;
u8 seq_id;
u8 encaps;
u32 f_ctl; u32 f_ctl;
u8 fh_type; struct fc_seq seq;
enum fc_class class;
struct fc_seq seq;
void (*resp)(struct fc_seq *, struct fc_frame *, void *); void (*resp)(struct fc_seq *, struct fc_frame *, void *);
void *arg; void *arg;
void (*destructor)(struct fc_seq *, void *); void (*destructor)(struct fc_seq *, void *);
struct delayed_work timeout_work;
}; } ____cacheline_aligned_in_smp;
#define fc_seq_exch(sp) container_of(sp, struct fc_exch, seq) #define fc_seq_exch(sp) container_of(sp, struct fc_exch, seq)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册