Messages in this thread | | | From | Namhyung Kim <> | Date | Tue, 19 Jan 2021 10:42:34 +0900 | Subject | Re: [PATCH] perf/core: Emit PERF_RECORD_LOST for pinned events |
| |
On Mon, Jan 18, 2021 at 9:56 PM Peter Zijlstra <peterz@infradead.org> wrote: > > On Mon, Jan 18, 2021 at 08:44:20PM +0900, Namhyung Kim wrote: > > Hi Peter, > > > > On Mon, Jan 18, 2021 at 7:11 PM Peter Zijlstra <peterz@infradead.org> wrote: > > > > > > On Mon, Jan 18, 2021 at 12:43:23PM +0900, Namhyung Kim wrote: > > > > As of now we silently ignore pinned events when it's failed to be > > > > scheduled and make it error state not try to schedule it again. > > > > That means we won't get any samples for the event. > > > > > > > > But there's no way for users to notice and respond to it. Let's > > > > emit a lost event with a new misc bit to indicate this situation. > > > > > > Users should get a read(2) error IIRC, does that not work? > > > > Ah, right. maybe I'm too specific to perf record's perspective. > > > > In perf record, it doesn't use read(2) so I thought it should > > have the information in the stream of sample data. > > perf-record could of course do a read() at the end, to detect this.
OK, will add that.
> > I don't think I object to having an even in the stream, but your LOST > event is unfortunate in that it itself can get lost when there's no > space in the buffer (which arguably is unlikely, but still). > > So from that point of view, I think overloading LOST is not so very nice > for this.
But anything can get lost in case of no space. Do you want to use something other than the LOST event?
Thanks, Namhyung
| |