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

Roman Penyaev
2019-06-03T10:02:51Z

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