perf/urgent fixes:
User visible: - Fix showing the running kernel build id using: (Michael Petlan) $ perf buildid-list -k 03c2a89c595616188f02f0282762a75b47069bc0 - hists browser (report, top) symbol filter segfault fixes (Wang Nan) Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQIcBAABAgAGBQJWZePcAAoJENZQFvNTUqpAH1AP/iyY2nCRxtuOsOnuoqanuf5H 2hqEU1A2Ihsqm5EC2r9q3CymJAmcD+MNauh8qcdfmYBsLPqu/Z4AIl5TXEn96RB/ GEEsLGcd0/fO7sbv1+d/RpHQP98LJUAEyi5TqDYniP07HY5epOOwCYA8lsF/5LNb S5x7eA5XzAGid9Qx1Uh0i/Jk1cp6PYEwZ9t43MhGY+tDczGKKs3OxbaYKdB8BX3B dxGmW5/kJlV3+ELtmAYdDXLe+MXCBxg5U29C6j3y3QQh29wIh0ary8qQh/PbHSGD qS/0VSvDjz/Fluvqqe0C9yZ7pr/V9zwGHf141R0yh9l2L2V0P9E7LoR10SouVzWE cmIeaWERtMrODjZvniLjOzychCt9etIyyImJHVoBGj2H8Esl56yGLV60iaj6EQPh lJbZn2OKnT60jceTsK1WC2YclGtqgTeO8mUO47R/aC7ZdDQOjWFgmlI3+IlYAhgW rDiq27skRQ0cbeo/KizU4ZzJycsAW1zZmL+VUGEFJMzjtsLb9ekBvNTAMw6h9Hjf 9y41/Lx4DgzMYPOP0Rstyq1Vfwgqkhgst18XihfFoLQDp1mWSxshkmY36RBSb6NZ glLxNFrN7p7RpPOC6ecVZbFrBfhvp2pE5qMhqXRtWgsc1ZDORgS8fkVmF/eHG2t5 ZyEkOrkWLNl9pl3uOC3O =bLf5 -----END PGP SIGNATURE----- Merge tag 'perf-urgent-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/urgent Pull perf/urgent fixes from Arnaldo Carvalho de Melo: User visible fixes: - Fix showing the running kernel build id using: (Michael Petlan) $ perf buildid-list -k 03c2a89c595616188f02f0282762a75b47069bc0 - hists browser (report, top) symbol filter segfault fixes (Wang Nan) Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> Signed-off-by: Ingo Molnar <mingo@kernel.org>
This commit is contained in:
commit
03fba21adb
|
@ -110,7 +110,7 @@ int cmd_buildid_list(int argc, const char **argv,
|
|||
setup_pager();
|
||||
|
||||
if (show_kernel)
|
||||
return sysfs__fprintf_build_id(stdout);
|
||||
return !(sysfs__fprintf_build_id(stdout) > 0);
|
||||
|
||||
return perf_session__list_build_ids(force, with_hits);
|
||||
}
|
||||
|
|
|
@ -298,6 +298,9 @@ static bool hist_browser__toggle_fold(struct hist_browser *browser)
|
|||
struct callchain_list *cl = container_of(ms, struct callchain_list, ms);
|
||||
bool has_children;
|
||||
|
||||
if (!he || !ms)
|
||||
return false;
|
||||
|
||||
if (ms == &he->ms)
|
||||
has_children = hist_entry__toggle_fold(he);
|
||||
else
|
||||
|
@ -928,6 +931,8 @@ static unsigned int hist_browser__refresh(struct ui_browser *browser)
|
|||
}
|
||||
|
||||
ui_browser__hists_init_top(browser);
|
||||
hb->he_selection = NULL;
|
||||
hb->selection = NULL;
|
||||
|
||||
for (nd = browser->top; nd; nd = rb_next(nd)) {
|
||||
struct hist_entry *h = rb_entry(nd, struct hist_entry, rb_node);
|
||||
|
@ -1033,6 +1038,9 @@ static void ui_browser__hists_seek(struct ui_browser *browser,
|
|||
* and stop when we printed enough lines to fill the screen.
|
||||
*/
|
||||
do_offset:
|
||||
if (!nd)
|
||||
return;
|
||||
|
||||
if (offset > 0) {
|
||||
do {
|
||||
h = rb_entry(nd, struct hist_entry, rb_node);
|
||||
|
|
|
@ -91,7 +91,7 @@ int build_id__sprintf(const u8 *build_id, int len, char *bf)
|
|||
bid += 2;
|
||||
}
|
||||
|
||||
return raw - build_id;
|
||||
return (bid - bf) + 1;
|
||||
}
|
||||
|
||||
int sysfs__sprintf_build_id(const char *root_dir, char *sbuild_id)
|
||||
|
|
Loading…
Reference in New Issue