From patchwork Mon Jun 14 11:11:49 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Hal Rosenstock X-Patchwork-Id: 105927 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by demeter.kernel.org (8.14.3/8.14.3) with ESMTP id o5EBCAPn021094 for ; Mon, 14 Jun 2010 11:12:11 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756168Ab0FNLMK (ORCPT ); Mon, 14 Jun 2010 07:12:10 -0400 Received: from qmta13.westchester.pa.mail.comcast.net ([76.96.59.243]:51002 "EHLO qmta13.westchester.pa.mail.comcast.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756162Ab0FNLMJ (ORCPT ); Mon, 14 Jun 2010 07:12:09 -0400 Received: from omta14.westchester.pa.mail.comcast.net ([76.96.62.60]) by qmta13.westchester.pa.mail.comcast.net with comcast id VmfJ1e0011HzFnQ5DnC8mb; Mon, 14 Jun 2010 11:12:08 +0000 Received: from hal.comcast.net ([75.69.247.31]) by omta14.westchester.pa.mail.comcast.net with comcast id VnC71e00U0hNrtn3anC8vo; Mon, 14 Jun 2010 11:12:08 +0000 Received: from hal.comcast.net (localhost.localdomain [127.0.0.1]) by hal.comcast.net (8.14.3/8.14.3) with ESMTP id o5EBCM5P025100; Mon, 14 Jun 2010 07:12:27 -0400 Received: (from hnrose@localhost) by hal.comcast.net (8.14.3/8.14.3/Submit) id o5EBBnCs025069; Mon, 14 Jun 2010 07:11:49 -0400 Date: Mon, 14 Jun 2010 07:11:49 -0400 From: Hal Rosenstock To: sashak@voltaire.com Cc: linux-rdma@vger.kernel.org Subject: [PATCH] [RESEND] opensm/osm_trap_rcv.c: No need for heavy sweep when just NodeDescription changes Message-ID: <20100614111148.GA25056@comcast.net> MIME-Version: 1.0 Content-Disposition: inline User-Agent: Mutt/1.5.19 (2009-01-05) Sender: linux-rdma-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-rdma@vger.kernel.org X-Greylist: IP, sender and recipient auto-whitelisted, not delayed by milter-greylist-4.2.3 (demeter.kernel.org [140.211.167.41]); Mon, 14 Jun 2010 11:12:12 +0000 (UTC) diff --git a/opensm/opensm/osm_trap_rcv.c b/opensm/opensm/osm_trap_rcv.c index 52f8832..9024a1f 100644 --- a/opensm/opensm/osm_trap_rcv.c +++ b/opensm/opensm/osm_trap_rcv.c @@ -509,6 +509,9 @@ static void trap_rcv_process_request(IN osm_sm_t * sm, CL_PLOCK_ACQUIRE(sm->p_lock); osm_req_get_node_desc(sm, p_physp); CL_PLOCK_RELEASE(sm->p_lock); + if (!(p_ntci->data_details.ntc_144.change_flgs & ~TRAP_144_MASK_NODE_DESCRIPTION_CHANGE) && + p_ntci->data_details.ntc_144.new_cap_mask == p_physp->port_info.capability_mask) + goto check_report; } else OSM_LOG(sm->p_log, OSM_LOG_ERROR, "ERR 3812: No physical port found for " @@ -547,6 +550,7 @@ check_sweep: if (physp_change_trap == TRUE) goto Exit; +check_report: /* Add a call to osm_report_notice */ /* We are going to report the notice - so need to fix the IssuerGID accordingly. See IBA 1.2 p.739 or IBA 1.1 p.653 for details. */