Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e17b4af7 authored by Vasu Dev's avatar Vasu Dev Committed by James Bottomley
Browse files

[SCSI] libfc: cache align fc_exch_pool



fix holes and better cache aligned fields.

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 49a19889
Loading
Loading
Loading
Loading
+5 −6
Original line number Diff line number Diff line
@@ -65,16 +65,15 @@ static struct workqueue_struct *fc_exch_workqueue;
 * assigned range of exchanges to per cpu pool.
 */
struct fc_exch_pool {
	spinlock_t	 lock;
	struct list_head ex_list;
	u16		 next_index;
	u16		 total_exches;

	/* two cache of free slot in exch array */
	u16		 left;
	u16		 right;

	spinlock_t	 lock;
	struct list_head ex_list;
};
} ____cacheline_aligned_in_smp;

/**
 * struct fc_exch_mgr - The Exchange Manager (EM).
@@ -91,13 +90,13 @@ struct fc_exch_pool {
 * It manages the allocation of exchange IDs.
 */
struct fc_exch_mgr {
	struct fc_exch_pool *pool;
	mempool_t	*ep_pool;
	enum fc_class	class;
	struct kref	kref;
	u16		min_xid;
	u16		max_xid;
	mempool_t	*ep_pool;
	u16		pool_max_index;
	struct fc_exch_pool *pool;

	/*
	 * currently exchange mgr stats are updated but not used.