Received: by 2002:a05:7412:419a:b0:f3:1519:9f41 with SMTP id i26csp3608003rdh; Mon, 27 Nov 2023 20:47:00 -0800 (PST) X-Google-Smtp-Source: AGHT+IFUY0F26NyUWZ/kie0gLrOkmBuXeHY3ydgbPmqMXUht8mio7lBWlkzGT3wlMdjvmqTU4Xjy X-Received: by 2002:a9d:6444:0:b0:6ce:26e6:19fa with SMTP id m4-20020a9d6444000000b006ce26e619famr15958065otl.23.1701146820095; Mon, 27 Nov 2023 20:47:00 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1701146820; cv=none; d=google.com; s=arc-20160816; b=o0Z4iZWy0JPOjnFWYDtxjnTODckWWDB5jJCaHFThHtxcNNbbxqN5+agKgHqNfWmTkS zAHAH5h2V/Lnszdekztt5M/FH4U7Pf21bUKowCv1VsgDcDlxlRgqoL7aESxooDBM5zxL MvwKKSTuO/zely9OdyGa7jpms8baO4H88rpVNENNPsMvX/Rn+ezuBkCcMij6wRIj75Lo GWAGQVF0p6tHfoNd1Wo3lKp0yfIkufgfMb2rneip533YLSiBPNOFaqwsBS8CSfxs0zDM wPZ8nBTE5BQU+hpdDD6y1uwPSbuLJRotYI2dlqev+MslpKHWtcGK1EDGowKSc/GdbONT 9KXA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-disposition:mime-version :references:message-id:subject:cc:to:from:date:dkim-signature; bh=m3TtcB15vqGIVpbVPGtsnL4VdYcKwtL0fe1YzCthjuE=; fh=lttYay3gEdfyPcK9Zt5QEQAx3q3bGkAM47Oc32QGMSs=; b=rle6Gj7in4H7SkmKhfpkrDdovc5bcfW4hn9hRVvC6Gpmd/HWH8cPnKoBTs+GQeFD0N QwCRZgNs0XtEmCXN9iEJiKK8vL/gVXPE+BnyPRl18MPukTmorT/sNe52sOQQ22RyqXe4 ft6gWwjnwxABIhDAJNBYtOX8WEFZ33BUDwqHOu+zgsyh46mJkKMikFNwwoPOMqCIQ80l F5bO7qEJVj7P+65Ew0yINwaUD7FtHmCvvgA+aH7XZYgaFE+awZji5DQsClYAo+W670Qq a2tEBQYFppWJLFFkOi/YuyRJkMGFBhA/QiHiBoJCA7zN0DYHnFdqYXkfPyjks1sGEhxm Maxw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=Z8v8F7Ys; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:6 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from pete.vger.email (pete.vger.email. [2620:137:e000::3:6]) by mx.google.com with ESMTPS id t21-20020a6564d5000000b005aee0914b6csi11061240pgv.8.2023.11.27.20.46.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Nov 2023 20:47:00 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:6 as permitted sender) client-ip=2620:137:e000::3:6; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=Z8v8F7Ys; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:6 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by pete.vger.email (Postfix) with ESMTP id 9E145819D9DB; Mon, 27 Nov 2023 20:46:57 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at pete.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234499AbjK1Eq2 (ORCPT + 99 others); Mon, 27 Nov 2023 23:46:28 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52026 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232858AbjK1Eq0 (ORCPT ); Mon, 27 Nov 2023 23:46:26 -0500 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 74B3A194 for ; Mon, 27 Nov 2023 20:46:32 -0800 (PST) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 7717CC433C8; Tue, 28 Nov 2023 04:46:31 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1701146791; bh=6ju1R5RRyXkhMRDskRGgARyIZqqRgrjEMRyhTczqn5Q=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=Z8v8F7Ys3+bAJTpaGczAPINsiPuRhlCQrKDFiYxhX5nPVwX4MfiYG+FhDXEy4YozY VZOUcWzwGn7tpg/YF05bEyuUqSG87o/qqbeEALHTHYSfLDMaKSqt3AGjCLRFRXHuke GkdQ0BsD6wzant4aPSFZEcLCBEi90llFrAGXrfP3CrYElouSPzw/itWIlQgQcq9AiR ufMh/fi2/hAA0s1BG+PzCvN0qMbVUQ/rlpqud1Bi7CNKXqufcSjhkPyQN+ccJIA9Jl pai7Eshuk+kD8FSQdp7ns5+JAQkxoCj9oL6vVXzwBjhgYy0Qx9jrJs8TvL8/6tN7H6 5f/EEtyrhlWBw== Date: Mon, 27 Nov 2023 21:46:28 -0700 From: David Ahern To: Jakub Kicinski Cc: Saeed Mahameed , Greg Kroah-Hartman , Jason Gunthorpe , Arnd Bergmann , Leon Romanovsky , Jiri Pirko , Leonid Bloch , Itay Avraham , linux-kernel@vger.kernel.org, Saeed Mahameed Subject: Re: [PATCH V3 2/5] misc: mlx5ctl: Add mlx5ctl misc driver Message-ID: <20231128044628.GA8901@u2004-local> References: <20231121070619.9836-1-saeed@kernel.org> <20231121070619.9836-3-saeed@kernel.org> <2023112702-postal-rumbling-003f@gregkh> <20231127144017.GK436702@nvidia.com> <2023112752-pastel-unholy-c63d@gregkh> <20231127161732.GL436702@nvidia.com> <2023112707-feline-unselect-692f@gregkh> <20231127160719.4a8b2ad1@kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20231127160719.4a8b2ad1@kernel.org> X-Spam-Status: No, score=-1.2 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on pete.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (pete.vger.email [0.0.0.0]); Mon, 27 Nov 2023 20:46:57 -0800 (PST) On Mon, Nov 27, 2023 at 04:07:19PM -0800, Jakub Kicinski wrote: > On Mon, 27 Nov 2023 11:26:06 -0800 Saeed Mahameed wrote: > > This driver is different as it doesn't replace existing mlx5 drivers, > > mlx5 functionality drivers are still there to expose the device features > > through the standard stacks, this is just a companion driver to access > > debug information, by driver and FW design mlx5ctl is not meant to > > manage or pilot the device like other device specific char drivers. > > You keep saying "debug information" which is really underselling this > driver. Are you not going to support mstreg? > > The common development flow as far as netdev is concerned is: > - some customer is interested in a new feature of a chip > - vendor hacks the support out of tree, using oot module and/or > user space tooling > - customer does a PoC with that hacked up, non-upstream solution > - if it works, vendor has to find out a proper upstream API, > hopefully agreed on with other vendors > - if it doesn't match customer needs the whole thing lands in the bin > > If the vendor specific PoC can be achieved with fully upstream software > we lose leverage to force vendors to agree on common APIs. Please elaborate on what "common" API there is to create here? Do you agree that each ASIC in the device is unique and hence will have made different trade offs - both features and nerd knobs to tune and affect the performance and runtime capabilities? If you do not agree, then we need to have a different discussion ... If you do, please elaborate on the outline of some common API that could possibly be done here. You said no to the devlink parameters as a way to tune an ASIC. This is a common, established tool, using a common, established message channel but in an open, free form way of letting a customer see what tunables there are for a specific H/W version and firmware version and then set them. That is about as common as can be for different vendors creating different ASICs with different goals and design objectives. Yet, you somehow expect all of them to have nerd knob X and tunable Y. That is not realistic. > > This should all be self-evident for people familiar with netdev, but > I thought I'd spell it out. > > I understand that the device has other uses, but every modern NIC has > other uses. I don't see how netdev can agree to this driver as long as > there is potential for configuring random networking things thru it. > All major netdev vendors have a set of out of tree tools / "expose > everything misc drivers", "for debug". They will soon follow your > example if we let this in. Out of tree drivers are already ingrained into customers now. Mellanox (in this case) has tried many different angles at getting access to H/W unique tunables (i.e., the devlink comment) and now dumping huge amounts of data. Your response to the devlink parameters attempt is to basically abuse the firmware upgrade command as a way to push a binary blob that can contain said settings (and I still have not fully wrapped my head around the fact that you suggested that option). What specifically are you looking for? There are different vendors and different h/w options for specific market based reasons. Your hard line stance against needs like this is what is pushing out of tree drivers and tools to continue.