coresight: tmc-etr: Introduce the notion of process ID to ETR devices
In preparation to support CPU-wide trace scenarios, introduce the notion of process ID to ETR devices. That way events monitoring the same process can use the same etr_buf, allowing multiple CPUs to use the same sink. Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org> Tested-by: Leo Yan <leo.yan@linaro.org> Tested-by: Robert Walker <robert.walker@arm.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:

committed by
Greg Kroah-Hartman

parent
e553a8aef4
commit
ef848e463a
@@ -9,6 +9,7 @@
|
|||||||
#include <linux/dma-mapping.h>
|
#include <linux/dma-mapping.h>
|
||||||
#include <linux/iommu.h>
|
#include <linux/iommu.h>
|
||||||
#include <linux/slab.h>
|
#include <linux/slab.h>
|
||||||
|
#include <linux/types.h>
|
||||||
#include <linux/vmalloc.h>
|
#include <linux/vmalloc.h>
|
||||||
#include "coresight-catu.h"
|
#include "coresight-catu.h"
|
||||||
#include "coresight-etm-perf.h"
|
#include "coresight-etm-perf.h"
|
||||||
@@ -25,6 +26,7 @@ struct etr_flat_buf {
|
|||||||
/*
|
/*
|
||||||
* etr_perf_buffer - Perf buffer used for ETR
|
* etr_perf_buffer - Perf buffer used for ETR
|
||||||
* @etr_buf - Actual buffer used by the ETR
|
* @etr_buf - Actual buffer used by the ETR
|
||||||
|
* @pid - The PID this etr_perf_buffer belongs to.
|
||||||
* @snaphost - Perf session mode
|
* @snaphost - Perf session mode
|
||||||
* @head - handle->head at the beginning of the session.
|
* @head - handle->head at the beginning of the session.
|
||||||
* @nr_pages - Number of pages in the ring buffer.
|
* @nr_pages - Number of pages in the ring buffer.
|
||||||
@@ -32,6 +34,7 @@ struct etr_flat_buf {
|
|||||||
*/
|
*/
|
||||||
struct etr_perf_buffer {
|
struct etr_perf_buffer {
|
||||||
struct etr_buf *etr_buf;
|
struct etr_buf *etr_buf;
|
||||||
|
pid_t pid;
|
||||||
bool snapshot;
|
bool snapshot;
|
||||||
unsigned long head;
|
unsigned long head;
|
||||||
int nr_pages;
|
int nr_pages;
|
||||||
@@ -1277,6 +1280,7 @@ static void *tmc_alloc_etr_buffer(struct coresight_device *csdev,
|
|||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
etr_perf->pid = task_pid_nr(event->owner);
|
||||||
etr_perf->snapshot = snapshot;
|
etr_perf->snapshot = snapshot;
|
||||||
etr_perf->nr_pages = nr_pages;
|
etr_perf->nr_pages = nr_pages;
|
||||||
etr_perf->pages = pages;
|
etr_perf->pages = pages;
|
||||||
|
Reference in New Issue
Block a user