[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20120621161955.GA29812@jackdaw>
Date: Thu, 21 Jun 2012 17:19:56 +0100
From: Tom Parkin <tparkin@...alix.com>
To: David Laight <David.Laight@...LAB.COM>
Cc: netdev@...r.kernel.org, James Chapman <jchapman@...alix.com>
Subject: Re: [PATCH] l2tp: synchronise u64 stats writer callsites
On Thu, Jun 21, 2012 at 04:18:12PM +0100, David Laight wrote:
> The purpose of the u64_stats_update_begin/end is to
> perform lockless writes of the stats.
> If you need to lock them (because multiple threads can
> be writing to stats covered by the same 'syncp' at the
> same time) then the reader might as well use the same lock.
>
> Otherwise split the 'syncp' such that only one update
> can be happening (for each sync).
Thanks David.
I think the best approach is probably to attempt to partition the l2tp
statistics such that we can be sure of single-threaded writer access
for each dataset, which can then be covered by a 'syncp'.
If that turns out not to be possible, I suppose the fallback position
is to do away with the u64_stats_update* calls and just use a spinlock
instead.
I'll look at implementing the former and put a new patch together.
Tom
--
Tom Parkin
Katalix Systems Ltd
http://www.katalix.com
Catalysts for your Embedded Linux software development
Download attachment "signature.asc" of type "application/pgp-signature" (491 bytes)
Powered by blists - more mailing lists