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 7AF64A0C40; Mon, 29 Mar 2021 17:23:43 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 0047C140DFC; Mon, 29 Mar 2021 17:23:42 +0200 (CEST) Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by mails.dpdk.org (Postfix) with ESMTP id B0512406FF for ; Mon, 29 Mar 2021 17:23:41 +0200 (CEST) IronPort-SDR: iQL794ctWKA1tGVQ0Wpv5BPUUx7wIzkUt3bauoXfbtlCoNWRgGL9qZIy+udzqWbxihNPpTENYS YXpZCS2tmIng== X-IronPort-AV: E=McAfee;i="6000,8403,9938"; a="189318482" X-IronPort-AV: E=Sophos;i="5.81,288,1610438400"; d="scan'208";a="189318482" Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 29 Mar 2021 08:23:39 -0700 IronPort-SDR: 03K9lnKoA+VlG0OCO3K7cioKG0wiMpsbPnW69t829r8YO5fa0HZFLeJKuKvgaDyhtZ8+4MOAkm xGze4VGXQzyQ== X-IronPort-AV: E=Sophos;i="5.81,288,1610438400"; d="scan'208";a="444632465" Received: from fyigit-mobl1.ger.corp.intel.com (HELO [10.213.213.51]) ([10.213.213.51]) by fmsmga002-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 29 Mar 2021 08:23:34 -0700 To: Thomas Monjalon , Tyler Retzlaff Cc: dev@dpdk.org, andrew.rybchenko@oktetlabs.ru, bruce.richardson@intel.com, Shepard Siegel , David Marchand References: <1615490833-23052-1-git-send-email-roretzla@linux.microsoft.com> <20210326205216.GA4066@linuxonhyperv3.guj3yctzbm1etfxqx2vob5hsef.xx.internal.cloudapp.net> <0d7346c6-09fb-60ca-e3e5-ac63717fbddb@intel.com> <7513292.jyfq3xXJVz@thomas> From: Ferruh Yigit X-User: ferruhy Message-ID: <1b10aa5b-9747-87f3-bc01-e33d202c7d4c@intel.com> Date: Mon, 29 Mar 2021 16:23:31 +0100 MIME-Version: 1.0 In-Reply-To: <7513292.jyfq3xXJVz@thomas> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 8bit Subject: Re: [dpdk-dev] [PATCH v2] ethdev: introduce enable_driver_sdk to install driver headers 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" On 3/29/2021 1:10 PM, Thomas Monjalon wrote: > 29/03/2021 11:43, Ferruh Yigit: >> On 3/26/2021 8:52 PM, Tyler Retzlaff wrote: >>> On Fri, Mar 26, 2021 at 12:02:55PM +0000, Ferruh Yigit wrote: >>>> On 3/24/2021 4:24 PM, Tyler Retzlaff wrote: >>>>> On Wed, Mar 24, 2021 at 12:30:36PM +0100, Thomas Monjalon wrote: >>>>>> 24/03/2021 12:27, Ferruh Yigit: >>>>>>> >>>>>>> But not sure how to manage the same problem for whole project, if install all >>>>>>> headers in one patch, or add them gradually via separate patches by time ... >>>>>> >>>>>> We did a cleanup in ethdev but not in other driver classes. >>>>>> When the cleanup will be done gradually, the headers >>>>>> must move in this new category driver_sdk_headers. >>>>> >>>>> yes, some headers are not installed now. so they need only to have >>>>> their api marked __rte_internal and installed (since there should be no >>>>> external consumer as a function of not being installed) >>>>> >>>>> the more difficult case is where headers were installed but the api were >>>>> not marked __rte_internal and appear in the stable version.map. for >>>>> those i guess deprecation notice has to be issued before marking as >>>>> internal. >>>>> >>>> >>>> Are you referring to any specific APIs, can you share list of them? >>> >>> i can't remember the whole list but Thomas originally indicated the >>> following candidate list. >>> >>> baseband/ -> librte_bbdev/rte_bbdev_pmd.h >>> bus/ -> rte_bus.h >>> common/ -> no interface >>> crypto/ -> librte_cryptodev/rte_cryptodev_pmd.h >>> event/ -> librte_eventdev/ >>> mempool/ -> librte_mempool/ >>> net/ -> librte_ethdev/ >>> raw/ -> librte_rawdev/rte_rawdev_pmd.h >>> regex/ -> librte_regexdev/rte_regexdev_driver.h >>> vdpa/ -> librte_vhost/rte_vdpa_dev.h >>> >>> some of these headers are not published, some are. >>> >> >> These are public headers, so they should not have '__rte_internal' functions, >> are you saying some of public headers has internal functions that are presented >> as public APIs? > > These are the headers for use by the drivers. > We should classify them as SDK headers, not API. > Yes, you are right, they shouldn't be public header. So, agree to Tyler's comment, that some of those functions needs to be removed from the stable API list first, which will take time. I can proceed with the ethdev one, any objection? And for the rest of the list, how can we fix them? I guess best option is to distribute the work to each library, but we need an owner of the task to follow and communicate it.