perf/urgent fixes:

- Fix attr.exclude_kernel setting for default cycles:p (Arnaldo Carvalho de Melo)
 
 - Fix broken arrow at row 0 connecting jmp instruction to its target in
   the annotate TUI (Jin Yao)
 
 Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2
 
 iQIcBAABCAAGBQJZZAXhAAoJENZQFvNTUqpAfJQP/2xvkzZUMDRLBfQo4esEHs/4
 kmgm/Pm2lgYySNuikNuc7kVDHnxDfIsF1ODxbhrcnHwHZLRiMoq84nRqh4f73z9a
 NqN7pQ+7j32/hsBZHH4c6XrnRJAzqCZpmNgOFqWe6vDB2TI4ucl77iTxGxbXruzx
 95tGwC5T7W/Z0TC+WD2tOMUceIrEUqNp4ZYKGQ4V+wjoRMzAHKCKHdy/RKAzjEo6
 ScA3lBrqTssHKlcoo1Yz4eYnkvgGzNqoyXuw7K2ZtO5SC4LiQ6tJ9S06SWUaHL/y
 wUHmlZp5ZwyiMPAKjDlxyJpdfFMbYh81LwVAFF3gjOsXgm2565M4S1+NaJpq9zxU
 eVFNYm8uaHZZR0an+GXM50ymf6GKMf8fOyw9bFIks7G0wvwr4mfEgooIOWNv4c+A
 PD24q6qP5mDug0S7AMHOja1AtpIeNUpawanRuz0oe4L3qTvXhcMoo1qdaACLg0EX
 JFaNmsfjizRdubjiyPrIFOR5ih87jjs8W58VxDQXD/E428OJcT8YrD6julQmyKhV
 SQDd7ZyHLaSJZb6XzglB3e+63NSQXZaqcBCwFDn+aaW5mBCCLHTlMyhnoldBwD/T
 e51zj3q+xUJvl83FLErBiD1Dek85bH7XRtWGnKiRr7YajveD/yDOs1AVLgkPPLDT
 XZ4eJtH0vbsrAkVPsesI
 =Qd/D
 -----END PGP SIGNATURE-----

Merge tag 'perf-urgent-for-mingo-4.13-20170710' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/urgent

Pull perf/urgent fixes from Arnaldo Carvalho de Melo:

 - Fix attr.exclude_kernel setting for default cycles:p (Arnaldo Carvalho de Melo)

 - Fix broken arrow at row 0 connecting jmp instruction to its target in
   the annotate TUI (Jin Yao)

Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
This commit is contained in:
Ingo Molnar 2017-07-11 10:17:04 +02:00
commit 1922eec4b5
2 changed files with 6 additions and 4 deletions

View File

@ -704,7 +704,7 @@ static void __ui_browser__line_arrow_down(struct ui_browser *browser,
ui_browser__gotorc(browser, row, column + 1);
SLsmg_draw_hline(2);
if (row++ == 0)
if (++row == 0)
goto out;
} else
row = 0;

View File

@ -273,7 +273,7 @@ struct perf_evsel *perf_evsel__new_cycles(void)
struct perf_event_attr attr = {
.type = PERF_TYPE_HARDWARE,
.config = PERF_COUNT_HW_CPU_CYCLES,
.exclude_kernel = 1,
.exclude_kernel = geteuid() != 0,
};
struct perf_evsel *evsel;
@ -298,8 +298,10 @@ struct perf_evsel *perf_evsel__new_cycles(void)
goto out;
/* use asprintf() because free(evsel) assumes name is allocated */
if (asprintf(&evsel->name, "cycles%.*s",
attr.precise_ip ? attr.precise_ip + 1 : 0, ":ppp") < 0)
if (asprintf(&evsel->name, "cycles%s%s%.*s",
(attr.precise_ip || attr.exclude_kernel) ? ":" : "",
attr.exclude_kernel ? "u" : "",
attr.precise_ip ? attr.precise_ip + 1 : 0, "ppp") < 0)
goto error_free;
out:
return evsel;