IB/srp: Remove use of cached P_Key/GID queries
authorRoland Dreier <rolandd@cisco.com>
Tue, 15 Jul 2008 06:48:43 +0000 (23:48 -0700)
committerRoland Dreier <rolandd@cisco.com>
Tue, 15 Jul 2008 06:48:43 +0000 (23:48 -0700)
The SRP initiator is currently using ib_find_cached_pkey() and
ib_get_cached_gid() in situations where the uncached ib_find_pkey()
and ib_query_gid() functions serve just as well: sleeping is allowed
and performance is not an issue.  Since we want to eliminate the
cached operations in the long term, convert SRP to use the uncached
variants.

Signed-off-by: Roland Dreier <rolandd@cisco.com>
drivers/infiniband/ulp/srp/ib_srp.c

index 4351457..81cc59c 100644 (file)
@@ -49,8 +49,6 @@
 #include <scsi/srp.h>
 #include <scsi/scsi_transport_srp.h>
 
-#include <rdma/ib_cache.h>
-
 #include "ib_srp.h"
 
 #define DRV_NAME       "ib_srp"
@@ -183,10 +181,10 @@ static int srp_init_qp(struct srp_target_port *target,
        if (!attr)
                return -ENOMEM;
 
-       ret = ib_find_cached_pkey(target->srp_host->srp_dev->dev,
-                                 target->srp_host->port,
-                                 be16_to_cpu(target->path.pkey),
-                                 &attr->pkey_index);
+       ret = ib_find_pkey(target->srp_host->srp_dev->dev,
+                          target->srp_host->port,
+                          be16_to_cpu(target->path.pkey),
+                          &attr->pkey_index);
        if (ret)
                goto out;
 
@@ -1883,8 +1881,7 @@ static ssize_t srp_create_target(struct device *dev,
        if (ret)
                goto err;
 
-       ib_get_cached_gid(host->srp_dev->dev, host->port, 0,
-                         &target->path.sgid);
+       ib_query_gid(host->srp_dev->dev, host->port, 0, &target->path.sgid);
 
        shost_printk(KERN_DEBUG, target->scsi_host, PFX
                     "new target: id_ext %016llx ioc_guid %016llx pkey %04x "