On Thu, 20 Feb 2025 16:39:52 +0000 Konstantin Ananyev <[email protected]> wrote:
> > -----Original Message----- > > From: Stephen Hemminger <[email protected]> > > Sent: Thursday, February 20, 2025 4:12 PM > > To: lihuisong (C) <[email protected]> > > Cc: [email protected]; [email protected]; [email protected]; > > [email protected]; [email protected]; > > liuyonglong <[email protected]> > > Subject: Re: [PATCH] power: use hugepage memory for queue list entry > > structure > > > > On Thu, 20 Feb 2025 17:01:53 +0800 > > "lihuisong (C)" <[email protected]> wrote: > > > > > > The queue_list_entry structure data is used in rx_callback of io path > > > > when enable PMD Power Management. However its memory is currently from > > > > normal heap memory. For better performance, use hugepage memory to > > > > replace it. > > > > > > > > Signed-off-by: Huisong Li <[email protected]> > > > > How is that in a hot path where this could matter? > > AFAIU - it is used in RX/TX callbacks that power library installs, > so I presume will get hit on every eth_rx_burst/tx_burst calls. > > > The safety rails in rte_malloc() are much less than regular malloc(). > > I prefer some degree of safety from checkers and malloc library internals. > > Didn't get your point - what's suddenly wrong with rte_malloc()? Coverity and Gcc analyzer treat malloc as special case. With attributes rte_malloc gets similar treatment but not quite as much. Also internally, malloc and free have more heap pool sanity checks. In name of performance, those don't exist in rte_malloc(). Lastly hugepages are limited resource, so they should only be used when needed.

