: Chenggang Qin
---
tools/perf/builtin-report.c |5 +
tools/perf/util/session.c |3 +++
tools/perf/util/session.h |2 ++
3 files changed, 10 insertions(+), 0 deletions(-)
diff --git a/tools/perf/builtin-report.c b/tools/perf/builtin-report.c
index e9e9d0a..d3c1c8a 100644
--- a/tools
: Chenggang Qin
---
tools/perf/util/session.c | 43 +--
1 files changed, 41 insertions(+), 2 deletions(-)
diff --git a/tools/perf/util/session.c b/tools/perf/util/session.c
index 4e9dd66..d50e29e 100644
--- a/tools/perf/util/session.c
+++ b/tools/perf/util
rton
Signed-off-by: Chenggang Qin
---
tools/perf/builtin-report.c |9 +
1 files changed, 9 insertions(+), 0 deletions(-)
diff --git a/tools/perf/builtin-report.c b/tools/perf/builtin-report.c
index 72eae74..e9e9d0a 100644
--- a/tools/perf/builtin-report.c
+++ b/tools/perf/bui
min Zhang
Cc: Wu Fengguang
Cc: Mike Galbraith
Cc: Andrew Morton
Signed-off-by: Chenggang Qin
---
tools/perf/util/session.c |3 +++
tools/perf/util/session.h |1 +
2 files changed, 4 insertions(+), 0 deletions(-)
diff --git a/tools/perf/util/session.c b/tools/perf/util/session.c
s
Cc: Ingo Molnar
Cc: Arnaldo Carvalho de Melo
Cc: Arjan van de Ven
Cc: Namhyung Kim
Cc: Yanmin Zhang
Cc: Wu Fengguang
Cc: Mike Galbraith
Cc: Andrew Morton
Signed-off-by: Chenggang Qin
Chenggang Qin (4):
perf tools: add parameter 'start' & 'end' to perf report
perf
From: Chenggang Qin
perf_session_free_sample_buffers() can be removed from
__perf_session__process_pipe_events(), since the ordered_samples buffer is not
used while samples are read from the pipe.
__perf_session__process_pipe_events() is only used while process the events from
pipe. While the
Commit-ID: 784f3390f9bd900adfb3b0373615e105a0d9749a
Gitweb: http://git.kernel.org/tip/784f3390f9bd900adfb3b0373615e105a0d9749a
Author: Chenggang Qin
AuthorDate: Fri, 11 Oct 2013 08:27:57 +0800
Committer: Arnaldo Carvalho de Melo
CommitDate: Mon, 14 Oct 2013 12:21:23 -0300
perf symbols
Commit-ID: d4f74eb89199dc7bde5579783e9188841e1271e3
Gitweb: http://git.kernel.org/tip/d4f74eb89199dc7bde5579783e9188841e1271e3
Author: Chenggang Qin
AuthorDate: Fri, 11 Oct 2013 08:27:59 +0800
Committer: Arnaldo Carvalho de Melo
CommitDate: Mon, 14 Oct 2013 12:21:20 -0300
perf symbols
: Mike Galbraith
Cc: Andrew Morton
Signed-off-by: Chenggang Qin
Reviewed-by: Namhyung Kim
---
tools/perf/util/symbol-elf.c | 10 +-
1 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/tools/perf/util/symbol-elf.c b/tools/perf/util/symbol-elf.c
index 4b12bf8..b4df870 100644
From: Chenggang Qin
In function symbols__fixup_duplicate(), while the duplicated symbols are found,
only the rb_node are deleted. The symbol structures themself are ignored.
Then, these memory areas are lost.
This patch fixed the bug.
Thanks.
Cc: David Ahern
Cc: Peter Zijlstra
Cc: Paul
From: Chenggang Qin
Some dsos' symsrc is neither syms_ss or runtime_ss. In this situation, the
corresponding ELF file is opened and mmapped in symsrc__init(), but they will
be not closed and munmapped in any place.
This bug can lead to mmap & munmap mismatched, the mmap areas will exi
From: Chenggang Qin
Vdso is only one in a system. It is not necessory to traverse the
macine->user_dsos list when looking for the dso of vdso.
The flag vdso_found should be replaced by a pointor that point to the dso of
vdso. If the pointer is NULL, dso of vdso have not been created. Else,
From: Chenggang Qin
If the list traversal is avoided by the last patch, the short name compare in
dsos__find() is unnecessary. The purpose of short name compare is only to find
the dso of vdso. If the vdso can be found by a pointor, the short name compare
can be removed.
Thanks
Cc: David Ahern
From: Chenggang Qin
Vdso is only one in a system. It is not necessory to traverse the
macine->user_dsos list while finding the dso of vdso.
The flag vdso_found should be replaced by a pointor that point to the dso of
vdso. If the pointer is NULL, dso of vdso have not been created. Else,
From: Chenggang Qin
If the list traversal is avoided by the last patch, the short name compare in
dsos__find() is unnecessary. The purpose of short name compare is only to find
the dso of vdso. If the vdso can be found by a pointor, the short name compare
can be removed.
Thanks
Cc: David Ahern
From: Chenggang Qin
In function symbols__fixup_duplicate(), while the duplicated symbols are found,
only the rb_node are deleted. The symbol structures themself are ignored.
Then, these memory areas are lost.
This patch fixed the bug.
Thanks.
Cc: David Ahern
Cc: Peter Zijlstra
Cc: Paul
: Mike Galbraith
Cc: Andrew Morton
Signed-off-by: Chenggang Qin
---
tools/perf/util/symbol-elf.c | 10 +-
1 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/tools/perf/util/symbol-elf.c b/tools/perf/util/symbol-elf.c
index 4b12bf8..b4df870 100644
--- a/tools/perf/util/symbol
From: Chenggang Qin
Some dsos' symsrc is neither syms_ss or runtime_ss. In this situation, the
corresponding ELF file is opened and mmapped in symsrc__init(), but they will
be not closed and munmapped in any place.
This bug can lead to mmap & munmap mismatched, the mmap areas will exi
From: Chenggang Qin
In function filename__read_debuglink(), after the elf_begin() mmapped the dso
file,
the execution stream may goto "out_close". So, the elf_end() is skipped, and the
munmap() cannot be executed.
While perf is executed for a long time, the files that are not munm
Cc: Ingo Molnar
Cc: Arnaldo Carvalho de Melo
Cc: Arjan van de Ven
Cc: Namhyung Kim
Cc: Yanmin Zhang
Cc: Wu Fengguang
Cc: Mike Galbraith
Cc: Andrew Morton
Signed-off-by: Chenggang Qin
---
tools/perf/util/trace-event-parse.c |2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff
From: Chenggang Qin
If we execute "make clean" in perf's directory, many object files cannot be
cleaned in the current version.
For example:
While we run "make clean" in perf's directory, and run the command:
"fine ./ -name "*.o""
we will get:
--
From: Chenggang Qin
If we execute "make clean" in perf's directory, many object files cannot be
cleaned in the current version.
For example:
While we run "make clean" in perf's directory, and run the command:
"fine ./ -name "*.o""
we will get:
--
From: Chenggang Qin
If we execute "make clean" in perf's directory, many object files cannot be
cleaned in the current version.
For example:
While we run "make clean" in perf's directory, and run the command:
"fine ./ -name "*.o""
we will get:
--
From: chenggang
While we run "make clean" in perf's directory, and run the command:
"fine ./ -name *.o"
we will get:
./arch/x86/util/unwind.o
./arch/x86/util/header.o
./arch/x86/util/dwarf-regs.o
./util/scripting-engines/trace-event-
From: chenggang
This patch set base on the 3.8.rc7 kernel.
Here is the version 3, I optimized the performance and structure in this
version.
This patch set add a function that make the 'perf top -p $pid' is able to
perceive
the new threads that is forked by target processes. '
From: chenggang
The size of thread_map is fixed at initialized phase according to the
files in /proc/{$pid}. It cannot be expanded and shrinked while we want
to perceive the thread fork and exit events.
We transform the thread_map structure to a linked list, and implement some
interfaces to
From: chenggang
The 2-dimensional array cannot expand and shrink easily while we want to
perceive the thread's fork and exit events on-the-fly.
We transform xyarray to a 2-demesional linked list. The x dimension is cpus and
is still a array. The y dimension is threads of interest a
From: chenggang
Transformed evlist->mmap to xyarray. Then the evlist->mmap is transformed
to a linked list too.
1) perf_evlist__mmap_thread()
mmap a new fd for a new thread forked on-the-fly.
2) void perf_evlist__munmap_thread()
munmap a fd for a exited thread on-the-
From: chenggang
Transform evsel->id to xyarray, so it is transformed to a linked list
instead an array.
Cc: David Ahern
Cc: Peter Zijlstra
Cc: Paul Mackerras
Cc: Ingo Molnar
Cc: Arnaldo Carvalho de Melo
Cc: Arjan van de Ven
Cc: Namhyung Kim
Cc: Yanmin Zhang
Cc: Wu Fengguang
Cc: M
From: chenggang
Add extend mechanism for evsel->id & evsel->fd.
Cc: David Ahern
Cc: Peter Zijlstra
Cc: Paul Mackerras
Cc: Ingo Molnar
Cc: Arnaldo Carvalho de Melo
Cc: Arjan van de Ven
Cc: Namhyung Kim
Cc: Yanmin Zhang
Cc: Wu Fengguang
Cc: Mike Galbraith
Cc: Andrew Morton
From: chenggang
Add extend mechanism for mmap & pollfd. Then we can adjust them while threads
are forked or exited.
Cc: David Ahern
Cc: Peter Zijlstra
Cc: Paul Mackerras
Cc: Ingo Molnar
Cc: Arnaldo Carvalho de Melo
Cc: Arjan van de Ven
Cc: Namhyung Kim
Cc: Yanmin Zhang
Cc: Wu Fengg
From: chenggang
Changed the method to traverse the evlist->mmap list. The evlist->mmap
list is traversed very frequently. So we need to be more efficient to do
it.
Cc: David Ahern
Cc: Peter Zijlstra
Cc: Paul Mackerras
Cc: Ingo Molnar
Cc: Arnaldo Carvalho de Melo
Cc: Arjan van de V
From: chenggang
Many applications will fork threads on-the-fly, these threads could exit before
the main thread exit. The perf top tool should perceive the new forked threads
while we profile a special application.
If the target process fork a thread or a thread exit, we will get a
From: chenggang@taobao.com
This patch set add a function that make the 'perf top -p $pid' is able to
perceive
the new threads that is forked by target processes. 'perf top{record} -p $pid'
can
perceive the threads are forked before we execute perf, but it cannot perce
From: chenggang
The 2-dimensional array cannot expand and shrink easily while we want to
response the thread's fork and exit events on-the-fly.
We transform xyarray to a 2-demesional linked list. The row is still a array,
but column is implemented as a list. The number of nodes in every ro
From: chenggang
The size of thread_map is fixed at initialized phase according to the
files in /proc/{$pid}. It cannot be expanded and shrinked easily while we
want to response the thread fork and exit events.
We transform the thread_map structure to a linked list, and implement some
interfaces
From: chenggang
evlist->mmap, evsel->id, evsel->sample_id are arrays. They cannot be expended or
shrinked easily for the forked and exited threads while we get the fork and exit
events.
We transfromed them to linked list with the new xyarray.
xyarray is a 2-dimensional structure. The
From: chenggang
Many applications will fork threads on-the-fly, these threads could exit before
the main thread exit. The perf top tool should perceive the new forked threads
while we profile a special application.
If the target process fork a thread or a thread exit, we will get a
From: chenggang
Many applications will fork threads on-the-fly, these threads could exit before
the main thread exit. The perf top tool should perceive the new forked threads
while we profile a special application.
If the target process fork a thread or a thread exit, we will get a
From: chenggang
The size of thread_map is fixed at initialized phase according to the
files in /proc/{$pid}. It cannot be expanded and shrinked easily while we
want to response the thread fork and exit events.
We transform the thread_map structure to a linked list, and implement some
interfaces
From: chenggang
evlist->mmap, evsel->id, evsel->sample_id are arrays. They cannot be expended or
shrinked easily for the forked and exited threads while we get the fork and exit
events.
We transfromed them to linked list with the new xyarray.
xyarray is a 2-dimensional structure. The
From: chenggang
The 2-dimensional array cannot expand and shrink easily while we want to
response the thread's fork and exit events on-the-fly.
We transform xyarray to a 2-demesional linked list. The row is still a array,
but column is implemented as a list. The number of nodes in every ro
From: chenggang@taobao.com
This patch set add a function that make the 'perf top -p $pid' is able to
perceive
the new threads that is forked by target processes. 'perf top{record} -p $pid'
can
perceive the threads are forked before we execute perf, but it cannot perce
From: chenggang@taobao.com
The last version of this patch need to introduce 2 new tracepoint events in VFS,
but introduce new tracepoint events into VFS is not a clever idea. So, I
modified
this patch, and only use a existing tracepoint event (ext4:ext4_direct_IO_exit).
If the engineers
From: chenggang@taobao.com
The last version of this patch need to introduce 2 new tracepoint events in VFS,
but introduce new tracepoint events into VFS is not a clever idea. So, I
modified
this patch, and only use a existing tracepoint event (ext4:ext4_direct_IO_exit).
If the engineers
From: chenggang
Yesterday, I implemented these tracepoint events in VFS subsystem.
It is not a good idea.
Now, I modified two existing tracepoint events in ext4 subsystem to implement
the same function.
Many database systems use their own page cache subsystems and use the direct IO
to access
From: chenggang@gmail.com
This patch depends on a prev patch: https://lkml.org/lkml/2013/1/29/47
If the engineers want to analyze the direct io behavior of some applications
without source code, perf tools with some appropriate tracepoints events in the
VFS subsystem are excellent choice
From: chenggang@gmail.com
This version changed some type definition according to Steven's advise.
Thanks for Steven.
If the engineers want to analyze the file access behavior of some applications
without source code, perf tools with some appropriate tracepoints events in the
VFS subs
From: chenggang@gmail.com
This patch depends on a prev patch: https://lkml.org/lkml/2013/1/29/47
If the engineers want to analyze the direct io behavior of some applications
without source code, perf tools with some appropriate tracepoints events in the
VFS subsystem are excellent choice
From: chenggang@gmail.com
This patch depends on the other patch: https://lkml.org/lkml/2013/1/29/47
Because this patch uses 2 tracepoint events are introduced by the patch of the
above mentioned.
If the engineers want to analyze the file access behavior of some applications
without source
From: chenggang@gmail.com
If the engineers want to analyze the file access behavior of some applications
without source code, perf tools with some appropriate tracepoints events in the
VFS subsystem are excellent choice.
The system engineers or developers of server software require to know
From: chenggang@gmail.com
If the engineers want to analyze the file access behavior of some applications
without source code, perf tools with some appropriate tracepoints events in the
VFS subsystem are excellent choice.
The system engineers or developers of server software require to know
vid Ahern
Cc: Arjan van de Ven
Cc: Namhyung Kim
Cc: Yanmin Zhang
Cc: Wu Fengguang
Cc: Mike Galbraith
Cc: Paul Mackerras
Cc: Peter Zijlstra
Cc: Ingo Molnar
Cc: Arnaldo Carvalho de Melo
Cc: Andrew Morton
Signed-off-by: Chenggang Qin
---
tools/perf/builtin-record.c | 25 +
rnaldo Carvalho de Melo
Cc: Andrew Morton
Signed-off-by: Chenggang Qin
---
tools/perf/util/xyarray.c | 26 ++
tools/perf/util/xyarray.h |2 ++
2 files changed, 28 insertions(+)
diff --git a/tools/perf/util/xyarray.c b/tools/perf/util/xyarray.c
index 22afbf6..4
Galbraith
Cc: Paul Mackerras
Cc: Peter Zijlstra
Cc: Ingo Molnar
Cc: Arnaldo Carvalho de Melo
Cc: Andrew Morton
Signed-off-by: Chenggang Qin
---
tools/perf/util/include/linux/bitops.h | 85 ++--
1 file changed, 69 insertions(+), 16 deletions(-)
diff --git a/t
de Ven
Cc: Namhyung Kim
Cc: Yanmin Zhang
Cc: Wu Fengguang
Cc: Mike Galbraith
Cc: Paul Mackerras
Cc: Peter Zijlstra
Cc: Ingo Molnar
Cc: Arnaldo Carvalho de Melo
Cc: Andrew Morton
Signed-off-by: Chenggang Qin
chenggang (5):
perf tools: Add some functions to bitops.h to support more bitmap
Cc: Peter Zijlstra
Cc: Ingo Molnar
Cc: Arnaldo Carvalho de Melo
Cc: Andrew Morton
Signed-off-by: Chenggang Qin
---
tools/perf/builtin-top.c | 135 ++
1 file changed, 135 insertions(+)
diff --git a/tools/perf/builtin-top.c b/tools/perf/builtin-top.
because the
interface of evlist and evsel have not been modified.
Cc: David Ahern
Cc: Arjan van de Ven
Cc: Namhyung Kim
Cc: Yanmin Zhang
Cc: Wu Fengguang
Cc: Mike Galbraith
Cc: Paul Mackerras
Cc: Peter Zijlstra
Cc: Ingo Molnar
Cc: Arnaldo Carvalho de Melo
Cc: Andrew Morton
Sign
From: Chenggang Qin
While we use "perf top -p 'pid'" to monitor the symbols of specified
processes, some new threads would be created by the monitored processes
during "perf top" is running. In current version, these new threads and
their symbols cannot be shown.
59 matches
Mail list logo