From patchwork Sun Jun 13 15:10:00 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Eli Dorfman (Voltaire)" X-Patchwork-Id: 105822 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 o5DEqoUw031534 for ; Sun, 13 Jun 2010 14:52:50 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753948Ab0FMOws (ORCPT ); Sun, 13 Jun 2010 10:52:48 -0400 Received: from fwil.voltaire.com ([193.47.165.2]:42752 "EHLO exil.voltaire.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1753759Ab0FMOwr (ORCPT ); Sun, 13 Jun 2010 10:52:47 -0400 Received: from [172.25.1.69] ([172.25.1.69]) by exil.voltaire.com with Microsoft SMTPSVC(6.0.3790.4675); Sun, 13 Jun 2010 17:52:40 +0300 Message-ID: <4C14F4C8.1090102@gmail.com> Date: Sun, 13 Jun 2010 18:10:00 +0300 From: "Eli Dorfman (Voltaire)" User-Agent: Thunderbird 2.0.0.17 (X11/20080914) MIME-Version: 1.0 To: Sasha Khapyorsky CC: linux-rdma , Yiftah Shahar , Yevgeny Kliteynik Subject: [PATCH v2] opensm: Modify connect_roots to allow connectivity between all switches References: <4C14E3D3.4070601@gmail.com> In-Reply-To: <4C14E3D3.4070601@gmail.com> X-OriginalArrivalTime: 13 Jun 2010 14:52:40.0620 (UTC) FILETIME=[126146C0:01CB0B08] 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]); Sun, 13 Jun 2010 14:52:51 +0000 (UTC) diff --git a/opensm/man/opensm.8.in b/opensm/man/opensm.8.in index 9053611..c67126e 100644 --- a/opensm/man/opensm.8.in +++ b/opensm/man/opensm.8.in @@ -174,7 +174,7 @@ the host comes back online. .TP \fB\-z\fR, \fB\-\-connect_roots\fR This option enforces routing engines (up/down and -fat-tree) to make connectivity between root switches and in +fat-tree) to make connectivity between all switches and in this way to be fully IBA complaint. In many cases this can violate "pure" deadlock free algorithm, so use it carefully. .TP diff --git a/opensm/opensm/main.c b/opensm/opensm/main.c index 0093aa7..82ca78f 100644 --- a/opensm/opensm/main.c +++ b/opensm/opensm/main.c @@ -187,7 +187,7 @@ static void show_usage(void) " Sets the SL to use to communicate with the SM/SA. Defaults to 0.\n\n"); printf("--connect_roots, -z\n" " This option enforces routing engines (up/down and \n" - " fat-tree) to make connectivity between root switches\n" + " fat-tree) to make connectivity between all switches\n" " and in this way be IBA compliant. In many cases,\n" " this can violate \"pure\" deadlock free algorithm, so\n" " use it carefully.\n\n"); diff --git a/opensm/opensm/osm_ucast_updn.c b/opensm/opensm/osm_ucast_updn.c index 164c6f4..f44ca24 100644 --- a/opensm/opensm/osm_ucast_updn.c +++ b/opensm/opensm/osm_ucast_updn.c @@ -314,9 +314,7 @@ static int updn_set_min_hop_table(IN updn_t * p_updn) item = cl_qmap_next(item)) { p_sw = (osm_switch_t *)item; /* Clear Min Hop Table */ - if (p_subn->opt.connect_roots) - updn_clear_non_root_hops(p_updn, p_sw); - else + if (!p_subn->opt.connect_roots) osm_switch_clear_hops(p_sw); }