Re: [PATCH v3 06/13] epoll: introduce helpers for adding/removing events to uring

From: Roman Penyaev
Date: Mon Jun 03 2019 - 06:06:36 EST


On 2019-06-03 11:09, Peter Zijlstra wrote:
On Fri, May 31, 2019 at 08:58:19PM +0200, Roman Penyaev wrote:
On 2019-05-31 18:51, Peter Zijlstra wrote:

> But like you show, it can be done. It also makes the thing wait-free, as
> opposed to merely lockless.

You think it's better? I did not like this variant from the very
beginning because of the unnecessary complexity. But maybe you're
right. No busy loops on user side makes it wait-free. And also
I can avoid c11 in kernel using cmpxchg along with atomic_t.

Imagine the (v)CPU going for an extended nap right between publishing the
new tail and writing the !0 entry. Then your userspace is stuck burning
cycles without getting anything useful done.

Yes, that is absolutely not nice. That also worries me. I wanted
to minimize number of atomic ops on hot path, and of course in that
respect this busy-loop is more attractive.

I will polish and switch back to the wait-free variant and resend the
whole patchset. Could you please take a look? Will add you to CC.

--
Roman