summaryrefslogtreecommitdiff
path: root/mm/fadvise.c
diff options
context:
space:
mode:
authorDavidlohr Bueso <dave@stgolabs.net>2017-10-03 16:15:03 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2017-10-03 17:54:24 -0700
commit6818600ff094ca255a7fe31838ad50c29656c3c5 (patch)
tree43ed936d9217cf7b097f8b44e55200844151e35d /mm/fadvise.c
parenta1b2289cef92ef0e9a92afcd2e1ea71d5bcaaf64 (diff)
mm,compaction: serialize waitqueue_active() checks (for real)
Andrea brought to my attention that the L->{L,S} guarantees are completely bogus for this case. I was looking at the diagram, from the offending commit, when that _is_ the race, we had the load reordered already. What we need is at least S->L semantics, thus simply use wq_has_sleeper() to serialize the call for good. Link: http://lkml.kernel.org/r/20170914175313.GB811@linux-80c1.suse Fixes: 46acef048a6 (mm,compaction: serialize waitqueue_active() checks) Signed-off-by: Davidlohr Bueso <dbueso@suse.de> Reported-by: Andrea Parri <parri.andrea@gmail.com> Cc: Vlastimil Babka <vbabka@suse.cz> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'mm/fadvise.c')
0 files changed, 0 insertions, 0 deletions