Re: RFC: using NIC DMA ring as tracing buffer?
Alexander Aring <[email protected]> Wed, 17 Apr 2024 19:05:25 -0400
| Newsgroups | org.kernel.vger.linux-trace-users,org.kernel.vger.linux-trace-devel |
|---|---|
| Message-ID | <CAK-6q+jAQFco6zMS8EKr3RgwmZ+bP4pg-aD_j7+Qi-oEoPXJuQ@mail.gmail.com> |
Hi, On Wed, Apr 17, 2024 at 6:51=E2=80=AFPM Alexander Aring <[email protected]= m> wrote: > > Hi Mathieu, > > On Tue, Apr 16, 2024 at 10:49=E2=80=AFAM Mathieu Desnoyers > <[email protected]> wrote: > > > > On 2024-04-16 10:41, Alexander Aring wrote: > > > Hi all, > > > > > > I have an idea about using the DMA rings of a networking card as a > > > tracing buffer. > > > > The first thing I'd be worried about is overhead caused by > > false-sharing if you trace a large SMP/many-core system all > > into the same global NIC buffer. The cache lines will bounce > > left and right which is bad performance-wise. > > > > modern NICs have several tx and rx dma rings. There is an ethtool > command to query the number: > > sudo ethtool -g $IFACE > > so it depends on the hardware if you can pin one or more rings on a > per-cpu buffer basis. > > I hope that somehow helps to make this idea less worrisome. > What I can think about that makes it worrisome is NUMA. In case of an E-PCI connected NIC, the NICs buffer associated with a core needs to be in the same NUMA node. You need to set up your system right, even with 2 nics or more, to make it work "better". - Alex