Loading tools/perf/Documentation/Makefile +10 −9 Original line number Diff line number Diff line Loading @@ -178,8 +178,8 @@ install-pdf: pdf $(INSTALL) -d -m 755 $(DESTDIR)$(pdfdir) $(INSTALL) -m 644 user-manual.pdf $(DESTDIR)$(pdfdir) install-html: html '$(SHELL_PATH_SQ)' ./install-webdoc.sh $(DESTDIR)$(htmldir) #install-html: html # '$(SHELL_PATH_SQ)' ./install-webdoc.sh $(DESTDIR)$(htmldir) ../PERF-VERSION-FILE: .FORCE-PERF-VERSION-FILE $(QUIET_SUBDIR0)../ $(QUIET_SUBDIR1) PERF-VERSION-FILE Loading Loading @@ -288,15 +288,16 @@ $(patsubst %.txt,%.html,$(wildcard howto/*.txt)): %.html : %.txt sed -e '1,/^$$/d' $< | $(ASCIIDOC) -b xhtml11 - >$@+ && \ mv $@+ $@ install-webdoc : html '$(SHELL_PATH_SQ)' ./install-webdoc.sh $(WEBDOC_DEST) # UNIMPLEMENTED #install-webdoc : html # '$(SHELL_PATH_SQ)' ./install-webdoc.sh $(WEBDOC_DEST) quick-install: quick-install-man # quick-install: quick-install-man quick-install-man: '$(SHELL_PATH_SQ)' ./install-doc-quick.sh $(DOC_REF) $(DESTDIR)$(mandir) # quick-install-man: # '$(SHELL_PATH_SQ)' ./install-doc-quick.sh $(DOC_REF) $(DESTDIR)$(mandir) quick-install-html: '$(SHELL_PATH_SQ)' ./install-doc-quick.sh $(HTML_REF) $(DESTDIR)$(htmldir) #quick-install-html: # '$(SHELL_PATH_SQ)' ./install-doc-quick.sh $(HTML_REF) $(DESTDIR)$(htmldir) .PHONY: .FORCE-PERF-VERSION-FILE tools/perf/Documentation/perf-probe.txt +4 −3 Original line number Diff line number Diff line Loading @@ -16,7 +16,7 @@ or or 'perf probe' --list or 'perf probe' [options] --line='FUNC[:RLN[+NUM|:RLN2]]|SRC:ALN[+NUM|:ALN2]' 'perf probe' [options] --line='LINE' or 'perf probe' [options] --vars='PROBEPOINT' Loading Loading @@ -128,13 +128,14 @@ LINE SYNTAX ----------- Line range is described by following syntax. "FUNC[:RLN[+NUM|-RLN2]]|SRC[:ALN[+NUM|-ALN2]]" "FUNC[@SRC][:RLN[+NUM|-RLN2]]|SRC[:ALN[+NUM|-ALN2]]" FUNC specifies the function name of showing lines. 'RLN' is the start line number from function entry line, and 'RLN2' is the end line number. As same as probe syntax, 'SRC' means the source file path, 'ALN' is start line number, and 'ALN2' is end line number in the file. It is also possible to specify how many lines to show by using 'NUM'. many lines to show by using 'NUM'. Moreover, 'FUNC@SRC' combination is good for searching a specific function when several functions share same name. So, "source.c:100-120" shows lines between 100th to l20th in source.c file. And "func:10+20" shows 20 lines from 10th line of func function. LAZY MATCHING Loading tools/perf/Makefile +31 −0 Original line number Diff line number Diff line Loading @@ -637,6 +637,7 @@ else LIB_H += util/ui/libslang.h LIB_H += util/ui/progress.h LIB_H += util/ui/util.h LIB_H += util/ui/ui.h endif endif Loading Loading @@ -1101,6 +1102,36 @@ $(sort $(dir $(DIRECTORY_DEPS))): $(LIB_FILE): $(LIB_OBJS) $(QUIET_AR)$(RM) $@ && $(AR) rcs $@ $(LIB_OBJS) help: @echo 'Perf make targets:' @echo ' doc - make *all* documentation (see below)' @echo ' man - make manpage documentation (access with man <foo>)' @echo ' html - make html documentation' @echo ' info - make GNU info documentation (access with info <foo>)' @echo ' pdf - make pdf documentation' @echo ' TAGS - use etags to make tag information for source browsing' @echo ' tags - use ctags to make tag information for source browsing' @echo ' cscope - use cscope to make interactive browsing database' @echo '' @echo 'Perf install targets:' @echo ' NOTE: documentation build requires asciidoc, xmlto packages to be installed' @echo ' HINT: use "make prefix=<path> <install target>" to install to a particular' @echo ' path like make prefix=/usr/local install install-doc' @echo ' install - install compiled binaries' @echo ' install-doc - install *all* documentation' @echo ' install-man - install manpage documentation' @echo ' install-html - install html documentation' @echo ' install-info - install GNU info documentation' @echo ' install-pdf - install pdf documentation' @echo '' @echo ' quick-install-doc - alias for quick-install-man' @echo ' quick-install-man - install the documentation quickly' @echo ' quick-install-html - install the html documentation quickly' @echo '' @echo 'Perf maintainer targets:' @echo ' distclean - alias to clean' @echo ' clean - clean all binary objects and build output' doc: $(MAKE) -C Documentation all Loading tools/perf/util/annotate.c +2 −1 Original line number Diff line number Diff line Loading @@ -541,11 +541,12 @@ void symbol__annotate_decay_histogram(struct symbol *sym, int evidx) struct annotation *notes = symbol__annotation(sym); struct sym_hist *h = annotation__histogram(notes, evidx); struct objdump_line *pos; int len = sym->end - sym->start; h->sum = 0; list_for_each_entry(pos, ¬es->src->source, node) { if (pos->offset != -1) { if (pos->offset != -1 && pos->offset < len) { h->addr[pos->offset] = h->addr[pos->offset] * 7 / 8; h->sum += h->addr[pos->offset]; } Loading tools/perf/util/probe-event.c +13 −4 Original line number Diff line number Diff line Loading @@ -409,7 +409,7 @@ int show_line_range(struct line_range *lr, const char *module) setup_pager(); if (lr->function) fprintf(stdout, "<%s:%d>\n", lr->function, fprintf(stdout, "<%s@%s:%d>\n", lr->function, lr->path, lr->start - lr->offset); else fprintf(stdout, "<%s:%d>\n", lr->path, lr->start); Loading Loading @@ -595,11 +595,11 @@ static int parse_line_num(char **ptr, int *val, const char *what) * The line range syntax is described by: * * SRC[:SLN[+NUM|-ELN]] * FNC[:SLN[+NUM|-ELN]] * FNC[@SRC][:SLN[+NUM|-ELN]] */ int parse_line_range_desc(const char *arg, struct line_range *lr) { char *range, *name = strdup(arg); char *range, *file, *name = strdup(arg); int err; if (!name) Loading Loading @@ -649,7 +649,16 @@ int parse_line_range_desc(const char *arg, struct line_range *lr) } } if (strchr(name, '.')) file = strchr(name, '@'); if (file) { *file = '\0'; lr->file = strdup(++file); if (lr->file == NULL) { err = -ENOMEM; goto err; } lr->function = name; } else if (strchr(name, '.')) lr->file = name; else lr->function = name; Loading Loading
tools/perf/Documentation/Makefile +10 −9 Original line number Diff line number Diff line Loading @@ -178,8 +178,8 @@ install-pdf: pdf $(INSTALL) -d -m 755 $(DESTDIR)$(pdfdir) $(INSTALL) -m 644 user-manual.pdf $(DESTDIR)$(pdfdir) install-html: html '$(SHELL_PATH_SQ)' ./install-webdoc.sh $(DESTDIR)$(htmldir) #install-html: html # '$(SHELL_PATH_SQ)' ./install-webdoc.sh $(DESTDIR)$(htmldir) ../PERF-VERSION-FILE: .FORCE-PERF-VERSION-FILE $(QUIET_SUBDIR0)../ $(QUIET_SUBDIR1) PERF-VERSION-FILE Loading Loading @@ -288,15 +288,16 @@ $(patsubst %.txt,%.html,$(wildcard howto/*.txt)): %.html : %.txt sed -e '1,/^$$/d' $< | $(ASCIIDOC) -b xhtml11 - >$@+ && \ mv $@+ $@ install-webdoc : html '$(SHELL_PATH_SQ)' ./install-webdoc.sh $(WEBDOC_DEST) # UNIMPLEMENTED #install-webdoc : html # '$(SHELL_PATH_SQ)' ./install-webdoc.sh $(WEBDOC_DEST) quick-install: quick-install-man # quick-install: quick-install-man quick-install-man: '$(SHELL_PATH_SQ)' ./install-doc-quick.sh $(DOC_REF) $(DESTDIR)$(mandir) # quick-install-man: # '$(SHELL_PATH_SQ)' ./install-doc-quick.sh $(DOC_REF) $(DESTDIR)$(mandir) quick-install-html: '$(SHELL_PATH_SQ)' ./install-doc-quick.sh $(HTML_REF) $(DESTDIR)$(htmldir) #quick-install-html: # '$(SHELL_PATH_SQ)' ./install-doc-quick.sh $(HTML_REF) $(DESTDIR)$(htmldir) .PHONY: .FORCE-PERF-VERSION-FILE
tools/perf/Documentation/perf-probe.txt +4 −3 Original line number Diff line number Diff line Loading @@ -16,7 +16,7 @@ or or 'perf probe' --list or 'perf probe' [options] --line='FUNC[:RLN[+NUM|:RLN2]]|SRC:ALN[+NUM|:ALN2]' 'perf probe' [options] --line='LINE' or 'perf probe' [options] --vars='PROBEPOINT' Loading Loading @@ -128,13 +128,14 @@ LINE SYNTAX ----------- Line range is described by following syntax. "FUNC[:RLN[+NUM|-RLN2]]|SRC[:ALN[+NUM|-ALN2]]" "FUNC[@SRC][:RLN[+NUM|-RLN2]]|SRC[:ALN[+NUM|-ALN2]]" FUNC specifies the function name of showing lines. 'RLN' is the start line number from function entry line, and 'RLN2' is the end line number. As same as probe syntax, 'SRC' means the source file path, 'ALN' is start line number, and 'ALN2' is end line number in the file. It is also possible to specify how many lines to show by using 'NUM'. many lines to show by using 'NUM'. Moreover, 'FUNC@SRC' combination is good for searching a specific function when several functions share same name. So, "source.c:100-120" shows lines between 100th to l20th in source.c file. And "func:10+20" shows 20 lines from 10th line of func function. LAZY MATCHING Loading
tools/perf/Makefile +31 −0 Original line number Diff line number Diff line Loading @@ -637,6 +637,7 @@ else LIB_H += util/ui/libslang.h LIB_H += util/ui/progress.h LIB_H += util/ui/util.h LIB_H += util/ui/ui.h endif endif Loading Loading @@ -1101,6 +1102,36 @@ $(sort $(dir $(DIRECTORY_DEPS))): $(LIB_FILE): $(LIB_OBJS) $(QUIET_AR)$(RM) $@ && $(AR) rcs $@ $(LIB_OBJS) help: @echo 'Perf make targets:' @echo ' doc - make *all* documentation (see below)' @echo ' man - make manpage documentation (access with man <foo>)' @echo ' html - make html documentation' @echo ' info - make GNU info documentation (access with info <foo>)' @echo ' pdf - make pdf documentation' @echo ' TAGS - use etags to make tag information for source browsing' @echo ' tags - use ctags to make tag information for source browsing' @echo ' cscope - use cscope to make interactive browsing database' @echo '' @echo 'Perf install targets:' @echo ' NOTE: documentation build requires asciidoc, xmlto packages to be installed' @echo ' HINT: use "make prefix=<path> <install target>" to install to a particular' @echo ' path like make prefix=/usr/local install install-doc' @echo ' install - install compiled binaries' @echo ' install-doc - install *all* documentation' @echo ' install-man - install manpage documentation' @echo ' install-html - install html documentation' @echo ' install-info - install GNU info documentation' @echo ' install-pdf - install pdf documentation' @echo '' @echo ' quick-install-doc - alias for quick-install-man' @echo ' quick-install-man - install the documentation quickly' @echo ' quick-install-html - install the html documentation quickly' @echo '' @echo 'Perf maintainer targets:' @echo ' distclean - alias to clean' @echo ' clean - clean all binary objects and build output' doc: $(MAKE) -C Documentation all Loading
tools/perf/util/annotate.c +2 −1 Original line number Diff line number Diff line Loading @@ -541,11 +541,12 @@ void symbol__annotate_decay_histogram(struct symbol *sym, int evidx) struct annotation *notes = symbol__annotation(sym); struct sym_hist *h = annotation__histogram(notes, evidx); struct objdump_line *pos; int len = sym->end - sym->start; h->sum = 0; list_for_each_entry(pos, ¬es->src->source, node) { if (pos->offset != -1) { if (pos->offset != -1 && pos->offset < len) { h->addr[pos->offset] = h->addr[pos->offset] * 7 / 8; h->sum += h->addr[pos->offset]; } Loading
tools/perf/util/probe-event.c +13 −4 Original line number Diff line number Diff line Loading @@ -409,7 +409,7 @@ int show_line_range(struct line_range *lr, const char *module) setup_pager(); if (lr->function) fprintf(stdout, "<%s:%d>\n", lr->function, fprintf(stdout, "<%s@%s:%d>\n", lr->function, lr->path, lr->start - lr->offset); else fprintf(stdout, "<%s:%d>\n", lr->path, lr->start); Loading Loading @@ -595,11 +595,11 @@ static int parse_line_num(char **ptr, int *val, const char *what) * The line range syntax is described by: * * SRC[:SLN[+NUM|-ELN]] * FNC[:SLN[+NUM|-ELN]] * FNC[@SRC][:SLN[+NUM|-ELN]] */ int parse_line_range_desc(const char *arg, struct line_range *lr) { char *range, *name = strdup(arg); char *range, *file, *name = strdup(arg); int err; if (!name) Loading Loading @@ -649,7 +649,16 @@ int parse_line_range_desc(const char *arg, struct line_range *lr) } } if (strchr(name, '.')) file = strchr(name, '@'); if (file) { *file = '\0'; lr->file = strdup(++file); if (lr->file == NULL) { err = -ENOMEM; goto err; } lr->function = name; } else if (strchr(name, '.')) lr->file = name; else lr->function = name; Loading