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

From: Roman Penyaev
Date: Wed Dec 05 2018 - 06:25:45 EST


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