From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-11.7 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS,UNPARSEABLE_RELAY,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 47BA7C433C1 for ; Tue, 30 Mar 2021 12:15:38 +0000 (UTC) Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by mail.kernel.org (Postfix) with ESMTP id A8A7C6023F for ; Tue, 30 Mar 2021 12:15:37 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org A8A7C6023F Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=nvidia.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=dev-bounces@dpdk.org Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id B7507406B4; Tue, 30 Mar 2021 14:15:36 +0200 (CEST) Received: from mellanox.co.il (mail-il-dmz.mellanox.com [193.47.165.129]) by mails.dpdk.org (Postfix) with ESMTP id D38BF40691 for ; Tue, 30 Mar 2021 14:15:35 +0200 (CEST) Received: from Internal Mail-Server by MTLPINE1 (envelope-from xuemingl@nvidia.com) with SMTP; 30 Mar 2021 15:15:33 +0300 Received: from nvidia.com (pegasus05.mtr.labs.mlnx [10.210.16.100]) by labmailer.mlnx (8.13.8/8.13.8) with ESMTP id 12UCFXha032518; Tue, 30 Mar 2021 15:15:33 +0300 From: Xueming Li To: Thomas Monjalon , Gaetan Rivet Cc: dev@dpdk.org, xuemingl@nvidia.com, Asaf Penso Date: Tue, 30 Mar 2021 12:15:15 +0000 Message-Id: <1617106521-25931-1-git-send-email-xuemingl@nvidia.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1608304614-13908-2-git-send-email-xuemingl@nvidia.com> References: <1608304614-13908-2-git-send-email-xuemingl@nvidia.com> Subject: [dpdk-dev] [PATCH v3 0/5] eal: enable global device syntax by default 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 Sender: "dev" The new Global Device Syntax [1] is used to identify a device with full bus, class and driver description, example: -a bus=pci,addr=82:00.0/class=eth/driver=mlx5,... This patchset fixes bugs and enable global device syntax with backward compatibility by: - unify devargs memory buffer cleanup - parse name from bus callback - try new global syntax parsing firstly and fallback to legacy parsing. History: V1: - Inital version V2: - add devargs.src as complete source dev string - change devargs.data to scratch buffer - add rte_devargs_free() to release scratch memory - change name policy to align with rte_eth_iterator_init() - remove PCI bus fix as name already resolved in rte_devargs_parse(). V3: - remove devargs.src - rename rte_devargs_free() to rte_devargs_reset() - add bus callback api to resolve devargs. [1] Global Device Syntax: https://www.dpdk.org/wp-content/uploads/sites/35/2018/10/am-07-DPDK-hotplug-20180905.pdf [2] RFC: http://patchwork.dpdk.org/project/dpdk/list/?series=14378 [3] V1: http://patchwork.dpdk.org/project/dpdk/list/?series=14610 [4] V2: http://patchwork.dpdk.org/project/dpdk/list/?series=14816 Xueming Li (5): devargs: unify scratch buffer storage devargs: fix memory leak on parsing error kvargs: add get by key function bus: add device arguments name parsing API devargs: parse global device syntax app/test-pmd/config.c | 3 +- app/test-pmd/testpmd.c | 5 +- drivers/bus/pci/pci_common.c | 1 + drivers/bus/pci/pci_params.c | 48 +++++++++++++++++ drivers/bus/pci/private.h | 14 +++++ drivers/bus/vdev/vdev.c | 10 ++-- drivers/bus/vdev/vdev_params.c | 43 +++++++++++++++ drivers/bus/vdev/vdev_private.h | 15 ++++++ drivers/net/failsafe/failsafe_args.c | 3 +- drivers/net/failsafe/failsafe_eal.c | 2 +- examples/multi_process/hotplug_mp/commands.c | 6 +-- lib/librte_eal/common/eal_common_dev.c | 9 ++-- lib/librte_eal/common/eal_common_devargs.c | 57 ++++++++++++++------ lib/librte_eal/common/hotplug_mp.c | 6 +-- lib/librte_eal/include/rte_bus.h | 19 +++++++ lib/librte_eal/include/rte_devargs.h | 18 +++++-- lib/librte_eal/rte_eal_exports.def | 1 + lib/librte_eal/version.map | 1 + lib/librte_ethdev/rte_ethdev.c | 8 +-- lib/librte_kvargs/rte_kvargs.c | 20 +++++++ lib/librte_kvargs/rte_kvargs.h | 21 ++++++++ lib/librte_kvargs/version.map | 1 + 22 files changed, 263 insertions(+), 48 deletions(-) -- 2.25.1