> -----Original Message----- > From: Varghese, Vipin > Sent: Thursday, March 1, 2018 7:35 PM > To: [email protected]; Van Haaren, Harry <[email protected]> > Cc: Varghese, Vipin <[email protected]> > 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 <[email protected]> > --- > 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.

