Hi Roman,
On Tue, Dec 04, 2018 at 12:50:58PM +0100, Roman Penyaev wrote:
On 2018-12-03 18:34, Linus Torvalds wrote:
> This also ends up making the memory ordering of "xchg()" very very
> important. Yes, we've documented it as being an ordering op, but I'm
> not sure we've relied on it this directly before.
Seems exit_mm() does exactly the same, the following chunk:
up_read(&mm->mmap_sem);
self.task = current;
self.next = xchg(&core_state->dumper.next, &self);
At least code pattern looks similar.
Maybe add a comment on top of (your) xchg() to note/justify these memory
ordering requirements? As Paul said: "if there are races, this would
help force them to happen" (and simplify the review, this/future).