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

Bhanuprakash Bodireddy bhanuprakash.bodireddy at intel.com
Mon Dec 4 20:16:50 UTC 2017


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

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