08/11/2024 20:53, Morten Brørup:
> > From: Morten Brørup [mailto:m...@smartsharesystems.com]
> > Sent: Friday, 8 November 2024 19.35
> > 
> > > From: David Marchand [mailto:david.march...@redhat.com]
> > > Sent: Friday, 8 November 2024 19.18
> > >
> > > OVS locks all pages to avoid page faults while processing packets.
> 
> It sounds smart, so I just took a look at how it does this. I'm not sure, but 
> it seems like it only locks pages that are actually mapped (current and 
> future).
> 
> > > 1M for each lcore translates to allocating 128M with default build
> > > options on x86.
> > > This resulted in OOM while running unit tests in parallel.
> 
> Is the root cause the lcore variables library itself, or the unit test using 
> a lot of memory for testing the lcore variables?
> We don't want to fix the library if the problem is elsewhere.

The fix works for our urgent issue and we want to make a release candidate soon.


> > > At the moment, the more demanding DPDK user of lcore variable is
> > > rte_service, with a 2112 bytes object.
> > >
> > > Limit the lcore variable maximum size to 4k which looks more
> > > reasonable.
> > 
> > 4 KB is not future proof.
> > 
> > Here's an example where 16 KB is cutting it close:
> > https://inbox.dpdk.org/dev/98CBD80474FA8B44BF855DF32C47DC35E9F7D0@smart
> > server.smartshare.dk/
> > 
> > Depends on how we are going to use it. 4 KB suffices if we only want to
> > use it for "small" structures.

This is what is stated in the doc:
"Lcore variables are suitable for small objects"
"The amount of data kept in lcore variables is projected to be small"

> > Would 64 KB work as a compromise?

Let's consider based on the need.
The lcore variables are new and we don't want it to degrade the DPDK footprint,
at least not in this first version.
4 KB is a memory page on common systems,
it looks reasonnable and big enough for a "variable".

Applied, thanks.


Reply via email to