Commit 49a19889 authored by Vasu Dev's avatar Vasu Dev Committed by James Bottomley

[SCSI] libfc: cache align struct fc_exch fields

cache aligned xid and ex_lock beside
removing holes.
Signed-off-by: default avatarVasu Dev <vasu.dev@intel.com>
Tested-by: default avatarRoss Brattain <ross.b.brattain@intel.com>
Signed-off-by: default avatarYi Zou <yi.zou@intel.com>
Signed-off-by: default avatarJames Bottomley <JBottomley@Parallels.com>
parent 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%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment