Re: [RFC PATCH 1/1] epoll: use rwlock in order to reduce ep_poll_callback() contention

From: Andrea Parri
Date: Tue Dec 04 2018 - 18:59:18 EST


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).

Andrea