patches for DPDK stable branches
 help / color / mirror / Atom feed
From: Vamsi Krishna Attunuru <vattunuru@marvell.com>
To: Ferruh Yigit <ferruh.yigit@intel.com>, "dev@dpdk.org" <dev@dpdk.org>
Cc: Jerin Jacob Kollanukkaran <jerinj@marvell.com>,
	Nithin Kumar Dabilpuram <ndabilpuram@marvell.com>,
	"yux.jiang@intel.com" <yux.jiang@intel.com>,
	"stable@dpdk.org" <stable@dpdk.org>,
	Wei Ling <weix.ling@intel.com>,
	Srikanth Yalavarthi <syalavarthi@marvell.com>
Subject: RE: [EXT] Re: [PATCH v2 1/1] common/cnxk: fix static assertion failure
Date: Fri, 4 Mar 2022 13:59:48 +0000	[thread overview]
Message-ID: <MWHPR18MB0942F959D19A5C34BC378D48A6059@MWHPR18MB0942.namprd18.prod.outlook.com> (raw)
In-Reply-To: <69c7a2f3-80d9-e31f-25e0-310e7bd938d4@intel.com>



> -----Original Message-----
> From: Ferruh Yigit <ferruh.yigit@intel.com>
> Sent: Friday, March 4, 2022 6:44 PM
> To: Vamsi Krishna Attunuru <vattunuru@marvell.com>; dev@dpdk.org
> Cc: Jerin Jacob Kollanukkaran <jerinj@marvell.com>; Nithin Kumar
> Dabilpuram <ndabilpuram@marvell.com>; yux.jiang@intel.com;
> stable@dpdk.org; Wei Ling <weix.ling@intel.com>; Srikanth Yalavarthi
> <syalavarthi@marvell.com>
> Subject: Re: [EXT] Re: [PATCH v2 1/1] common/cnxk: fix static assertion
> failure
> 
> On 3/4/2022 10:20 AM, Vamsi Krishna Attunuru wrote:
> >
> >
> >> -----Original Message-----
> >> From: Ferruh Yigit <ferruh.yigit@intel.com>
> >> Sent: Thursday, March 3, 2022 10:52 PM
> >> To: Vamsi Krishna Attunuru <vattunuru@marvell.com>; dev@dpdk.org
> >> Cc: Jerin Jacob Kollanukkaran <jerinj@marvell.com>; Nithin Kumar
> >> Dabilpuram <ndabilpuram@marvell.com>; yux.jiang@intel.com;
> >> stable@dpdk.org; Wei Ling <weix.ling@intel.com>; Srikanth Yalavarthi
> >> <syalavarthi@marvell.com>
> >> Subject: [EXT] Re: [PATCH v2 1/1] common/cnxk: fix static assertion
> >> failure
> >>
> >> External Email
> >>
> >> ---------------------------------------------------------------------
> >> - On 3/2/2022 1:46 PM, Vamsi Attunuru wrote:
> >>> Use dynamically allocated memory for storing soft expiry ring base
> >>> addresses which fixes the static assertion failure, as the size of
> >>> dynamic allocation depends on RTE_MAX_ETHPORTS which varies based
> on
> >>> the build config.
> >>>
> >>
> >> Hi Vamsi,
> >>
> >> "fix static assertion failure" is not enough descriptive.
> >> assertions already added to verify assumptions, and in this case it
> >> seems it failed, but what was actually wrong?
> >>
> >> Is it that allocated memory size for ring wrong? (this is what I got
> >> from commit log but I am not sure)
> >>
> >> Can you please describe what actually was wrong and fixed now?
> >>
> > Hi Ferruh,
> >
> > Earlier sa_soft_exp_ring struct member was an array of pointers and
> > it's size is linked to num RTE_MAX_ETHPORTS, and the whole struct size
> > is confined and protected by size assertion.  It resulted in build failure with -
> Dmax_ethports=1024 option and assertion caught that failure. V2 fixes the
> issues by allocating the required memory dynamically instead
> >   of using array of pointers.
> >
> 
> just to double check if I got it right,
> 
> The failing assertion is:
> PLT_STATIC_ASSERT(sizeof(struct nix_inl_dev) <= ROC_NIX_INL_MEM_SZ);
> 
Yes.
> Technically you can calculate the 'ROC_NIX_INL_MEM_SZ' as a function of
> 'RTE_MAX_ETHPORTS' and that would work (although need to calculate size
> for proper cache alignment).
> 
> But instead you prefer to convert array to function pointer to fix the struct
> size and make it independent from the configured 'RTE_MAX_ETHPORTS'
> config.
> 
Correct.
> 
> And I assume current magic number for the 'ROC_NIX_INL_MEM_SZ' is
> calculated based on max memory requirement of the cn9k & cn10k:
> #define ROC_NIX_INL_MEM_SZ (1280)
>
> If so it can be better to describe 'ROC_NIX_INL_MEM_SZ' as what it is
> calculated from, like following but it is up to you:
> max(sizeof(x), sizeof(y)) ...
> 
correct, I will check the better approach upon the usage.

> >>> Bugzilla ID: 940
> >>> Fixes: d26185716d3f ("net/cnxk: support outbound soft expiry
> >>> notification") Cc:stable@dpdk.org
> >>>
> >>> Reported-by: Wei Ling<weix.ling@intel.com>
> >>> Reported-by: Yu Jiang<yux.jiang@intel.com>
> >>> Signed-off-by: Vamsi Attunuru<vattunuru@marvell.com>
> >>> Signed-off-by: Srikanth Yalavarthi<syalavarthi@marvell.com>
> >>> ---
> >>> V2: Add bugzilla & reportee details, remove unused changes.
> >>> ---
> >


      reply	other threads:[~2022-03-04 13:59 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20220302120701.2749772-1-vattunuru@marvell.com>
2022-03-02 13:46 ` Vamsi Attunuru
2022-03-03  5:59   ` Jerin Jacob
2022-03-03 11:54   ` Ling, WeiX
2022-03-03 17:21   ` Ferruh Yigit
2022-03-04 10:20     ` [EXT] " Vamsi Krishna Attunuru
2022-03-04 11:15       ` Ferruh Yigit
2022-03-04 11:45         ` Vamsi Krishna Attunuru
2022-03-04 13:14       ` Ferruh Yigit
2022-03-04 13:59         ` Vamsi Krishna Attunuru [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=MWHPR18MB0942F959D19A5C34BC378D48A6059@MWHPR18MB0942.namprd18.prod.outlook.com \
    --to=vattunuru@marvell.com \
    --cc=dev@dpdk.org \
    --cc=ferruh.yigit@intel.com \
    --cc=jerinj@marvell.com \
    --cc=ndabilpuram@marvell.com \
    --cc=stable@dpdk.org \
    --cc=syalavarthi@marvell.com \
    --cc=weix.ling@intel.com \
    --cc=yux.jiang@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).