I tested the patch, but I wasn't able to reproduce your measurements. On my test setup I noticed no difference in throughput for different packet sizes/flow tables.
Could you describe your setup in more details? I'd be happy to improve prefetching if it a simple change like the this. Thanks, Daniele On 17/09/2015 21:29, "Zoltan Kiss" <zoltan.k...@linaro.org> wrote: >It's better to have it in the cache as soon as possible. On my test setup >it >meant a 0.7 Mpps increase. > >Signed-off-by: Zoltan Kiss <zoltan.k...@linaro.org> > >diff --git a/lib/dpif-netdev.c b/lib/dpif-netdev.c >index 72e5653..3312cc0 100644 >--- a/lib/dpif-netdev.c >+++ b/lib/dpif-netdev.c >@@ -3229,11 +3229,6 @@ emc_processing(struct dp_netdev_pmd_thread *pmd, >struct dp_packet **packets, > continue; > } > >- if (i != cnt - 1) { >- /* Prefetch next packet data */ >- OVS_PREFETCH(dp_packet_data(packets[i+1])); >- } >- > miniflow_extract(packets[i], &key.mf); > key.len = 0; /* Not computed yet. */ > key.hash = dpif_netdev_packet_get_rss_hash(packets[i], &key.mf); >diff --git a/lib/netdev-dpdk.c b/lib/netdev-dpdk.c >index e4e3d2c..c3c7ec0 100644 >--- a/lib/netdev-dpdk.c >+++ b/lib/netdev-dpdk.c >@@ -1015,7 +1015,7 @@ netdev_dpdk_rxq_recv(struct netdev_rxq *rxq_, >struct dp_packet **packets, > struct netdev_rxq_dpdk *rx = netdev_rxq_dpdk_cast(rxq_); > struct netdev *netdev = rx->up.netdev; > struct netdev_dpdk *dev = netdev_dpdk_cast(netdev); >- int nb_rx; >+ int nb_rx, i; > > /* There is only one tx queue for this core. Do not flush other > * queues. >@@ -1033,6 +1033,9 @@ netdev_dpdk_rxq_recv(struct netdev_rxq *rxq_, >struct dp_packet **packets, > return EAGAIN; > } > >+ for (i = 0; i < nb_rx; i++) >+ OVS_PREFETCH(dp_packet_data(packets[i])); >+ > *c = nb_rx; > > return 0; > >_______________________________________________ >dev mailing list >dev@openvswitch.org >https://urldefense.proofpoint.com/v2/url?u=http-3A__openvswitch.org_mailma >n_listinfo_dev&d=BQIGaQ&c=Sqcl0Ez6M0X8aeM67LKIiDJAXVeAw-YihVMNtXt-uEs&r=Sm >B5nZacmXNq0gKCC1s_Cw5yUNjxgD4v5kJqZ2uWLlE&m=3RVqArIQwG9h7SC_5ZdxmrRZ3p0soQ >NTcUPJwi3-ZZA&s=Q9jC4I1Pmb4XizqudZUy0cMZBgHvmlSGcZerBzZW-Ig&e= _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev