[ovs-dev] [PATCH] datapath: Use u64_stats_sync for datapath and vport stats.
jesse at nicira.com
Mon Nov 21 18:23:06 UTC 2011
On Mon, Nov 21, 2011 at 9:49 AM, Ben Pfaff <blp at nicira.com> wrote:
> On Sat, Nov 19, 2011 at 10:20:24AM -0800, Jesse Gross wrote:
>> We currently use a seqcount to prevent reading partial 64-bit stats
>> on 32-bit CPUs. u64_stats_sync uses the same logic but elides it on
>> 64-bit and uniprocessor machines. This improves performance (primarily
>> on non-x86 architectures) at the cost of not guaranteeing that packet
>> and byte counts were necessarily read together.
>> Suggested-by: Stephen Hemminger <shemminger at vyatta.com>
>> Signed-off-by: Jesse Gross <jesse at nicira.com>
> Acked-by: Ben Pfaff <blp at nicira.com>
> (These acks are going to look silly going upstream, maybe we should
> switch to "Looks good." for the datapath :-)
These patches will get squashed before I send another round upstream,
so it won't show up. I suppose we can solve the problem when we get
> I don't see anything that documents how one initializes a
> u64_stats_sync. I guess all-zero-bits initialization is sufficient,
> and it looks like percpu data is initially zeroed.
Both of those statements are true so it's definitely correct. I don't
think that there's an "official" way to initialize it though.
More information about the dev