Received: by 2002:a25:6193:0:0:0:0:0 with SMTP id v141csp2035604ybb; Thu, 26 Mar 2020 20:12:04 -0700 (PDT) X-Google-Smtp-Source: ADFU+vv7zHf/1JtaABJ5UaeLktWpMn8Bmd3bB13gcWX8vCLHFKYCKzNvVfxPeB07C5IDuHmn1468 X-Received: by 2002:aca:eb4c:: with SMTP id j73mr2440337oih.145.1585278724460; Thu, 26 Mar 2020 20:12:04 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1585278724; cv=none; d=google.com; s=arc-20160816; b=K231Di7CJo2xaKdLoJn/idJgoH7Lyp8WswysSoGUCwWIllAOPaJZnuJJXYOFbyqtTp awWF4BdzrqGmIRfTG1PWhPlSZOvUv4CFbwxn7E6caybeOJ1L4FX0OC6Kconme2s+Uiib h7FmmY9Yillt72Fs9TL4n5+2QuisVFfpDX3wUjIbf1gzJlJgfGbfhwwEvJau1w/RuKTR YBTezqJz4izMVPudIaEDMBwFNdKHWs5ajntv1IiTbgnZ5N/Ap+XusBDXsOp16qCuXY+7 38DIRYlHxjEYMDw1bWbMrtkD+od5WT6tseQVDH91vJLjQjT496RmRf8u7kDO80CeFgXk 10NA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:to:references:message-id :content-transfer-encoding:cc:date:in-reply-to:from:subject :mime-version; bh=QhkftgIljEemWR/uopYABXIUeSCGI5HsnyyakSeLKF0=; b=nncr/Ut5V7FE3iyaCdyBKMkxjevJp18IQ0PKtLV9xkMCKbvAVXxrjCgrhGCirdz1Hd pOR+r45FUw7MqbUAELx59E6goS73HBmOzOHiI/TdB2Fn6HdPnzKDITPYevuZLFnOhnfS TiDEXlC3QDdqpf2HNa2Yl6ao9etNIR4ZW25mYFf7S0AhhD1bOp8tnUV/OdktG6YxfPa+ blShqLSoHumCkNuSKDCZQCpCmm8mrhmUK9AYxGo7u2zQ/Agnlb+gYJUWDjPF5PAUYmTM 5UtYkQ0mr/DRXrwTtEv7tE8yWCYvsWK0QRAzQJMKN1Se2QaQjkBqP347qUQtFjwD7UNf WrlQ== 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=canonical.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id j8si1771099oib.260.2020.03.26.20.11.52; Thu, 26 Mar 2020 20:12:04 -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=canonical.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727780AbgC0DLY convert rfc822-to-8bit (ORCPT + 99 others); Thu, 26 Mar 2020 23:11:24 -0400 Received: from youngberry.canonical.com ([91.189.89.112]:34851 "EHLO youngberry.canonical.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727509AbgC0DLX (ORCPT ); Thu, 26 Mar 2020 23:11:23 -0400 Received: from mail-pg1-f200.google.com ([209.85.215.200]) by youngberry.canonical.com with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.86_2) (envelope-from ) id 1jHfOz-0004aP-QZ for linux-kernel@vger.kernel.org; Fri, 27 Mar 2020 03:11:22 +0000 Received: by mail-pg1-f200.google.com with SMTP id m25so6748618pgl.8 for ; Thu, 26 Mar 2020 20:11:21 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=vcPbgKJFNBF/8OZqL1JZORYE0AqNLU0C16CcoGlMb4U=; b=mtVLT8RJT6TBn36CDMIn1mMC/2D1JOWOst+IOLBzjEmAbIMhChjhLo1UQoueH1AjcN /G+v8qzOHrw/0sVsNf6nQoevjK1i6YhKBiukVu9WG2WCSyBC9W08x9R14Sy7yhXbTG+s iIw5eYZ/01lJshUcQGL2na41dfLgcEtjAJ20a3UMpQGCl3PEhg6i+6wcSj7i3Y6uIY6O IVVYzzWUkfsnxTuGOSALibK+FlPztqfEjCoNqNE2vq1jL+KVH8BWpGyhNzwm81jUjRo2 mMBZS1/3YNyqGWwwn702CZR1rXkUDV4ZEemby/KL0+vxPr80GnEI1dwI2VguM4+KQwRc tMyQ== X-Gm-Message-State: ANhLgQ1X1U/nx/gsh+9rkzUcUHOObp6RE8bA6a82OS0CBiPHGcBOSl8v y5dfUYvUalAnZeCfcsiiNmL8iCSsT5r33CXxtpLxPLqvdJN/hflyQe/npJGbxdLxXrzmtYKKBXA i+lDoXt31lrSNohHuQJY1On6pIiADKx6qpx3BRetcBw== X-Received: by 2002:a17:902:8ec1:: with SMTP id x1mr11368398plo.325.1585278680453; Thu, 26 Mar 2020 20:11:20 -0700 (PDT) X-Received: by 2002:a17:902:8ec1:: with SMTP id x1mr11368367plo.325.1585278680067; Thu, 26 Mar 2020 20:11:20 -0700 (PDT) Received: from [192.168.1.208] (220-133-187-190.HINET-IP.hinet.net. [220.133.187.190]) by smtp.gmail.com with ESMTPSA id 11sm2844685pfz.91.2020.03.26.20.11.17 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 26 Mar 2020 20:11:19 -0700 (PDT) Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 13.0 \(3608.60.0.2.5\)) Subject: Re: [PATCH] ethtool: Report speed and duplex as unknown when device is runtime suspended From: Kai-Heng Feng In-Reply-To: Date: Fri, 27 Mar 2020 11:11:16 +0800 Cc: "David S. Miller" , kuba@kernel.org, alexander.duyck@gmail.com, Jeff Kirsher , Aaron Brown , Michal Kubecek , Andrew Lunn , Maxime Chevallier , "open list:NETWORKING [GENERAL]" , open list Content-Transfer-Encoding: 8BIT Message-Id: <84A954EF-4DF6-4F1C-88CE-9B4C0D1ACE5B@canonical.com> References: <20200327024552.22170-1-kai.heng.feng@canonical.com> To: Florian Fainelli X-Mailer: Apple Mail (2.3608.60.0.2.5) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org > On Mar 27, 2020, at 10:56, Florian Fainelli wrote: > > > > On 3/26/2020 7:45 PM, Kai-Heng Feng wrote: >> Device like igb gets runtime suspended when there's no link partner. We >> can't get correct speed under that state: >> $ cat /sys/class/net/enp3s0/speed >> 1000 >> >> In addition to that, an error can also be spotted in dmesg: >> [ 385.991957] igb 0000:03:00.0 enp3s0: PCIe link lost >> >> Since device can only be runtime suspended when there's no link partner, >> we can directly report the speed and duplex as unknown. >> >> Cc: Jeff Kirsher >> Cc: Aaron Brown >> Suggested-by: Alexander Duyck >> Signed-off-by: Kai-Heng Feng > > I would push this to the responsibility of the various drivers instead > of making this part of the standard ethtool implementation. My original approach [1] is to ask device to runtime resume before calling __ethtool_get_link_ksettings(). Unfortunately it will cause a deadlock if the runtime resume routine wants to hold rtnl_lock. However, it should be totally fine (and sometimes necessary) to be able to hold rtnl_lock in runtime resume routine as Alexander explained [2]. As suggested, this patch handles the situation directly in __ethtool_get_link_ksettings(). [1] https://lore.kernel.org/lkml/20200207101005.4454-2-kai.heng.feng@canonical.com/ [2] https://lkml.org/lkml/2020/3/26/989 Kai-Heng > -- > Florian