> -----Original Message----- > From: Zoltan Kiss [mailto:zoltan.kiss at linaro.org] > Sent: Friday, September 25, 2015 7:29 PM > To: Richardson, Bruce; dev at dpdk.org > Cc: Ananyev, Konstantin > Subject: Re: [PATCH] ixgbe: prefetch packet headers in vector PMD receive > function > > On 07/09/15 07:41, Richardson, Bruce wrote: > > > >> -----Original Message----- > >> From: Zoltan Kiss [mailto:zoltan.kiss at linaro.org] > >> Sent: Monday, September 7, 2015 3:15 PM > >> To: Richardson, Bruce; dev at dpdk.org > >> Cc: Ananyev, Konstantin > >> Subject: Re: [PATCH] ixgbe: prefetch packet headers in vector PMD receive > >> function > >> > >> > >> > >> On 07/09/15 13:57, Richardson, Bruce wrote: > >>> > >>>> -----Original Message----- > >>>> From: Zoltan Kiss [mailto:zoltan.kiss at linaro.org] > >>>> Sent: Monday, September 7, 2015 1:26 PM > >>>> To: dev at dpdk.org > >>>> Cc: Ananyev, Konstantin; Richardson, Bruce > >>>> Subject: Re: [PATCH] ixgbe: prefetch packet headers in vector PMD > >>>> receive function > >>>> > >>>> Hi, > >>>> > >>>> I just realized I've missed the "[PATCH]" tag from the subject. Did > >>>> anyone had time to review this? > >>>> > >>> Hi Zoltan, > >>> > >>> the big thing that concerns me with this is the addition of new > >>> instructions for each packet in the fast path. Ideally, this > >>> prefetching would be better handled in the application itself, as for > >>> some apps, e.g. those using pipelining, the core doing the RX from the > >>> NIC may not touch the packet data at all, and the prefetches will > >> instead cause a performance slowdown. > >>> Is it possible to get the same performance increase - or something > >>> close to it - by making changes in OVS? > >> OVS already does a prefetch when it's processing the previous packet, but > >> apparently it's not early enough. At least for my test scenario, where I'm > >> forwarding UDP packets with the least possible overhead. I guess in tests > >> where OVS does more complex processing it should be fine. > >> I'll try to move the prefetch earlier in OVS codebase, but I'm not sure if > >> it'll help. > > I would suggest trying to prefetch more than one packet ahead. Prefetching > > 4 or > > 8 ahead might work better, depending on the processing being done. > > I've moved the prefetch earlier, and it seems to work: > > https://patchwork.ozlabs.org/patch/519017/ > > However it raises the question: should we remove header prefetch from > all the other drivers, and the CONFIG_RTE_PMD_PACKET_PREFETCH option?
My vote would be for that. Konstantin > > > > > /Bruce