Received: by 10.213.65.68 with SMTP id h4csp1631625imn; Thu, 15 Mar 2018 05:29:25 -0700 (PDT) X-Google-Smtp-Source: AG47ELuNL9rag9nY204AV7ciupt8CfxFrUsMD0ZKCCixozqO95DQRb+XDCDFefcO8e3T0rQEmmtf X-Received: by 10.98.110.71 with SMTP id j68mr7503345pfc.93.1521116965269; Thu, 15 Mar 2018 05:29:25 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1521116965; cv=none; d=google.com; s=arc-20160816; b=Bauwil6ZRb+9uTdoVOATNZR36hSpDkVojB6HvuRHhSk0ShSOuBib+5kiGcuF9Pogbs sC5SG/fUntIkIr7gUfeQeepak2kATqaByWpc8//h9oJ7HYCGWgqUZfXF5cOhlgi0t08K UpIw/IfONSAdH4w47UwXZpup7IfwosVSoCNJ+TLmOztHUVmIpcu5YfeGZ3pXnHRHQwGt l3ZpGw5Fn1+4/0/igDCYHZpBksVb50I+MNcMZ9EdDd3vj3UG4C5ryH+krznPWTZ2YaLj AE6kdHFnsMB4vRvdlxTpDB6yAtgx2f57oSO9eCGh5a7m61u8eEVx5/oiuzCLr1h46Ufc M2gg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date:arc-authentication-results; bh=duBl/94wwqgkBOD57mSi63pcI1XT57CYEeXIVegdiHs=; b=EFdNgYjFI4HT5nV7f8JcS2iyohucA5Mp0+lExSojnBZxrnGAL5iVJSSw7aomUz2CYk vSHB/xtDzpVAsKxQ04YEg9r+cPtgoD5iVU3hw6dwMghUEoiBE0FK97iVJQZ25t1XSLGR NpNYCJRi2tAHxCmQKIkVWBU6wnONXQOgTL51P/rJjHP7nysMWEdPtJVKvIOoZJMUO8xE WdkxSt15J3eIQvD8QvtYCpssWZULZ23P5QlSACckK4bejoWf0v4AP54T62dxQ4gm1XRo GaKTusxHNaiW1nuSgBGwmmv7U41IXBzFvKRCpQMNqoXholuvI2XOMuNsJDbSTsYKFoy4 VQXw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=redhat.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id a91-v6si3892404pla.677.2018.03.15.05.29.10; Thu, 15 Mar 2018 05:29:25 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=redhat.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751731AbeCOM1p (ORCPT + 99 others); Thu, 15 Mar 2018 08:27:45 -0400 Received: from mx3-rdu2.redhat.com ([66.187.233.73]:38544 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1750745AbeCOM1o (ORCPT ); Thu, 15 Mar 2018 08:27:44 -0400 Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.rdu2.redhat.com [10.11.54.5]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 8334580AD20C; Thu, 15 Mar 2018 12:27:43 +0000 (UTC) Received: from localhost (unknown [10.66.128.195]) by smtp.corp.redhat.com (Postfix) with ESMTPS id A36A8BDC59; Thu, 15 Mar 2018 12:27:42 +0000 (UTC) Date: Thu, 15 Mar 2018 20:27:39 +0800 From: Honggang LI To: Hal Rosenstock Cc: dledford@redhat.com, jgg@ziepe.ca, linux-rdma@vger.kernel.org, noaos@mellanox.com, linux-kernel@vger.kernel.org Subject: Re: [PATCH 2/2] IB/core: Set width to 1X for invalid active widths when port is down Message-ID: <20180315122739.GA29117@dhcp-13-42.nay.redhat.com> References: <20180315090214.21706-1-honli@redhat.com> <20180315090214.21706-3-honli@redhat.com> <74460de7-9603-146b-28ec-2e16b8b5bb52@dev.mellanox.co.il> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <74460de7-9603-146b-28ec-2e16b8b5bb52@dev.mellanox.co.il> User-Agent: Mutt/1.5.21 (2010-09-15) X-Scanned-By: MIMEDefang 2.79 on 10.11.54.5 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.11.55.8]); Thu, 15 Mar 2018 12:27:43 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.11.55.8]); Thu, 15 Mar 2018 12:27:43 +0000 (UTC) for IP:'10.11.54.5' DOMAIN:'int-mx05.intmail.prod.int.rdu2.redhat.com' HELO:'smtp.corp.redhat.com' FROM:'honli@redhat.com' RCPT:'' Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Mar 15, 2018 at 08:01:08AM -0400, Hal Rosenstock wrote: > On 3/15/2018 5:02 AM, Honggang LI wrote: > > From: Honggang Li > > > > commit f1b65df5a232 ("IB/mlx5: Add support for active_width and > > active_speed in RoCE"). Before this patch applied, the mlx5_ib > > driver set default active_width and active_speed to IB_WIDTH_4X > > and IB_SPEED_QDR. > > > > When the RoCE port is down, the RoCE port did not negotiate the > > active width with remote side. The active width is zero. If run > > ibstat to require the port status, ibstat will panic as it read > > invalid width from sys file. > > > > Signed-off-by: Honggang Li > > --- > > drivers/infiniband/core/sysfs.c | 15 +++++++++++---- > > 1 file changed, 11 insertions(+), 4 deletions(-) > > > > diff --git a/drivers/infiniband/core/sysfs.c b/drivers/infiniband/core/sysfs.c > > index cf36ff1f0068..722e4571f4d2 100644 > > --- a/drivers/infiniband/core/sysfs.c > > +++ b/drivers/infiniband/core/sysfs.c > > @@ -240,6 +240,7 @@ static ssize_t rate_show(struct ib_port *p, struct port_attribute *unused, > > struct ib_port_attr attr; > > char *speed = ""; > > int rate; /* in deci-Gb/sec */ > > + int width; > > ssize_t ret; > > > > ret = ib_query_port(p->ibdev, p->port_num, &attr); > > @@ -278,13 +279,19 @@ static ssize_t rate_show(struct ib_port *p, struct port_attribute *unused, > > break; > > } > > > > - rate *= ib_width_enum_to_int(attr.active_width); > > - if (rate < 0) > > - return -EINVAL; > > + width = ib_width_enum_to_int(attr.active_width); > > + if (width < 0) { > > + if (attr.state != IB_PORT_ACTIVE) > > Link width is valid in any PortState other than Down so I think that > this check should be: > if (attr.state != IB_PORT_DOWN) OK, thanks for correct this. > However, I don't think overriding width should be needed for this case > and just returning -EINVAL should be fine regardless of port state. > AFAIK it's the driver responsibility to populate acceptable defaults for > such parameters. What driver(s) have this issue ? Shouldn't it be fixed mlx5_ib, commit f1b65df5a232 changed the default active width and rate. > there rather than here ? Yes, I think so, as only mlx5 RoCE impacted by this issue. So, fix the driver is also acceptable.