Messages in this thread | | | Date | Thu, 12 Jul 2018 10:34:44 +0200 | From | Andrea Parri <> | Subject | Re: [PATCH v2] tools/memory-model: Add extra ordering for locks and remove it for ordinary release/acquire |
| |
> All the discussion here[1] for example is about having ordering and > doing an smp_cond_load_acquire() on a variable which is sometimes > protected by a CPU's rq->lock and sometimes not? Isn't that one of the > key use cases for this whole discussion?
Not a "pure" one:
http://lkml.kernel.org/r/1530629639-27767-1-git-send-email-andrea.parri@amarulasolutions.com
we also need "W->R ordering" in schedule()! so there better be an smp_mb__after_spinlock() or a barrier providing similar ordering.
Nick was suggesting a "weaker version" of this barrier back in:
362a61ad61199e ("fix SMP data race in pagetable setup vs walking")
c.f., the comment in mm/memory.c:__pte_alloc(), but that does not math our pattern (UNLOCK+LOCK), AFAICT.
Andrea
> > [1] https://lkml.org/lkml/2015/10/6/805 > > Dan
| |