All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/2] Patches to chapter Deferred Processing
@ 2017-06-08  3:16 Junchang Wang
  2017-06-08  3:16 ` [PATCH 1/2] routetorture.h: Fix typos in help messages Junchang Wang
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Junchang Wang @ 2017-06-08  3:16 UTC (permalink / raw)
  To: perfbook, paulmck; +Cc: Junchang Wang

Hi Paul and list,

Attached are two patches for routetorture.h. Please take a look.

One of my remaining question is about the two smp_mb() in routetorture.h. Take
the smp_mb() in perftest() as example, my understanding is that it is used to
prevent the access to nthreads_running and access to goflag from being
reorganized. If that's the case, don't we need a paired memory barrier
instruction in perftest_reader()? Specifically, in between line 105
(atomic_inc(&nthreads_running);) and line 106 (gf = READ_ONCE(goflag);). 

Another puzzle is that we are using shared memory 'pap' to transfer statistic
results from working threads, e.g. perftest_reader, to main thread, e.g.
perftest. Do we need a smp_mb() at the tail (before instruction return) of
function perftest_reader to force the results being written before the thread
terminates? In other words, I'm not sure if the two events, writing to shared
memory pap and thread termination, could be reordered.  Hints are welcome!

Thanks,
--Jason

Junchang Wang (2):
  Fix typos in help messages
  routetorture.h: Switch from ACCESS_ONCE() to READ_ONCE()/WRITE_ONCE()

 CodeSamples/defer/routetorture.h | 20 ++++++++++----------
 1 file changed, 10 insertions(+), 10 deletions(-)

-- 
2.7.4


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2017-06-08  4:30 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-06-08  3:16 [PATCH 0/2] Patches to chapter Deferred Processing Junchang Wang
2017-06-08  3:16 ` [PATCH 1/2] routetorture.h: Fix typos in help messages Junchang Wang
2017-06-08  3:16 ` [PATCH 2/2] routetorture.h: Switch from ACCESS_ONCE() to READ_ONCE()/WRITE_ONCE() Junchang Wang
2017-06-08  3:38 ` [PATCH 0/2] Patches to chapter Deferred Processing Paul E. McKenney
2017-06-08  4:30   ` Junchang Wang

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.