Re: [PATCH RFC] perf kvm stat live: cache mmap()ed events

From: David Ahern
Date: Sun Sep 14 2014 - 11:39:40 EST


On 9/12/14, 10:27 AM, Alexander Yarygin wrote:
During mmap() process 'perf kvm stat live' gets a pointer to events and
passes them to the session queue. Events are stored in shared memory and
eventually they will be overwritten by the kernel. The problem is, that
when events come too fast, old events can be overwritten before they
have been processed that can lead to perf crash.

To prevent that happening, we can copy upcoming events and pass a copy
to the session queue. There is a safe place to copy event: before
perf_evlist__mmap_consume() is executed. There are 3 places to free it:
when event is processed, when it's lost and on exit, if it's turned out
unprocessed.

Did you see what I proposed a year ago:
https://lkml.org/lkml/2013/9/6/388

The intent is to keep the copy generic and not local a command since conceptually other live commands need the same.

David
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/