[ovs-dev] [PATCH 12/12] timeval: Reorder elements in clock structure.

Bhanuprakash Bodireddy bhanuprakash.bodireddy at intel.com
Fri Oct 7 16:17:42 UTC 2016


By reordering the elements in clock structure, pad bytes can be reduced
and also a cache line is saved.

Before: structure size:136, holes:3, sum padbytes:18, cachelines:3
After: structure size:120, holes:1, sum padbytes:2, cachelines:2

Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodireddy at intel.com>
Signed-off-by: Antonio Fischetti <antonio.fischetti at intel.com>
---
 lib/timeval.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/lib/timeval.c b/lib/timeval.c
index 0e8709a..ee755db 100644
--- a/lib/timeval.c
+++ b/lib/timeval.c
@@ -69,12 +69,12 @@ struct large_warp {
 
 struct clock {
     clockid_t id;               /* CLOCK_MONOTONIC or CLOCK_REALTIME. */
+    atomic_bool slow_path;             /* True if warped or stopped. */
+    bool stopped OVS_GUARDED;          /* Disable real-time updates if true. */
 
     /* Features for use by unit tests.  Protected by 'mutex'. */
     struct ovs_mutex mutex;
-    atomic_bool slow_path;             /* True if warped or stopped. */
     struct timespec warp OVS_GUARDED;  /* Offset added for unit tests. */
-    bool stopped OVS_GUARDED;          /* Disable real-time updates if true. */
     struct timespec cache OVS_GUARDED; /* Last time read from kernel. */
     struct large_warp large_warp OVS_GUARDED; /* Connection information waiting
                                                  for warp response. */
-- 
2.4.11




More information about the dev mailing list