Re: [tip:perf/core] perf/core: Check return value of the perf_event_read() IPI

From: Jiri Olsa
Date: Mon Aug 22 2016 - 04:29:46 EST


On Mon, Aug 22, 2016 at 09:17:37AM +0200, Jiri Olsa wrote:
> On Sun, Aug 21, 2016 at 02:10:07PM +0200, Vegard Nossum wrote:
>
> SNIP
>
> > [<ffffffff816d1577>] ? __fget+0x47/0x270
> > [<ffffffff81676d5b>] vfs_readv+0x8b/0xc0
> > [<ffffffff81676e6e>] do_readv+0xde/0x230
> > [<ffffffff81676d90>] ? vfs_readv+0xc0/0xc0
> > [<ffffffff81002b60>] ? exit_to_usermode_loop+0x190/0x190
> > [<ffffffff82001b07>] ? check_preemption_disabled+0x37/0x1e0
> > [<ffffffff81677617>] SyS_readv+0x27/0x30
> > [<ffffffff816775f0>] ? do_pwritev+0x1a0/0x1a0
> > [<ffffffff81005524>] do_syscall_64+0x1c4/0x4e0
> > [<ffffffff83c3286a>] entry_SYSCALL64_slow_path+0x25/0x25
> >
> > I don't think WARN() is the right interface for signalling errors to
> > userspace programs?
>
> any special way to trigger that?

nope ;-)

perf stat -a -I 10

jirka


--
[ 430.168408] ------------[ cut here ]------------
[ 430.173596] WARNING: CPU: 10 PID: 3878 at kernel/events/core.c:3583 perf_event_read+0x1cc/0x1e0
[ 430.183321] Modules linked in: intel_rapl sb_edac edac_core x86_pkg_temp_thermal coretemp iTCO_wdt crct10dif_pclmul iTCO_vendor_support crc32_pclmul ghash_clmulni_intel cdc_ether usbnet mii ioatdma i2c_i801 lpc_ich i2c_smbus wmi xfs libcrc32c mgag200 drm_kms_helper igb ttm ptp pps_core crc32c_intel dca drm i2c_algo_bit megaraid_sas fjes
[ 430.217193] CPU: 10 PID: 3878 Comm: perf Not tainted 4.8.0-rc2+ #227
[ 430.224282] Hardware name: IBM System x3650 M4 : -[7915E2G]-/00Y7683, BIOS -[VVE124AUS-1.30]- 11/21/2012
[ 430.234863] 0000000000000286 00000000e92a6a39 ffff880275c7bcd8 ffffffff813ba21e
[ 430.243156] 0000000000000000 0000000000000000 ffff880275c7bd18 ffffffff810a16ab
[ 430.251446] 00000dff75c7bd78 ffff88047444c000 ffff880275c7bde0 0000000000000003
[ 430.259736] Call Trace:
[ 430.262466] [<ffffffff813ba21e>] dump_stack+0x63/0x85
[ 430.268193] [<ffffffff810a16ab>] __warn+0xcb/0xf0
[ 430.273539] [<ffffffff810a17dd>] warn_slowpath_null+0x1d/0x20
[ 430.280048] [<ffffffff8118ec7c>] perf_event_read+0x1cc/0x1e0
[ 430.286461] [<ffffffff8118ecd5>] perf_event_read_value+0x45/0x130
[ 430.293358] [<ffffffff81192a03>] perf_read+0x93/0x2c0
[ 430.299093] [<ffffffff81344879>] ? file_has_perm+0xa9/0xb0
[ 430.305314] [<ffffffff81231327>] __vfs_read+0x37/0x150
[ 430.311137] [<ffffffff8133af60>] ? security_file_permission+0xa0/0xc0
[ 430.318431] [<ffffffff81232505>] vfs_read+0x95/0x140
[ 430.324069] [<ffffffff81233a05>] SyS_read+0x55/0xc0
[ 430.329610] [<ffffffff8178b972>] entry_SYSCALL_64_fastpath+0x1a/0xa4
[ 430.336820] ---[ end trace 671c766962c86ad2 ]---