> -----Original Message----- > From: Varghese, Vipin > Sent: Thursday, March 1, 2018 7:35 PM > To: dev@dpdk.org; Van Haaren, Harry <harry.van.haa...@intel.com> > Cc: Varghese, Vipin <vipin.vargh...@intel.com> > Subject: [PATCH 2/2] event/sw: code refractor for sw_refill_pp_buf > > Code changes how shadow buffer are filled up in each calls. > Refilling the shadow buffer helped in improving 0.2 Mpps. > > Signed-off-by: Vipin Varghese <vipin.vargh...@intel.com> > --- > drivers/event/sw/sw_evdev_scheduler.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/drivers/event/sw/sw_evdev_scheduler.c > b/drivers/event/sw/sw_evdev_scheduler.c > index 70d1970..a95a22a 100644 > --- a/drivers/event/sw/sw_evdev_scheduler.c > +++ b/drivers/event/sw/sw_evdev_scheduler.c > @@ -451,6 +451,10 @@ __pull_port_lb(struct sw_evdev *sw, uint32_t port_id, int > allow_reorder) > port->pp_buf_count--; > } /* while (avail_qes) */ > > + /* replensih buffers before next iteration */ > + if (port->pp_buf_count == 0) > + sw_refill_pp_buf(sw, port); > + > return pkts_iter; > }
I see the goal here - to ensure that the port buffer has items when we next enter this function, possibly reducing a stall waiting for the ring access. In theory this is a good idea - in practice, I see a small performance degradation. Hence, I suggest we drop this patch from the patchset, and merge 1/2 alone.