[ovs-dev] [PATCH RFC 5/5] dpif-netdev: Prefetch the cacheline having the cycle stats.

Ilya Maximets i.maximets at samsung.com
Tue Dec 5 09:50:10 UTC 2017


> Prefetch the cacheline having the cycle stats so that we can speed up
> the cycles_count_start() and cycles_count_intermediate().

Do you have any performance results?

> 
> Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodireddy at intel.com>
> ---
>  lib/dpif-netdev.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/lib/dpif-netdev.c b/lib/dpif-netdev.c
> index b74b5d7..ab13d83 100644
> --- a/lib/dpif-netdev.c
> +++ b/lib/dpif-netdev.c
> @@ -576,7 +576,7 @@ struct dp_netdev_pmd_thread {
>          struct ovs_mutex flow_mutex;
>          /* 8 pad bytes. */
>      );
> -    PADDED_MEMBERS(CACHE_LINE_SIZE,
> +    PADDED_MEMBERS_CACHELINE_MARKER(CACHE_LINE_SIZE, cachelineC,
>          struct cmap flow_table OVS_GUARDED; /* Flow table. */
>  
>          /* One classifier per in_port polled by the pmd */
> @@ -4082,6 +4082,7 @@ reload:
>          lc = UINT_MAX;
>      }
>  
> +    OVS_PREFETCH_CACHE(&pmd->cachelineC, OPCH_HTW);
>      cycles_count_start(pmd);
>      for (;;) {
>          for (i = 0; i < poll_cnt; i++) {
> -- 
> 2.4.11


More information about the dev mailing list