On 09.04.2021 0:52, Jiri Olsa wrote:
> On Tue, Apr 06, 2021 at 11:37:26AM +0300, Bayduraev, Alexey V wrote:
>>
>> Changes in v4:
>> - renamed 'comm' structure to 'pipes'
>> - moved thread fd/maps messages to verbose=2
>> - fixed leaks during
Hi,
On 08.04.2021 17:16, Andi Kleen wrote:
>> +} else {
>> +thread_data[t].tid = syscall(SYS_gettid);
>
> That always fills in the tid of the setup thread instead of the target
> threads?
>
Here we set the tid for 0-thread (for cpu 0), other threads we setup
late
Use the reader functions to load data file similar to loading of
data directory files.
Signed-off-by: Alexey Bayduraev
---
tools/perf/util/session.c | 215 --
1 file changed, 66 insertions(+), 149 deletions(-)
diff --git a/tools/perf/util/session.c b/tools/
Introduce decompressor into trace reader object so that decompression
could be executed on per data file basis separately for every data
file located in data directory.
Load data directory files and provide basic raw dump and aggregated
analysis support of data directories in report mode, still
Print path and name of a data file into raw dump (-D)
@. Print offset of PERF_RECORD_COMPRESSED
record instead of zero for decompressed records:
0x22...@perf.data [0x30]: event: 9
or
0x15c...@perf.data/data.7 [0x30]: event: 9
Acked-by: Namhyung Kim
Signed-off-by: Alexey Bayduraev
---
tool
Document --threads option syntax and parallel data streaming modes
in Documentation/perf-record.txt. Implement compatibility checks for
other modes and related command line options: asynchronous(--aio)
trace streaming and affinity (--affinity) modes, pipe mode, AUX
area tracing --snapshot and --a
Provide --threads option in perf record command line interface.
The option can have a value in the form of masks that specify
cpus to be monitored with data streaming threads and its layout
in system topology. The masks can be filtered using cpu mask
provided via -C option.
The specification val
Initialize data files located at mmap buffer objects so trace data
can be written into several data file located at data directory.
Signed-off-by: Alexey Bayduraev
---
tools/perf/builtin-record.c | 41 ++---
tools/perf/util/record.h| 1 +
2 files changed, 3
Introduce data file and compressor objects into mmap object so
they could be used to process and store data stream from the
corresponding kernel data buffer. Introduce bytes_transferred
and bytes_compressed stats so they would capture statistics for
the related data buffer transfers. Make use of
Start thread in detached state because its management is implemented
via messaging to avoid any scaling issues. Block signals prior thread
start so only main tool thread would be notified on external async
signals during data collection. Thread affinity mask is used to assign
eligible cpus for th
Signal thread to terminate by closing write fd of msg pipe.
Receive THREAD_MSG__READY message as the confirmation of the
thread's termination. Stop threads created for parallel trace
streaming prior their stats processing.
Signed-off-by: Alexey Bayduraev
---
tools/perf/builtin-record.c | 30 ++
Introduce thread local variable and use it for threaded trace streaming.
Use thread affinity mask instead or record affinity mask in affinity
modes.
Introduce and use evlist__ctlfd_update() function to propagate external
control commands to global evlist object.
Signed-off-by: Alexey Bayduraev
Introduce thread specific data object and array of such objects
to store and manage thread local data. Implement functions to
allocate, initialize, finalize and release thread specific data.
Thread local maps and overwrite_maps arrays keep pointers to
mmap buffer objects to serve according to ma
Introduce affinity and mmap thread masks. Thread affinity mask
defines cpus that a thread is allowed to run on. Thread maps
mask defines mmap data buffers the thread serves to stream
profiling data from.
Signed-off-by: Alexey Bayduraev
---
tools/perf/builtin-record.c | 117
Changes in v4:
- renamed 'comm' structure to 'pipes'
- moved thread fd/maps messages to verbose=2
- fixed leaks during allocation of thread_data structures
- fixed leaks during allocation of thread masks
- fixed possible fails when releasing thread masks
v3:
https://lore.kernel.org/lkml/7d197a2
On 01.03.2021 14:44, Namhyung Kim wrote:
> Hello,
>
> On Mon, Mar 1, 2021 at 8:16 PM Bayduraev, Alexey V
> wrote:
>>
>> Hi,
>>
>> On 20.11.2020 13:49, Namhyung Kim wrote:
>>> On Mon, Nov 16, 2020 at 03:19:41PM +0300, Alexey Budankov wrote:
>>
Hi,
On 20.11.2020 13:49, Namhyung Kim wrote:
> On Mon, Nov 16, 2020 at 03:19:41PM +0300, Alexey Budankov wrote:
>>
>> @@ -1400,8 +1417,12 @@ static int record__mmap_read_evlist(struct record
>> *rec, struct evlist *evlist,
>> /*
>> * Mark the round finished in case we wrote
>>
Hi,
I was able to reproduce "Couldn't allocate memory for decompression" on 32-bit
perf with long perf.data.
On my side mmap() in perf_session__process_compressed_event() fails with ENOMEM,
due to exceeded memory limit for 32-bit applications.
This happens with or without Petr's patch.
As I can
18 matches
Mail list logo