From: Namhyung Kim <namhyung@kernel.org>
To: Ingo Molnar <mingo@kernel.org>
Cc: Tao Chen <chen.dylane@linux.dev>,
peterz@infradead.org, mingo@redhat.com, acme@kernel.org,
mark.rutland@arm.com, alexander.shishkin@linux.intel.com,
jolsa@kernel.org, irogers@google.com, adrian.hunter@intel.com,
kan.liang@linux.intel.com, linux-perf-users@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH linux-next] perf/ring_buffer: Add EPOLLRDNORM flag for poll
Date: Thu, 13 Mar 2025 19:31:32 -0700 [thread overview]
Message-ID: <Z9OVBCryv9Che8zJ@google.com> (raw)
In-Reply-To: <Z9MRWT5PWtPaY-pl@gmail.com>
Hello,
On Thu, Mar 13, 2025 at 06:09:45PM +0100, Ingo Molnar wrote:
>
> * Tao Chen <chen.dylane@linux.dev> wrote:
>
> > 在 2025/3/13 18:05, Ingo Molnar 写道:
> > >
> > > * Tao Chen <chen.dylane@linux.dev> wrote:
> > >
> > > > The poll man page says POLLRDNORM is equivalent to POLLIN,
> > > > so add EPOLLRDNORM here.
> > > >
> > > > Signed-off-by: Tao Chen <chen.dylane@linux.dev>
> > > > ---
> > > > kernel/events/ring_buffer.c | 2 +-
> > > > 1 file changed, 1 insertion(+), 1 deletion(-)
> > > >
> > > > diff --git a/kernel/events/ring_buffer.c b/kernel/events/ring_buffer.c
> > > > index 59a52b1a1..5130b119d 100644
> > > > --- a/kernel/events/ring_buffer.c
> > > > +++ b/kernel/events/ring_buffer.c
> > > > @@ -19,7 +19,7 @@
> > > > static void perf_output_wakeup(struct perf_output_handle *handle)
> > > > {
> > > > - atomic_set(&handle->rb->poll, EPOLLIN);
> > > > + atomic_set(&handle->rb->poll, EPOLLIN | EPOLLRDNORM);
> > >
> > > So what does EPOLLRDNORM mean to begin with? There doesn't seem to be
> > > separate/specific handling of it anywhere in the kernel that I can
> > > see...
> > >
> >
> > It seems that if user set pollfd with POLLRDNORM, perf_poll will not return
> > until timeout even if perf_output_wakeup called, whereas POLLIN returns.
>
> Mind adding this to the changelog, and explain that this patch fixes
> this particular poll() functionality and semantics for userspace?
Off topic, but I think it should return something (either POLLHUP or
POLLERR) when the event goes to an error state like pinned events are
not scheduled.
Thanks,
Namhyung
next prev parent reply other threads:[~2025-03-14 2:31 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-03-13 5:10 [PATCH linux-next] perf/ring_buffer: Add EPOLLRDNORM flag for poll Tao Chen
2025-03-13 10:05 ` Ingo Molnar
2025-03-13 17:03 ` Tao Chen
2025-03-13 17:09 ` Ingo Molnar
2025-03-13 23:26 ` Tao Chen
2025-03-14 2:31 ` Namhyung Kim [this message]
2025-03-14 8:39 ` Ingo Molnar
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=Z9OVBCryv9Che8zJ@google.com \
--to=namhyung@kernel.org \
--cc=acme@kernel.org \
--cc=adrian.hunter@intel.com \
--cc=alexander.shishkin@linux.intel.com \
--cc=chen.dylane@linux.dev \
--cc=irogers@google.com \
--cc=jolsa@kernel.org \
--cc=kan.liang@linux.intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-perf-users@vger.kernel.org \
--cc=mark.rutland@arm.com \
--cc=mingo@kernel.org \
--cc=mingo@redhat.com \
--cc=peterz@infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox