From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp.tuxdriver.com (charlotte.tuxdriver.com [70.61.120.58]) by dpdk.org (Postfix) with ESMTP id EF9B64B4B for ; Fri, 15 Dec 2017 22:24:17 +0100 (CET) Received: from cpe-2606-a000-111b-423c-e874-da8e-c543-d863.dyn6.twc.com ([2606:a000:111b:423c:e874:da8e:c543:d863] helo=localhost) by smtp.tuxdriver.com with esmtpsa (TLSv1:AES256-SHA:256) (Exim 4.63) (envelope-from ) id 1ePxSX-00058Z-7X; Fri, 15 Dec 2017 16:24:09 -0500 Date: Fri, 15 Dec 2017 16:23:24 -0500 From: Neil Horman To: "Ma, Liang" Cc: jerin.jacob@caviumnetworks.com, dev@dpdk.org, harry.van.haaren@intel.com, bruce.richardson@intel.com, deepak.k.jain@intel.com, john.geary@intel.com, peter.mccarthy@intel.com, seanbh@gmail.com Message-ID: <20171215212324.GA6917@hmswarspite.think-freely.org> References: <1513337189-137661-1-git-send-email-liang.j.ma@intel.com> <1513337189-137661-2-git-send-email-liang.j.ma@intel.com> <20171215123859.GA6831@hmswarspite.think-freely.org> <20171215135041.GB1173@sivswdev01.ir.intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20171215135041.GB1173@sivswdev01.ir.intel.com> User-Agent: Mutt/1.9.1 (2017-09-22) X-Spam-Score: -2.9 (--) X-Spam-Status: No Subject: Re: [dpdk-dev] [PATCH v2 1/8] event/opdl: add the opdl ring infrastructure library X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Dec 2017 21:24:18 -0000 On Fri, Dec 15, 2017 at 01:50:41PM +0000, Ma, Liang wrote: > On 15 Dec 07:38, Neil Horman wrote: > > On Fri, Dec 15, 2017 at 11:26:22AM +0000, Liang Ma wrote: > > > OPDL ring is the core infrastructure of OPDL PMD. OPDL ring library > > > provide the core data structure and core helper function set. The Ring > > > implements a single ring multi-port/stage pipelined packet distribution > > > mechanism. This mechanism has the following characteristics: > > > > > > • No multiple queue cost, therefore, latency is significant reduced. > > > • Fixed dependencies between queue/ports is more suitable for complex. > > > fixed pipelines of stateless packet processing (static pipeline). > > > • Has decentralized distribution (no scheduling core). > > > • Packets remain in order (no reorder core(s)). > > > > > > Signed-off-by: Liang Ma > > > Signed-off-by: Peter, Mccarthy > > > --- > > > drivers/event/opdl/Makefile | 66 ++ > > > drivers/event/opdl/opdl_ring.c | 1232 +++++++++++++++++++++ > > > drivers/event/opdl/opdl_ring.h | 601 ++++++++++ > > > drivers/event/opdl/rte_pmd_evdev_opdl_version.map | 3 + > > > 4 files changed, 1902 insertions(+) > > > create mode 100644 drivers/event/opdl/Makefile > > > create mode 100644 drivers/event/opdl/opdl_ring.c > > > create mode 100644 drivers/event/opdl/opdl_ring.h > > > create mode 100644 drivers/event/opdl/rte_pmd_evdev_opdl_version.map > > > > > > > > > > > + > > > +#endif /* _OPDL_H_ */ > > > diff --git a/drivers/event/opdl/rte_pmd_evdev_opdl_version.map b/drivers/event/opdl/rte_pmd_evdev_opdl_version.map > > > new file mode 100644 > > > index 0000000..5352e7e > > > --- /dev/null > > > +++ b/drivers/event/opdl/rte_pmd_evdev_opdl_version.map > > > @@ -0,0 +1,3 @@ > > > +DPDK_17.05 { > > > + local: *; > > > +}; > > you need to ennumerate the functions you want to globally export here, or this won't work > > as a shared library. This also suggests you haven't tested this as a DSO yet, > > please do so. > > > > Neil > FYI, the subject of email has indicated that's part of the PMD. I apologize, I didn't realize it was its own pmd, rather than part of the other pmds. I missed the pathing and thought you were creating a separate library for others to consume, rather than a PMD to be accessed via the ethdev api > there is no need to export any function globally. > you can reference > drivers/event/octeontx/rte_pmd_octeontx_ssovf_version.map > /drivers/event/dpaa2/rte_pmd_dpaa2_event_version.map > drivers/event/sw/rte_pmd_sw_event_version.map > > BTW: I do test with shared library build. What did you test with? I ask because with gcc version 7.2.1, the build throws several warnings that error the build out: /home/nhorman/git/dpdk/drivers/event/opdl/opdl_evdev_init.c: In function ‘create_queues_and_rings’: /home/nhorman/git/dpdk/drivers/event/opdl/opdl_evdev_init.c:570:17: error: ‘%s’ directive writing up to 63 bytes into a region of size 32 [-Werror=format-overflow=] sprintf(name, "%s_%u", device->service_name, device->nb_opdls); ^~ /home/nhorman/git/dpdk/drivers/event/opdl/opdl_evdev_init.c:570:2: note: ‘sprintf’ output between 3 and 75 bytes into a destination of size 32 sprintf(name, "%s_%u", device->service_name, device->nb_opdls); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/nhorman/git/dpdk/drivers/event/opdl/opdl_evdev_init.c:570:17: error: ‘%s’ directive writing up to 63 bytes into a region of size 32 [-Werror=format-overflow=] sprintf(name, "%s_%u", device->service_name, device->nb_opdls); ^~ /home/nhorman/git/dpdk/drivers/event/opdl/opdl_evdev_init.c:570:2: note: ‘sprintf’ output between 3 and 75 bytes into a destination of size 32 sprintf(name, "%s_%u", device->service_name, device->nb_opdls); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ cc1: all warnings being treated as errors It looks like you're trying to write a string to a 32 byte array, but the first component of that string (service_name) can be as long as 63 bytes, and the nb_opdls can be up to 75 bytes long. I'm guessing you want to use snprintf there rather than sprintf with a limit of RTE_MEMZONE_NAMESIZE - LIB_NAME (to account for the added characters in opdl_ring_create? Neil > > > > > -- > > > 2.7.5 > > > > > > -------------------------------------------------------------- > > > Intel Research and Development Ireland Limited > > > Registered in Ireland > > > Registered Office: Collinstown Industrial Park, Leixlip, County Kildare > > > Registered Number: 308263 > > > > > > > > > This e-mail and any attachments may contain confidential material for the sole > > > use of the intended recipient(s). Any review or distribution by others is > > > strictly prohibited. If you are not the intended recipient, please contact the > > > sender and delete all copies. >