mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* perf: race with automatic rdpmc() disabling
@ 2017-03-13 13:58 Vince Weaver
  2017-03-13 16:44 ` Andy Lutomirski
  0 siblings, 1 reply; 8+ messages in thread
From: Vince Weaver @ 2017-03-13 13:58 UTC (permalink / raw)
  To: linux-kernel; +Cc: luto, Peter Zijlstra, Ingo Molnar, Arnaldo Carvalho de Melo

Hello

I've been trying to track this issue down for a few days and haven't been 
able to isolate it.  So maybe someone who understands low-level perf mmap
reference counting can help here.

As you might recall, 7911d3f7af14a614617e38245fedf98a724e46a9
introduced automatic disabling of userspace rdpmc when no perf_events 
were running.

I've run into a problem with PAPI when using rdpmc.  If you have PAPI
measuring events in multiple pthread threads, sometimes (but not always)
the program will GPF because CR4/rdpmc gets turned off while events are 
still active.

I've been trying to put together a reproducible test case but haven't been 
able to manage.  I have a PAPI test that will show the problem about 
50% of the time but I can't seem to isolate the problem.

Any ideas?

If you really want to try to reproduce it, get the current git version of 
PAPI
	git clone https://bitbucket.org/icl/papi.git
edit src/components/perf_event/perf_event.c 
	so that #define PERF_USE_RDPMC 1
in src run ./configure , make
then run the ./ctests/zero_pthreads test a few times.  It will GPF and I'm
relatively (though not entirely) sure it's not a PAPI issue.  
The problem does go away if you set /sys/devices/cpu/rdpmc to 2

Vince

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2017-03-16  5:43 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-03-13 13:58 perf: race with automatic rdpmc() disabling Vince Weaver
2017-03-13 16:44 ` Andy Lutomirski
2017-03-13 16:55   ` Peter Zijlstra
2017-03-13 21:05     ` Andy Lutomirski
2017-03-14 15:58       ` Andy Lutomirski
2017-03-14 16:45         ` Vince Weaver
2017-03-15 20:16           ` Andy Lutomirski
2017-03-16  5:35             ` Vince Weaver

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

Powered by JetHome