From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 1D09942CBA; Wed, 14 Jun 2023 21:33:27 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 0FA8541104; Wed, 14 Jun 2023 21:33:27 +0200 (CEST) Received: from mail-pj1-f47.google.com (mail-pj1-f47.google.com [209.85.216.47]) by mails.dpdk.org (Postfix) with ESMTP id ED3EE41101 for ; Wed, 14 Jun 2023 21:33:24 +0200 (CEST) Received: by mail-pj1-f47.google.com with SMTP id 98e67ed59e1d1-25e89791877so247534a91.2 for ; Wed, 14 Jun 2023 12:33:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=networkplumber-org.20221208.gappssmtp.com; s=20221208; t=1686771204; x=1689363204; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:subject:cc:to:from:date:from:to:cc:subject:date :message-id:reply-to; bh=D54Iq+e0KiGzKmFnio5e3665p24rNX/gjjn+ih74lzw=; b=EvT5bgf53nSPVnTi4jLQ5dT9y2kbrYmVU1VA720gTLdK+ndzT43r2R9Cp6aEt8QUcC 3nKc/wg1/5i4WTNLHITIUKys+uUni8+KhRZF0/kk2MIwoa6k6FQutv/hAlTyWJCHj5yg xk2XqkhY5y8cpMHX8nPmzfnU5etZ4WJSHcnUIU9WzItCY288ZCZZl2d+9Z5KGifsUjjh mHIjMXLci2OmCRuqfiDKisRdd/8SQrt8bP2k9TBm+LB6yR6FO8D/nCkLxDHcLtxZJZr8 wq5KMp7Jr/izK3SdcTSKOpSusknDgu1OOKUn9jVXj11MlZTkaD1odxfLiW32YJCWqkHL vlpQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1686771204; x=1689363204; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:subject:cc:to:from:date:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=D54Iq+e0KiGzKmFnio5e3665p24rNX/gjjn+ih74lzw=; b=K9xlg5F9iYbd5GuhqVOEHJLQKAsl/MK6hk1WNVVbIBZaRoFRwzp046FaOqjCcJ2rh6 mEpnsUz1J/sIF8sXClEvgkBnjzxUeSMIFpNvPqnAT2ksoNHvqyPDdchrRdd/SWNEQfsf 1c/XVeZqQ2jIzKsn/W1CBSJcJ21FVB3s02N8S3pZ49nrGrRc9JnD0wIgd4Jx/as792MK A0TIjFGlm+YpIxdPRNdqBKaQCLPpq50Zb96ynqRXFoRSKyR/phn7+knOruN/tcE7wCoE /aQqVGOh4/AnsZoyk3yRfbp7Bq8XEBe8DJrI31jBwyMyLpWtlHbmx7Fxi6zYnQLEa/EW R5yQ== X-Gm-Message-State: AC+VfDxJzdJ/7yG2YFRtJclaUUJOgFP9sP6DEIctn8SnhpbECeMys/6E 6bX9zLmPuUBPPNjYhj0Xt6SGfxATa7HSbHFoNMj+Pg== X-Google-Smtp-Source: ACHHUZ5B1oUYXz+6KFFTK1onkmMrNwTneYeE7VhSBC8c8bDChg9ulhV6R2ejsZiYQ/sMmWHU7qGA1w== X-Received: by 2002:a17:90a:2ec6:b0:25c:4ad2:f6bd with SMTP id h6-20020a17090a2ec600b0025c4ad2f6bdmr1929747pjs.44.1686771204085; Wed, 14 Jun 2023 12:33:24 -0700 (PDT) Received: from hermes.local (204-195-120-218.wavecable.com. [204.195.120.218]) by smtp.gmail.com with ESMTPSA id mm23-20020a17090b359700b0025c1d5e3042sm3354209pjb.40.2023.06.14.12.33.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 14 Jun 2023 12:33:23 -0700 (PDT) Date: Wed, 14 Jun 2023 12:33:22 -0700 From: Stephen Hemminger To: Gaetan Rivet Cc: dev@dpdk.org, Vamsi Attunuru , Jerin Jacob Subject: Re: [dpdk-dev] [PATCH v7] eal: add manual probing option Message-ID: <20230614120428.34dc0320@hermes.local> In-Reply-To: <3825f1afeebd62b3e50535574ddedadb31435616.1579772895.git.grive@u256.net> References: <3825f1afeebd62b3e50535574ddedadb31435616.1579772895.git.grive@u256.net> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org On Thu, 23 Jan 2020 10:58:13 +0100 Gaetan Rivet wrote: > Add a new EAL option enabling manual probing in the EAL. > This command line option will configure the EAL so that buses > will not trigger their probe step on their own. > > Applications are then expected to hotplug devices as they see fit. > > Devices declared on the command line by the user (using -w and --vdev), > will be probed using the hotplug API, in the order they are declared. > > This has the effect of offering a way for users to control probe order > of their devices, for drivers requiring it. > > Signed-off-by: Gaetan Rivet > Acked-by : Vamsi Attunuru > Tested-by: Vamsi Attunuru > Reviewed-by: Jerin Jacob > --- > > haven't heard many opinions on the matter, please shout if you see an issue > with this approach. > > @Slava: I have tested rather quickly that it does not break anything, > and that it works as intended for basic cases. > Can you test it further for your use-case and tell me if it works fine? > > Beyond the obvious difference between both probe mode, something to keep in mind: > while using -w on invalid devices would not block (PCI) bus probing, it will stop manual > probing in its track. All devices need to exist and be valid device IDs. > > v2: fixed a few typos, map file (and used Travis to validate). > > Slava, are you able to test this patch? > > v3: properly fixed the map file (inherited 19.08 instead of 19.05). > > Added a function to set the probe manual from the application, > without having the user do it from the command line. > > Stopped spamming Slava about it, Vamsi was actually the one interested in it! > > Standing issue worth chiming in: > > Currently manual-probe will cut off probing from all buses. > It could be interesting to be able to only cut buses supporting hotplug, > given that they are the one able to probe devices afterward. > > No real use-case for this right now, so leaving as-is. Might be worth > considering in the future. > > v4: Rebased on master, > Moved implementation in common EAL, > Used public API within the EAL to set the option, > Made the API experimental > > v5: added note in the Getting Started Guide. > > v6: Rebased on master > > see http://mails.dpdk.org/archives/dev/2020-January/154178.html > for reference to this version, linking v7 to v5 thread. > > v7: Updated author and SoB. > > doc/guides/linux_gsg/eal_args.include.rst | 13 ++++++ > doc/guides/rel_notes/release_20_02.rst | 9 ++++ > lib/librte_eal/common/eal_common_bus.c | 6 +++ > lib/librte_eal/common/eal_common_dev.c | 54 ++++++++++++++++++++++ > lib/librte_eal/common/eal_common_options.c | 8 ++++ > lib/librte_eal/common/eal_internal_cfg.h | 1 + > lib/librte_eal/common/eal_options.h | 2 + > lib/librte_eal/common/eal_private.h | 9 ++++ > lib/librte_eal/common/include/rte_eal.h | 36 +++++++++++++++ > lib/librte_eal/rte_eal_version.map | 4 ++ > 10 files changed, 142 insertions(+) This patch seems to have been held in limbo for 3 years. For me, it is ok, but concerned that it opens up a whole scenario of possible usages that may not be tested, and probably don't work. Testing all the possible combinations of probe ordering is a geometric problem. So if user submits bug then the response would have to be: Manual probing is an experimental option which may not work.