aboutsummaryrefslogtreecommitdiffstats
path: root/net/rds/ib.h
diff options
context:
space:
mode:
authorAndy Grover <andy.grover@oracle.com>2010-04-23 10:49:53 -0700
committerAndy Grover <andy.grover@oracle.com>2010-09-08 18:14:06 -0700
commite4c52c98e04937ea87b0979a81354d0040d284f9 (patch)
treec7bfbd9d952ebb66e7491d7c3a1bc91db3fbfbb8 /net/rds/ib.h
parent4a81802b5e5e0b059627d7173c917711cf35e668 (diff)
downloadkernel_goldelico_gta04-e4c52c98e04937ea87b0979a81354d0040d284f9.zip
kernel_goldelico_gta04-e4c52c98e04937ea87b0979a81354d0040d284f9.tar.gz
kernel_goldelico_gta04-e4c52c98e04937ea87b0979a81354d0040d284f9.tar.bz2
RDS/IB: add _to_node() macros for numa and use {k,v}malloc_node()
Allocate send/recv rings in memory that is node-local to the HCA. This significantly helps performance. Signed-off-by: Andy Grover <andy.grover@oracle.com>
Diffstat (limited to 'net/rds/ib.h')
-rw-r--r--net/rds/ib.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/net/rds/ib.h b/net/rds/ib.h
index c506604..4bc3e2f 100644
--- a/net/rds/ib.h
+++ b/net/rds/ib.h
@@ -3,6 +3,8 @@
#include <rdma/ib_verbs.h>
#include <rdma/rdma_cm.h>
+#include <linux/pci.h>
+#include <linux/slab.h>
#include "rds.h"
#include "rdma_transport.h"
@@ -167,6 +169,10 @@ struct rds_ib_device {
spinlock_t spinlock; /* protect the above */
};
+#define pcidev_to_node(pcidev) pcibus_to_node(pcidev->bus)
+#define ibdev_to_node(ibdev) pcidev_to_node(to_pci_dev(ibdev->dma_device))
+#define rdsibdev_to_node(rdsibdev) ibdev_to_node(rdsibdev->dev)
+
/* bits for i_ack_flags */
#define IB_ACK_IN_FLIGHT 0
#define IB_ACK_REQUESTED 1