coresight: tmc-etr: Fix updating buffer in not-snapshot mode.
authorYabin Cui <yabinc@google.com>
Thu, 29 Aug 2019 20:28:38 +0000 (14:28 -0600)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 3 Sep 2019 20:01:17 +0000 (22:01 +0200)
commit13af88f312fc57becacfcbb1cc77f844281a30ec
tree18aac4c7b5bb7c26325f1be6c46f0fb241d3bf85
parent89e89b05ef5b58ab33070cc5b59d74ca8cff86fe
coresight: tmc-etr: Fix updating buffer in not-snapshot mode.

TMC etr always copies all available data to perf aux buffer, which
may exceed the available space in perf aux buffer. It isn't suitable
for not-snapshot mode, because:
1) It may overwrite previously written data.
2) It may make the perf_event_mmap_page->aux_head report having more
or less data than the reality.

So change to only copy the latest data fitting the available space in
perf aux buffer.

Signed-off-by: Yabin Cui <yabinc@google.com>
Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>
Link: https://lore.kernel.org/r/20190829202842.580-14-mathieu.poirier@linaro.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/hwtracing/coresight/coresight-tmc-etr.c