Received: by 2002:a05:6500:1b45:b0:1f5:f2ab:c469 with SMTP id cz5csp146673lqb; Tue, 16 Apr 2024 11:09:56 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCUQ/YLhnqpMn6huphhJcbOWCp+8VwaExa9sYMiINB4TQsAEZ8Dn5Veia2v8cjBnEHnl7iU6gCVxeWWKrMwXX2fP+9Es1UPHwaBfkw6Z9w== X-Google-Smtp-Source: AGHT+IE4cz25/3VCphWOwc5UJfx7nbrfYpgS20h3P9+kOw1qVZXsaJntN0ARFKaDVbKOz7ufu6xF X-Received: by 2002:a17:907:9717:b0:a51:d23e:c53 with SMTP id jg23-20020a170907971700b00a51d23e0c53mr11428863ejc.31.1713290996495; Tue, 16 Apr 2024 11:09:56 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1713290996; cv=pass; d=google.com; s=arc-20160816; b=TsPbFJsXnX7kJGeAeBxBcL7OmzY6p0kG8704mA1qC6HJevOV+UDvT9l8rHALTUwAep FH3M+OzHg4gPmg+FQ0m1Z3slSrNiZQln+q5oIecU1f5Sr6g681EbLZN6+RZOgUt7MJqW UIeQtcEBY3GqWZmhbQDBz2zJdsu6wnnS/IM5kXqB965dhm/iMwpWpcllgDj1V1lvKkiY HkubCyukKqlm7LP3YOxhpfCVZLMponrW2DkhslBfLrSuTPhokLCH0al84LbaxXtPTfnK y2uC6SzMx+sDc4z9WE/Nj7FUWSzeTMXy9LUnBbSlNIzXGwBGFT91zGQhV+A1YpMCn2yp ywYg== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:list-unsubscribe:list-subscribe:list-id:precedence :references:message-id:subject:cc:to:from:date:dkim-signature; bh=TXomqugHQL46au9N8uw64oQNOo/r6UX6m/Q4x5PGJ/s=; fh=oVmBbpTUDr2c8+wQApuTzeRusx+WssNXQkSAjXGQdXQ=; b=KXCVRICchF96O8eBnNHRQOB5Gn4zJPVM8VrSySQlaOw29HgaDVVlGEDLUkKxPueQzW Pw402X2e6FzmqoGJDVtaSLgC474/Z2mANfjX7+9GXuXOZD7/VUwOW09dmIV/bR2MEMw9 dUPXOVt5Zf7KySyJY2O622Rr6XLfOrZr3W5A2XHs++7CuAOmhD3sMKzuWE3GXbWTgAZQ 6EZpXFKbCTPjN/h7W7GbkCJmrDylg88mZVotwhZf0Y7nJvOV5wlbnwSYiFbG8FuhXxgV GnbFQRQR13tVVAfKdUEmKfZdjtGZtusmyntlhJyLvnvlnCJiaf4WOjlGX4tO1PGRDZXH cG6A==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@lunn.ch header.s=20171124 header.b=QeyODSL4; arc=pass (i=1 spf=pass spfdomain=lunn.ch dkim=pass dkdomain=lunn.ch dmarc=pass fromdomain=lunn.ch); spf=pass (google.com: domain of linux-kernel+bounces-147354-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:4601:e00::3 as permitted sender) smtp.mailfrom="linux-kernel+bounces-147354-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=lunn.ch Return-Path: Received: from am.mirrors.kernel.org (am.mirrors.kernel.org. [2604:1380:4601:e00::3]) by mx.google.com with ESMTPS id mp29-20020a1709071b1d00b00a4e6138f12asi5841543ejc.810.2024.04.16.11.09.56 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 16 Apr 2024 11:09:56 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel+bounces-147354-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:4601:e00::3 as permitted sender) client-ip=2604:1380:4601:e00::3; Authentication-Results: mx.google.com; dkim=pass header.i=@lunn.ch header.s=20171124 header.b=QeyODSL4; arc=pass (i=1 spf=pass spfdomain=lunn.ch dkim=pass dkdomain=lunn.ch dmarc=pass fromdomain=lunn.ch); spf=pass (google.com: domain of linux-kernel+bounces-147354-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:4601:e00::3 as permitted sender) smtp.mailfrom="linux-kernel+bounces-147354-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=lunn.ch Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by am.mirrors.kernel.org (Postfix) with ESMTPS id 3CCF51F21894 for ; Tue, 16 Apr 2024 18:09:56 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id D4B821353F3; Tue, 16 Apr 2024 18:09:45 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=lunn.ch header.i=@lunn.ch header.b="QeyODSL4" Received: from vps0.lunn.ch (vps0.lunn.ch [156.67.10.101]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B62F9134429; Tue, 16 Apr 2024 18:09:42 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=156.67.10.101 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1713290985; cv=none; b=nvn2dtFsHSV5Y+RkRYErgH6VY9nMECe0D27rptc99p6FGSJesYfebf/cL5dVoRFuaEoLaju+liq9vYVZeVvsaUb7ftCLLmpZzkVk7R3CDezh7oVMSQfTrbgxK5wbUl8hDn64QTR6SnwJSOnE3z1VQ4O9wraG0mBqIjnCWfvNTiw= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1713290985; c=relaxed/simple; bh=N4C2FjdiqPsdy0C9kaCE8/PgntEeBxpWzcAr3NeY9aQ=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=Ez0kvxrDA3lV8TKlCPmQkb5FuDRkJnjXOf0vREw9fqbIHRYn/rbYU/mIoI+Lawji0uo1rqWXe4RpDLhQaBX8zy06R1L2MGU9OgfwefmKHPgy+6U9muFD1Ur+LZgFmorGsZIlG0+1KtPDkssYrBcK5ZGa0oQTOb9I6v+Kdctrj8s= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=lunn.ch; spf=pass smtp.mailfrom=lunn.ch; dkim=pass (1024-bit key) header.d=lunn.ch header.i=@lunn.ch header.b=QeyODSL4; arc=none smtp.client-ip=156.67.10.101 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=lunn.ch Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=lunn.ch DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lunn.ch; s=20171124; h=In-Reply-To:Content-Transfer-Encoding:Content-Disposition: Content-Type:MIME-Version:References:Message-ID:Subject:Cc:To:From:Date:From: Sender:Reply-To:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type: Content-Transfer-Encoding:Content-ID:Content-Description:Content-Disposition: In-Reply-To:References; bh=TXomqugHQL46au9N8uw64oQNOo/r6UX6m/Q4x5PGJ/s=; b=Qe yODSL4fDFv1MzBJSrO1z8zZKmNc73pmcIo2Y/X2bUlc0REHNbm32Y+FukB9CDnKVU3YceRNG4ohs/ +EwRYyI6BHmc5MiGJxj0ROQQ194dkGh8nChvnOeB9LWjDnvUJ9OjcEHN2928IhGbX7jisHyBuyoqd sQq2Yfra6x8SjD0=; Received: from andrew by vps0.lunn.ch with local (Exim 4.94.2) (envelope-from ) id 1rwnFP-00DAOS-No; Tue, 16 Apr 2024 20:09:35 +0200 Date: Tue, 16 Apr 2024 20:09:35 +0200 From: Andrew Lunn To: Zhu Yanjun Cc: Jason Gunthorpe , Shradha Gupta , linux-kernel@vger.kernel.org, linux-hyperv@vger.kernel.org, linux-rdma@vger.kernel.org, netdev@vger.kernel.org, Eric Dumazet , Jakub Kicinski , Paolo Abeni , Ajay Sharma , Leon Romanovsky , Thomas Gleixner , Sebastian Andrzej Siewior , "K. Y. Srinivasan" , Haiyang Zhang , Wei Liu , Dexuan Cui , Long Li , Michael Kelley , Shradha Gupta , Yury Norov , Konstantin Taranov , Souradeep Chakrabarti Subject: Re: [PATCH net-next] net: mana: Add new device attributes for mana Message-ID: References: <1713174589-29243-1-git-send-email-shradhagupta@linux.microsoft.com> <20240415161305.GO223006@ziepe.ca> <56b0a8c1-50f6-41a9-9ea5-ed45ada58892@linux.dev> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <56b0a8c1-50f6-41a9-9ea5-ed45ada58892@linux.dev> On Tue, Apr 16, 2024 at 06:27:04AM +0200, Zhu Yanjun wrote: > 在 2024/4/15 18:13, Jason Gunthorpe 写道: > > On Mon, Apr 15, 2024 at 02:49:49AM -0700, Shradha Gupta wrote: > > > Add new device attributes to view multiport, msix, and adapter MTU > > > setting for MANA device. > > > > > > Signed-off-by: Shradha Gupta > > > --- > > > .../net/ethernet/microsoft/mana/gdma_main.c | 74 +++++++++++++++++++ > > > include/net/mana/gdma.h | 9 +++ > > > 2 files changed, 83 insertions(+) > > > > > > diff --git a/drivers/net/ethernet/microsoft/mana/gdma_main.c b/drivers/net/ethernet/microsoft/mana/gdma_main.c > > > index 1332db9a08eb..6674a02cff06 100644 > > > --- a/drivers/net/ethernet/microsoft/mana/gdma_main.c > > > +++ b/drivers/net/ethernet/microsoft/mana/gdma_main.c > > > @@ -1471,6 +1471,65 @@ static bool mana_is_pf(unsigned short dev_id) > > > return dev_id == MANA_PF_DEVICE_ID; > > > } > > > +static ssize_t mana_attr_show(struct device *dev, > > > + struct device_attribute *attr, char *buf) > > > +{ > > > + struct pci_dev *pdev = to_pci_dev(dev); > > > + struct gdma_context *gc = pci_get_drvdata(pdev); > > > + struct mana_context *ac = gc->mana.driver_data; > > > + > > > + if (strcmp(attr->attr.name, "mport") == 0) > > > + return snprintf(buf, PAGE_SIZE, "%d\n", ac->num_ports); > > > + else if (strcmp(attr->attr.name, "adapter_mtu") == 0) > > > + return snprintf(buf, PAGE_SIZE, "%d\n", gc->adapter_mtu); > > > + else if (strcmp(attr->attr.name, "msix") == 0) > > > + return snprintf(buf, PAGE_SIZE, "%d\n", gc->max_num_msix); > > > + else > > > + return -EINVAL; > > > + > > > > That is not how sysfs should be implemented at all, please find a > > good example to copy from. Every attribute should use its own function > > with the macros to link it into an attributes group and sysfs_emit > > should be used for printing > > Not sure if this file drivers/infiniband/hw/usnic/usnic_ib_sysfs.c is a good > example or not. The first question should be, what are these values used for? You can then decide on debugfs or sysfs. debugfs is easier to use, and you avoid any ABI, which will make long term support easier. Andrew