summaryrefslogtreecommitdiffstats
path: root/net/rds/ib.h
diff options
context:
space:
mode:
authorSantosh Shilimkar <santosh.shilimkar@oracle.com>2016-07-05 01:16:36 +0200
committerSantosh Shilimkar <santosh.shilimkar@oracle.com>2017-01-02 23:02:52 +0100
commitbe2f76eacc278c272f26d46e4168efe5a55f5383 (patch)
treec5d8d170f37ff0704d3a87b55e493ea794f8e841 /net/rds/ib.h
parentRDS: IB: add few useful cache stasts (diff)
downloadlinux-be2f76eacc278c272f26d46e4168efe5a55f5383.tar.xz
linux-be2f76eacc278c272f26d46e4168efe5a55f5383.zip
RDS: IB: Add vector spreading for cqs
Based on available device vectors, allocate cqs accordingly to get better spread of completion vectors which helps performace great deal.. Signed-off-by: Santosh Shilimkar <santosh.shilimkar@oracle.com>
Diffstat (limited to 'net/rds/ib.h')
-rw-r--r--net/rds/ib.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/net/rds/ib.h b/net/rds/ib.h
index c62e5513d306..1fe9f79fead5 100644
--- a/net/rds/ib.h
+++ b/net/rds/ib.h
@@ -185,6 +185,10 @@ struct rds_ib_connection {
/* Endpoint role in connection */
bool i_active_side;
+
+ /* Send/Recv vectors */
+ int i_scq_vector;
+ int i_rcq_vector;
};
/* This assumes that atomic_t is at least 32 bits */
@@ -227,6 +231,7 @@ struct rds_ib_device {
spinlock_t spinlock; /* protect the above */
atomic_t refcount;
struct work_struct free_work;
+ int *vector_load;
};
#define ibdev_to_node(ibdev) dev_to_node(ibdev->dma_device)