diff options
author | Andy Grover <andy.grover@oracle.com> | 2010-04-23 13:49:53 -0400 |
---|---|---|
committer | Andy Grover <andy.grover@oracle.com> | 2010-09-08 21:14:06 -0400 |
commit | e4c52c98e04937ea87b0979a81354d0040d284f9 (patch) | |
tree | c7bfbd9d952ebb66e7491d7c3a1bc91db3fbfbb8 /net/rds/ib.h | |
parent | 4a81802b5e5e0b059627d7173c917711cf35e668 (diff) |
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.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/net/rds/ib.h b/net/rds/ib.h index c506604325d5..4bc3e2fba25a 100644 --- a/net/rds/ib.h +++ b/net/rds/ib.h | |||
@@ -3,6 +3,8 @@ | |||
3 | 3 | ||
4 | #include <rdma/ib_verbs.h> | 4 | #include <rdma/ib_verbs.h> |
5 | #include <rdma/rdma_cm.h> | 5 | #include <rdma/rdma_cm.h> |
6 | #include <linux/pci.h> | ||
7 | #include <linux/slab.h> | ||
6 | #include "rds.h" | 8 | #include "rds.h" |
7 | #include "rdma_transport.h" | 9 | #include "rdma_transport.h" |
8 | 10 | ||
@@ -167,6 +169,10 @@ struct rds_ib_device { | |||
167 | spinlock_t spinlock; /* protect the above */ | 169 | spinlock_t spinlock; /* protect the above */ |
168 | }; | 170 | }; |
169 | 171 | ||
172 | #define pcidev_to_node(pcidev) pcibus_to_node(pcidev->bus) | ||
173 | #define ibdev_to_node(ibdev) pcidev_to_node(to_pci_dev(ibdev->dma_device)) | ||
174 | #define rdsibdev_to_node(rdsibdev) ibdev_to_node(rdsibdev->dev) | ||
175 | |||
170 | /* bits for i_ack_flags */ | 176 | /* bits for i_ack_flags */ |
171 | #define IB_ACK_IN_FLIGHT 0 | 177 | #define IB_ACK_IN_FLIGHT 0 |
172 | #define IB_ACK_REQUESTED 1 | 178 | #define IB_ACK_REQUESTED 1 |