* Re: wake up io_uring_enter(...IORING_ENTER_GETEVENTS..) via eventfd
[not found] <CAAss7+rhVS669Q=PCHrmHXbr067HpdC7Dtu0ogm4u-uj6-qK3Q@mail.gmail.com>
@ 2020-08-07 7:29 ` Pavel Begunkov
2020-08-07 8:17 ` Josef
0 siblings, 1 reply; 2+ messages in thread
From: Pavel Begunkov @ 2020-08-07 7:29 UTC (permalink / raw)
To: Josef, io-uring
Hi,
I'd love to help but don't have time at the moment. I'll take a look but
in a week, either send it to [email protected]. Jens deals with
such stuff lightning fast!
> io_uring application should be a single thread in my application which
> means a different thread wakes up io_uring_enter via eventfd. The issue is
> that io_uring_enter(fd, 0, min_complete, IORING_ENTER_GETEVENTS, 0) which
> is blocking doesn't get any poling event from eventfd_write when both
> functions are executed in different threads
Yeah, sounds strange. Did you try to do the same but without io_uring?
e.g. with write(2), select(2).
>
>
> here small example
>
> https://gist.github.com/1Jo1/6496d1b8b6b363c301271340e2eab95b
>
>
> io_uring_enter will get a polling event if you move eventfd_write(efd,
> (eventfd_t) 1L) to the main thread,
>
> I don't get it..probably I missed something, why can't I run both functions
> on different threads, any ideas what the cause might be?
>
>
> (Linux Kernel 5.7.10-201) liburing 0.6 & 0.7
>
> ---
> Josef
>
--
Pavel Begunkov
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: wake up io_uring_enter(...IORING_ENTER_GETEVENTS..) via eventfd
2020-08-07 7:29 ` wake up io_uring_enter(...IORING_ENTER_GETEVENTS..) via eventfd Pavel Begunkov
@ 2020-08-07 8:17 ` Josef
0 siblings, 0 replies; 2+ messages in thread
From: Josef @ 2020-08-07 8:17 UTC (permalink / raw)
To: Pavel Begunkov, io-uring
Hi,
yeah thanks, there is already a fix patch from Jens [PATCH] io_uring:
use TWA_SIGNAL for task_work related to eventfd
On Fri, 7 Aug 2020 at 09:31, Pavel Begunkov <[email protected]> wrote:
>
> Hi,
>
> I'd love to help but don't have time at the moment. I'll take a look but
> in a week, either send it to [email protected]. Jens deals with
> such stuff lightning fast!
>
> > io_uring application should be a single thread in my application which
> > means a different thread wakes up io_uring_enter via eventfd. The issue is
> > that io_uring_enter(fd, 0, min_complete, IORING_ENTER_GETEVENTS, 0) which
> > is blocking doesn't get any poling event from eventfd_write when both
> > functions are executed in different threads
>
> Yeah, sounds strange. Did you try to do the same but without io_uring?
> e.g. with write(2), select(2).
>
> >
> >
> > here small example
> >
> > https://gist.github.com/1Jo1/6496d1b8b6b363c301271340e2eab95b
> >
> >
> > io_uring_enter will get a polling event if you move eventfd_write(efd,
> > (eventfd_t) 1L) to the main thread,
> >
> > I don't get it..probably I missed something, why can't I run both functions
> > on different threads, any ideas what the cause might be?
> >
> >
> > (Linux Kernel 5.7.10-201) liburing 0.6 & 0.7
> >
> > ---
> > Josef
> >
>
> --
> Pavel Begunkov
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2020-08-07 8:17 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <CAAss7+rhVS669Q=PCHrmHXbr067HpdC7Dtu0ogm4u-uj6-qK3Q@mail.gmail.com>
2020-08-07 7:29 ` wake up io_uring_enter(...IORING_ENTER_GETEVENTS..) via eventfd Pavel Begunkov
2020-08-07 8:17 ` Josef
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox