aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorVasu Dev <vasu.dev@intel.com>2011-09-28 00:38:02 -0400
committerJames Bottomley <JBottomley@Parallels.com>2011-10-02 13:56:26 -0400
commit49a198898e889038c6601288cd2b0e037edada24 (patch)
tree4f233125a6e946cc03afd80b41e9343861f57022 /include
parented26cfece6177310ad8f5896651a3187ce02711c (diff)
[SCSI] libfc: cache align struct fc_exch fields
cache aligned xid and ex_lock beside removing holes. Signed-off-by: Vasu Dev <vasu.dev@intel.com> Tested-by: Ross Brattain <ross.b.brattain@intel.com> Signed-off-by: Yi Zou <yi.zou@intel.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
Diffstat (limited to 'include')
-rw-r--r--include/scsi/libfc.h27
1 files changed, 12 insertions, 15 deletions
diff --git a/include/scsi/libfc.h b/include/scsi/libfc.h
index 05e2583d8fa6..5d1a758e0595 100644
--- a/include/scsi/libfc.h
+++ b/include/scsi/libfc.h
@@ -406,35 +406,32 @@ struct fc_seq {
406 * sequence allocation 406 * sequence allocation
407 */ 407 */
408struct fc_exch { 408struct fc_exch {
409 spinlock_t ex_lock;
410 atomic_t ex_refcnt;
411 enum fc_class class;
409 struct fc_exch_mgr *em; 412 struct fc_exch_mgr *em;
410 struct fc_exch_pool *pool; 413 struct fc_exch_pool *pool;
411 u32 state;
412 u16 xid;
413 struct list_head ex_list; 414 struct list_head ex_list;
414 spinlock_t ex_lock;
415 atomic_t ex_refcnt;
416 struct delayed_work timeout_work;
417 struct fc_lport *lp; 415 struct fc_lport *lp;
416 u32 esb_stat;
417 u8 state;
418 u8 fh_type;
419 u8 seq_id;
420 u8 encaps;
421 u16 xid;
418 u16 oxid; 422 u16 oxid;
419 u16 rxid; 423 u16 rxid;
420 u32 oid; 424 u32 oid;
421 u32 sid; 425 u32 sid;
422 u32 did; 426 u32 did;
423 u32 esb_stat;
424 u32 r_a_tov; 427 u32 r_a_tov;
425 u8 seq_id;
426 u8 encaps;
427 u32 f_ctl; 428 u32 f_ctl;
428 u8 fh_type; 429 struct fc_seq seq;
429 enum fc_class class;
430 struct fc_seq seq;
431
432 void (*resp)(struct fc_seq *, struct fc_frame *, void *); 430 void (*resp)(struct fc_seq *, struct fc_frame *, void *);
433 void *arg; 431 void *arg;
434
435 void (*destructor)(struct fc_seq *, void *); 432 void (*destructor)(struct fc_seq *, void *);
436 433 struct delayed_work timeout_work;
437}; 434} ____cacheline_aligned_in_smp;
438#define fc_seq_exch(sp) container_of(sp, struct fc_exch, seq) 435#define fc_seq_exch(sp) container_of(sp, struct fc_exch, seq)
439 436
440 437