Discussions of the Parallel Programming book
 help / color / mirror / Atom feed
* lockless_dereference() in perfbook
@ 2018-12-01  7:48 Akira Yokosawa
  2018-12-01 18:30 ` Paul E. McKenney
  0 siblings, 1 reply; 5+ messages in thread
From: Akira Yokosawa @ 2018-12-01  7:48 UTC (permalink / raw)
  To: Paul E. McKenney; +Cc: perfbook, Akira Yokosawa

Hi Paul,

As LKMM dropped lockless_dereference() when it was merged in v4.17,
CodeSamples/formal/litmus/C-MP+o-wmb-o+ld-addr-o.litmus fails to
be evaluated by "make run-herd7" under CodeSamples/formal/herd.

lockless_dereference() is still covered by CodeSamples/formal/litmus/api.h
and klitmus7, so the test can be evaluated by litmus7 and "klitmus7 at the
moment.

In commit 48ec12dac0c3 ("memorder: Update based on v4.15 Linux kernel
de-Alpha-ication"), you added a footnote in Section 15.2.3 saying:

    Note that lockless_dereference() is not needed on v4.15 and later,
    and therefore is not available in these later Linux kernels.

There remain several lockless_dereference()s in perfbook without any
updates.

In the Answer to Quick Quiz 15.15, lockless_dereference() is mentioned
several times.

Quick Quiz 15.17 says:

    Why doesn't line 18 of Listing 15.12 need a lockless_dereference()?

Leading paragraph of Section 15.3.2.1 says:

    The load that heads your dependency chain must use proper ordering,
    for example, lockless_dereference(), rcu_dereference(), or a READ_ONCE()
    followed by smp_read_barrier_depends().

In the middle of Section 15.5, there is a sentence:

    Note also that a dependency leading to a load must be headed by a
    lockless_dereference() or an rcu_dereference(): READ_ONCE() is not
    sufficient.

Could you look into them?

One problem in regard to litmus tests might be that there is no means
to indicate plain accesses with no memory barrier in current LKMM.
At the moment, C-MP+o-wmb-o+o-addr-o.litmus behaves identically as
C-MP+o-wmb-o+ld-addr-o.litmus would do.

        Thanks, Akira


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

end of thread, other threads:[~2018-12-02 16:09 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-12-01  7:48 lockless_dereference() in perfbook Akira Yokosawa
2018-12-01 18:30 ` Paul E. McKenney
2018-12-01 22:25   ` Akira Yokosawa
2018-12-02  1:10     ` Paul E. McKenney
     [not found]       ` <33ec04ab-3672-0d36-13d1-5f53d9d3bf93@gmail.com>
2018-12-02 16:09         ` Paul E. McKenney

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox