Em Wed, Jan 20, 2021 at 08:53:48PM +0900, Namhyung Kim escreveu: > On Tue, Jan 19, 2021 at 12:11 PM Namhyung Kim <namhy...@kernel.org> wrote: > > > > Hi Andi, > > > > On Tue, Jan 19, 2021 at 11:47 AM Andi Kleen <a...@linux.intel.com> wrote: > > > > > > > > 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? > > > > > > Could always reserve the last entry in the ring buffer for a LOST event, > > > that would guarantee you can always get one out. > > > > A problem is that we can have more than one event that failed. > > > > In my understanding, we keep the lost count and add a LOST event > > when there's a space later. So probably we can keep a list of the > > failed events and do similar for each event. Or just use a single > > event to notify some number of events were failed. > > Stephane suggested emitting an event for poll() like EPOLLERR or > EPOLLHUP. I'll take a look at that.
Looks sane, that way the poll returns immediately when we start seeing lost events, so tools can warn the user and then, if/when space becomes available, tell how many events were lost. - Arnaldo