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

Jarno Rajahalme jarno at ovn.org
Fri Oct 7 21:13:21 UTC 2016


I would leave the ‘stopped’ member below the comment.

Also, the 2nd cacheline is only ever accessed during unit tests, so this should not have real performance impact.

Acked-by: Jarno Rajahalme <jarno at ovn.org>

> On Oct 7, 2016, at 9:17 AM, Bhanuprakash Bodireddy <bhanuprakash.bodireddy at intel.com> wrote:
> 
> 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
> 
> _______________________________________________
> dev mailing list
> dev at openvswitch.org
> http://openvswitch.org/mailman/listinfo/dev




More information about the dev mailing list