patches for DPDK stable branches
 help / color / mirror / Atom feed
From: Ferruh Yigit <ferruh.yigit@intel.com>
To: Vamsi Krishna Attunuru <vattunuru@marvell.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:14:11 +0000	[thread overview]
Message-ID: <69c7a2f3-80d9-e31f-25e0-310e7bd938d4@intel.com> (raw)
In-Reply-To: <MWHPR18MB094217366E417E202D149809A6059@MWHPR18MB0942.namprd18.prod.outlook.com>

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);

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.


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)) ...

>>> 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.
>>> ---
> 


  parent reply	other threads:[~2022-03-04 13:14 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 [this message]
2022-03-04 13:59         ` Vamsi Krishna Attunuru

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=69c7a2f3-80d9-e31f-25e0-310e7bd938d4@intel.com \
    --to=ferruh.yigit@intel.com \
    --cc=dev@dpdk.org \
    --cc=jerinj@marvell.com \
    --cc=ndabilpuram@marvell.com \
    --cc=stable@dpdk.org \
    --cc=syalavarthi@marvell.com \
    --cc=vattunuru@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).