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 3817B42870; Thu, 30 Mar 2023 15:37:37 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id C40DF410D3; Thu, 30 Mar 2023 15:37:36 +0200 (CEST) Received: from mail-ed1-f42.google.com (mail-ed1-f42.google.com [209.85.208.42]) by mails.dpdk.org (Postfix) with ESMTP id 2E04C40E25 for ; Thu, 30 Mar 2023 15:37:36 +0200 (CEST) Received: by mail-ed1-f42.google.com with SMTP id ew6so76542511edb.7 for ; Thu, 30 Mar 2023 06:37:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1680183456; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=rZ1ojM42co/zKS0wZvCMqHmpjrWGZohFzdef0em3tkI=; b=k90rQOS7Clm3pnns/E88xPJNqH3Ar/vU8HOL7HlayxkJrosNV/139Kdm/DeKwKdU+a E0wD7cxZYseFIEWFHjwAMiqV8kdjBbaIhD3Niz8CCeb/IVXyz79MaRIujlgSuFwMGRbE y7lBQzOPi4EgdPEjf7dfIrOaNApEWIXzwyEbcUZJ+XnKQfdeHgvSjhEqw/XueAm9Te9S xfnFzYdG+uLlqd2mf7lz4SFFp+6tyysGWY4NKjATLnnLgCrwf2FicQubGKPperIxLAcF 2u6gL9E8H7RpL2XpoRp5XDjiqOBvGs6csvquTDmSp77YhO2WR5lPHSB7eQ3T7LmdBlrW D3IA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1680183456; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=rZ1ojM42co/zKS0wZvCMqHmpjrWGZohFzdef0em3tkI=; b=zRERqOlLfgDhiJqUu6lsKxvbXRIG3HSWobGMBvRK4Li8FQG9jjJKAKwf68GFj+5xrW eROxGt8fWsTVv9AE19b/8eS8W6aA5t3ERtrHdEbgsFgxNqQKkatFnP/f2B99+cFA9s4k QdH2QCLnkX4cVBSAqClQSdNAKug1Q2GrPzvd5xQgriBQ8U5owEo0eMV4ntHPr1N3wlqW RIhmKMejDfEzqkLeRXUJkchWtdI2nBk7xxWwyr50HqxSKB0i4g2viO8rbeSaIPAtLmVs 13eL8jMKY0/OznOzXyt20aL4tu1tktBXNDdoZq55IeODCelBAg0mLm9w5CWDRbzHK5Ni RkVw== X-Gm-Message-State: AAQBX9fj5pVHIK7JV89W0z5E+LuDMHbcr43JG6KdqW6sTp/p/3y/6NW1 +fFdS5quvmLUBcSZd53kpirTD++RjYq9Cz+Foncx+V+s+VI= X-Google-Smtp-Source: AKy350Z9fHHmyScnAahCUe3C2P/ACywtpUhb21viTc8C+V5JsTmwGGZdjt4XA0lWVHWIE/gp0hpzgwnb5VV8ER7x8sc= X-Received: by 2002:a17:907:76cd:b0:926:5020:1421 with SMTP id kf13-20020a17090776cd00b0092650201421mr11504673ejc.9.1680183455801; Thu, 30 Mar 2023 06:37:35 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Prashant Upadhyaya Date: Thu, 30 Mar 2023 19:07:23 +0530 Message-ID: Subject: Re: Regarding DPDK API's like rte_timer_subsystem_init/rte_hash_create etc. in VPP To: Bruce Richardson Cc: dev@dpdk.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable 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, Mar 30, 2023 at 6:47=E2=80=AFPM Bruce Richardson wrote: > > On Thu, Mar 30, 2023 at 06:42:58PM +0530, Prashant Upadhyaya wrote: > > On Thu, Mar 30, 2023 at 2:50=E2=80=AFPM Bruce Richardson > > wrote: > > > > > > On Thu, Mar 30, 2023 at 01:57:52PM +0530, Prashant Upadhyaya wrote: > > > > Hi, > > > > > > > > > > FYI, when replying on list, it's best not to top-post, but put your r= eplies > > > below the email snippet you are replying to. > > > > > > > The hash creation API throws the following error -- > > > > RING: Cannot reserve memory for tailq > > > > HASH: memory allocation failed > > > > > > > > The timer subsystem init api throws this error -- > > > > EAL: memzone_reserve_aligned_thread_unsafe(): Number of requested > > > > memzone segments exceeds RTE_MAX_MEMZONE > > > > > > > > > > Can you try increasing RTE_MAX_MEMZONE. It' defined in DPDK's rte_con= fig.h > > > file, so edit that and then rebuild DPDK. [If you are using the built= -in > > > DPDK from VPP, you may need to do a patch for this, add it into the V= PP > > > patches direction and then do a VPP rebuild.] > > > > > > Let's see if we can get rid of at least one of the error messages. :-= ) > > > > > > /Bruce > > > > > > > I did check the code and apparently the memzone and rte zmalloc > > > > related api's are not being able to allocate memory. > > > > > > > > Regards > > > > -Prashant > > > > > > > > On Thu, Mar 30, 2023 at 1:30=E2=80=AFPM Bruce Richardson > > > > wrote: > > > > > > > > > > On Thu, Mar 30, 2023 at 10:30:24AM +0530, Prashant Upadhyaya wrot= e: > > > > > > Hi, > > > > > > > > > > > > While trying to port some code to VPP (which uses DPDK as the b= ackend > > > > > > driver), I am running into a problem that calls to API's like > > > > > > rte_timer_subsystem_init, rte_hash_create are failing while all= ocation > > > > > > of memory. > > > > > > > > > > > > This is presumably because VPP inits the EAL with the following= arguments -- > > > > > > > > > > > > -in-memory --no-telemetry --file-prefix vpp > > > > > > > > > > > > Is there is something that can be done eg. passing some more p= arms in > > > > > > the EAL initialization which hopefully wouldn't break VPP but w= ill > > > > > > also be friendly to the RTE timer and hash functions too, that = would > > > > > > be great, so requesting some advice here. > > > > > > > > > > > Hi, > > > > > > > > > > can you provide some more details on what the errors are that you= are > > > > > receiving? Have you been able to dig a little deeper into what mi= ght be > > > > > causing the memory failures? The above flags alone are unlikely t= o cause > > > > > issues with hash or timer libraries, for example. > > > > > > > > > > /Bruce > > > > Thanks Bruce, the error comes from the following function in > > lib/eal/common/eal_common_memzone.c > > memzone_reserve_aligned_thread_unsafe > > > > The condition which spits out the error is the following > > if (arr->count >=3D arr->len) > > So I printed both of the above values inside this function, and the > > following output came > > > > vpp[14728]: dpdk: EAL init args: --in-memory --no-telemetry --file-pref= ix vpp > > [New Thread 0x7fffa67b6700 (LWP 14732)] > > count: 0 len: 2560 > > count: 1 len: 2560 > > count: 2 len: 2560 > > [New Thread 0x7fffa5fb5700 (LWP 14733)] > > [New Thread 0x7fffa5db4700 (LWP 14734)] > > count: 3 len: 2560 > > count: 4 len: 2560 > > ### this is the place where I call rte_timer_subsystem_init from my > > code, the above must be coming from any other code from VPP/EAL init, > > the line below is surely because of my call to > > rte_timer_subsystem_init > > count: 0 len: 0 > > > > So as you can see that both values are coming to be zero -- is this > > expected ? I thought the arr->len should have been non zero. > > I must add that the thread which is calling the > > rte_timer_subsystem_init is possibly different than the one which did > > the eal init, do you think that might be a problem... > > I am yet to increase the value of RTE_MAX_MEMZONE, but wanted to share > > the above first for any suggestions. > > > Given the lengths you printed above, increasing the MAX_MEMZONE will not > help things. Is the init call which is failing coming from a non-DPDK > thread? Likely yes, at the moment I am calling it from a CLI which I have added in = VPP. Assuming this is the case, do you foresee a problem ?