DPDK patches and discussions
 help / color / mirror / Atom feed
From: Olivier MATZ <olivier.matz@6wind.com>
To: Venkatesh Nuthula <venki497@gmail.com>
Cc: users@dpdk.org, dev@dpdk.org
Subject: Re: [dpdk-dev] Regarding changing RTE_RING_SZ_MASK to 0x7FFFFFFF
Date: Wed, 6 Sep 2017 17:07:35 +0200	[thread overview]
Message-ID: <20170906150734.hon6fm2b4n556e6r@neon> (raw)
In-Reply-To: <CAHRc7sYKmgE72wPscbrf0yBWc212TYBH9EvS8_6jVzQ94ZRT+Q@mail.gmail.com>

Hi Venky,

Sorry for the late reply.

On Mon, Aug 14, 2017 at 11:01:38AM -0700, Venkatesh Nuthula wrote:
> Hi all,
> 
>   I am a newbie to DPDK and in one of the applications I am building , I am
> trying to capture more than 150M packets and save them to file. I noticed
> that with packet count > 134M, the check 'count > RTE_RING_SZ_MASK' fails
> as RTE_RING_SZ_MASK is set to 0x0FFFFFFF. So I tried changing
> RTE_RING_SZ_MASK to 0x7FFFFFFF and it took me past the check
> 'count > RTE_RING_SZ_MASK' and the DPDK booted successfully. No error
> messages. But when I try to save the packets captured in memory pool into
> the file, I notice that it fails(my application exits without any error
> message) to write beyond a number of packets.
> 
> I noticed that this failure to write packets happens only when I change the
> RTE_RING_SZ_MASK to 0x7FFFFFFF from original value 0x0FFFFFFF. I have below
> questions to understand this further.
> 
> 
> 
> *1) Why is RTE_RING_SZ_MASK set to 0x0FFFFFFF. Why are the 4 bits left
> unused? Is it because ring size shouldn't exceed 2 power 32?2) If yes to
> above question, can anybody please explain why ring size can't exceed 2
> power 32 as ssize_t can hold more than 2 power 32?  *

I don't see any good reason today to limit the size of the ring to
0x0FFFFFFF. Looking in the history, this was probably done to keep
some room for flags. See 50d769054872 ("ring: add burst API").

The only flag used (RTE_RING_QUOT_EXCEED) has been removed recently
in commit 77dd3064270c ("ring: remove watermark support").

So I think there is no issue to change the max size to 0x7FFFFFFF.
I don't think it would be straightforward to increase it more,
since ring->size is an uint32_t.

I will submit a patch for this.

Thanks,
Olivier

      reply	other threads:[~2017-09-06 15:07 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-08-14 18:01 Venkatesh Nuthula
2017-09-06 15:07 ` Olivier MATZ [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=20170906150734.hon6fm2b4n556e6r@neon \
    --to=olivier.matz@6wind.com \
    --cc=dev@dpdk.org \
    --cc=users@dpdk.org \
    --cc=venki497@gmail.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).