From patchwork Tue Sep 29 11:02:15 2009 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sasha Khapyorsky X-Patchwork-Id: 50532 Received: from vger.kernel.org (vger.kernel.org [209.132.176.167]) by demeter.kernel.org (8.14.2/8.14.2) with ESMTP id n8TB0TPP028909 for ; Tue, 29 Sep 2009 11:00:29 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752324AbZI2LAY (ORCPT ); Tue, 29 Sep 2009 07:00:24 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1753810AbZI2LAY (ORCPT ); Tue, 29 Sep 2009 07:00:24 -0400 Received: from mail-fx0-f218.google.com ([209.85.220.218]:46956 "EHLO mail-fx0-f218.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752324AbZI2LAX (ORCPT ); Tue, 29 Sep 2009 07:00:23 -0400 Received: by fxm18 with SMTP id 18so4355342fxm.17 for ; Tue, 29 Sep 2009 04:00:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:sender:received:date:from:to :cc:subject:message-id:mime-version:content-type:content-disposition :user-agent; bh=a9eQaKe/lsK0T+jPrhvd/20QqSLobOz7JRoTVbNyTqc=; b=bI+PswxyEI/op6YfJMfxeTXVy3kI0uEU+IGOnpiE5Xpw+V+Pw2/vb3iWjUSH7zvziN KMBWwViIl2AXp4GE6uvB0xm9eQ8qlymAaAmkdp5qFgCF3FTv5S0O48DDaa27W2JLQQYM owcrneLBCpeuI6jbXlBlm1N4qnu8va7NfDlYg= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=sender:date:from:to:cc:subject:message-id:mime-version:content-type :content-disposition:user-agent; b=ICCDMQy+XVd6TjOPbSJIwkK0PHVijyaMFyOVAtHAFrtMxip9pdt54/7cCkSgvJhjK6 EWtpgWLLMVezccU1ZfCP4sFIq07yv3vjaBvvitslnEOfUOPuIfXVeQq1HRCbmdgqUWY6 1ihY7o6R6gWLV2iQjPzWjkVJVhWuNt2L34fvw= Received: by 10.204.10.143 with SMTP id p15mr4002278bkp.167.1254222026508; Tue, 29 Sep 2009 04:00:26 -0700 (PDT) Received: from me.localdomain (85.64.35.106.dynamic.barak-online.net [85.64.35.106]) by mx.google.com with ESMTPS id g28sm6015166fkg.15.2009.09.29.04.00.25 (version=TLSv1/SSLv3 cipher=RC4-MD5); Tue, 29 Sep 2009 04:00:26 -0700 (PDT) Received: by me.localdomain (Postfix, from userid 1000) id 75DD2418E8; Tue, 29 Sep 2009 13:02:15 +0200 (IST) Date: Tue, 29 Sep 2009 13:02:15 +0200 From: Sasha Khapyorsky To: OpenIB , linux-rdma Cc: Hal Rosenstock Subject: [PATCH] opensm/osm_get_port_by_lid(): use faster cl_ptr_vector_get() Message-ID: <20090929110215.GK26931@me> MIME-Version: 1.0 Content-Disposition: inline User-Agent: Mutt/1.5.20 (2009-06-14) Sender: linux-rdma-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-rdma@vger.kernel.org Use faster cl_ptr_vector_get() call instead of cl_ptr_vector_at(). In this way eliminate 'stat' variable needs. Signed-off-by: Sasha Khapyorsky --- opensm/opensm/osm_subnet.c | 8 ++++---- 1 files changed, 4 insertions(+), 4 deletions(-) diff --git a/opensm/opensm/osm_subnet.c b/opensm/opensm/osm_subnet.c index b475031..67bc7e1 100644 --- a/opensm/opensm/osm_subnet.c +++ b/opensm/opensm/osm_subnet.c @@ -646,22 +646,22 @@ osm_port_t *osm_get_port_by_guid(IN osm_subn_t const *p_subn, IN ib_net64_t guid osm_port_t *osm_get_port_by_lid(IN osm_subn_t const * subn, IN ib_net16_t lid) { osm_port_t *port = NULL; - ib_api_status_t stat; uint16_t base_lid; uint8_t lmc; lid = cl_ntoh16(lid); + if (lid >= cl_ptr_vector_get_size(&subn->port_lid_tbl)) + return NULL; /* Loop on lmc from 0 up through max LMC possible */ for (lmc = 0; lmc <= IB_PORT_LMC_MAX; lmc++) { /* Calculate a base LID assuming this is the real LMC */ base_lid = lid & ~((1 << lmc) - 1); - stat = cl_ptr_vector_at(&subn->port_lid_tbl, base_lid, - (void *)&port); + port = cl_ptr_vector_get(&subn->port_lid_tbl, base_lid); /* Determine if base LID "tested" is the real base LID */ /* This is true if the LMC "tested" is the port's actual LMC */ - if (stat == CL_SUCCESS && port && lmc == osm_port_get_lmc(port)) + if (port && lmc == osm_port_get_lmc(port)) return port; }