On 2018-12-05 00:59, Andrea Parri wrote:
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).

Hi Andrea,

Sure, this path is tricky, so will I cook something up.

--
Roman

Reply via email to