24/04/2024 21:10, Stephen Hemminger:
> On Wed, 24 Apr 2024 17:12:39 +0000
> "Van Haaren, Harry" <harry.van.haa...@intel.com> wrote:
> > From: Stephen Hemminger <step...@networkplumber.org>
> > > "Van Haaren, Harry" <harry.van.haa...@intel.com> wrote:
> > > > > From: Stephen Hemminger <step...@networkplumber.org>
> > > > >
> > > > > With Gcc-14, this warning is generated:
> > > > > ../drivers/event/sw/sw_evdev.c:263:3: warning: 'snprintf' will always 
> > > > > be truncated;
> > > > >     specified size is 12, but format string expands to at least 13 
> > > > > [-Wformat-truncation]
> > > > >   263 |                 snprintf(buf, sizeof(buf), "sw%d_iq_%d_rob", 
> > > > > dev_id, i);
> > > > >       |                 ^
> > > > >
> > > > > Yet the whole printf to the buf is unnecessary. The type string 
> > > > > argument
> > > > > has never been implemented, and should just be NULL.  Removing the
> > > > > unnecessary snprintf, then means IQ_ROB_NAMESIZE can be removed.  
> > > >
> > > > I understand that today the "type" value isn't implemented, but across 
> > > > the DPDK codebase it
> > > > seems like others are filling in "type" to be some debug-useful 
> > > > name/string. If it was added
> > > > in future it'd be nice to have the ROB/IQ memory identified by name, 
> > > > like the rest of DPDK components.  
> > > 
> > > No, don't bother. This is a case of 
> > > https://en.wikipedia.org/wiki/You_aren%27t_gonna_need_it  
> > 
> > I agree that YAGNI perhaps applied when designing the APIs, but the "type" 
> > parameter is there now...
> > Should we add a guidance of "when reworking code, always pass NULL as the 
> > type parameter to rte_malloc functions" somewhere in the programmers guide, 
> > to align community with this "pass NULL for type" initiative?
> > 
> > <snip>
> > 
> > Acked-by: Harry van Haaren <harry.van.haa...@intel.com>
> > 
> 
> Did look into Mi-Malloc https://github.com/microsoft/mimalloc
> it is fast and more complete and good work with huge pages.
> The way to handle tagging allocations having the library automatically handle 
> it
> based on the place allocation is called from. Having user do it is not that 
> helpful.

But today we have rte_malloc.
And the type is used in tracing.
I think having a meaningful name from the caller is not a bad idea.


Reply via email to