From: Jiri Olsa <[email protected]> Date: Mon, 12 Nov 2018 00:26:27 +0100
> On Sun, Nov 11, 2018 at 03:08:01PM -0800, David Miller wrote: >> From: Jiri Olsa <[email protected]> >> Date: Sun, 11 Nov 2018 20:41:32 +0100 >> >> > On Thu, Nov 08, 2018 at 05:07:21PM -0800, David Miller wrote: >> >> From: Jiri Olsa <[email protected]> >> >> Date: Thu, 8 Nov 2018 08:13:03 +0100 >> >> >> >> > we could separated fork/mmaps to separate dummy event map, or just >> >> > parse them out in the read thread and create special queue for them >> >> > and drop just samples in case we are behind >> >> >> >> What you say at the end here is basically what I am proposing. >> >> >> >> Perf dequeues events from mmap ring as fast as possible. >> >> >> >> Perf has two internal queues, high priority and low priority. >> >> >> >> High priority events are never dropped. >> >> >> >> Low priority events are dropped on overload, oldest first. >> > >> > I added the dropping logic, it's simple so far.. >> >> So for me perf top gets into a state where the samples counter stops >> incrementing, but the event counter does keep moving (which is the >> histogram code decaying histogram entries from the display thread). >> >> Which means the event processing has basically stopped. >> >> The event threads are not stuck in a loop, because they respond to >> the "q" keypress and we can exit. > > is the drop count showing something? It does soon after starting up, then it drops to zero.

