[dpdk-dev] [PATCH 2/2] event/sw: code refractor for sw_refill_pp_buf

Van Haaren, Harry harry.van.haaren at intel.com
Tue Apr 3 14:50:24 CEST 2018


> -----Original Message-----
> From: Varghese, Vipin
> Sent: Thursday, March 1, 2018 7:35 PM
> To: dev at dpdk.org; Van Haaren, Harry <harry.van.haaren at intel.com>
> Cc: Varghese, Vipin <vipin.varghese at 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.varghese at 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.


More information about the dev mailing list