* Using a new perf tool against an older kernel @ 2011-06-22 21:39 Arun Sharma 2011-06-23 14:22 ` David Ahern 0 siblings, 1 reply; 9+ messages in thread From: Arun Sharma @ 2011-06-22 21:39 UTC (permalink / raw) To: linux-perf-users; +Cc: linux-kernel I ran into a few strange issues today using a new perf tool (3.0-rcX) against a 2.6.38 based kernel. Basic things seem to work: # perf record -aR -- sleep 1 [ perf record: Woken up 1 times to write data ] [ perf record: Captured and wrote 0.443 MB perf.data (~19334 samples) ] But: # perf record -agR -- sleep 1 [ perf record: Woken up 1 times to write data ] [ perf record: Captured and wrote 1.558 MB perf.data (~68077 samples) ] Can't find id 9's machine Found 1 unknown events! Is this an older tool processing a perf.data file generated by a more recent tool? If that is not the case, consider reporting to linux-kernel@vger.kernel.org. I couldn't tell if this is kernel/user space incompatibility or tighter error checking in the new perf tool. Before I start digging further, thought I'd ask if this combination is supported. The error message above doesn't ask me: Are you using an old kernel? -Arun ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: Using a new perf tool against an older kernel 2011-06-22 21:39 Using a new perf tool against an older kernel Arun Sharma @ 2011-06-23 14:22 ` David Ahern 2011-06-23 19:39 ` Arun Sharma 0 siblings, 1 reply; 9+ messages in thread From: David Ahern @ 2011-06-23 14:22 UTC (permalink / raw) To: Arun Sharma; +Cc: linux-perf-users, linux-kernel On 06/22/2011 03:39 PM, Arun Sharma wrote: > > I ran into a few strange issues today using a new perf tool (3.0-rcX) > against a 2.6.38 based kernel. Basic things seem to work: > > # perf record -aR -- sleep 1 > [ perf record: Woken up 1 times to write data ] > [ perf record: Captured and wrote 0.443 MB perf.data (~19334 samples) ] > > But: > > # perf record -agR -- sleep 1 > [ perf record: Woken up 1 times to write data ] > [ perf record: Captured and wrote 1.558 MB perf.data (~68077 samples) ] > Can't find id 9's machine > Found 1 unknown events! > > Is this an older tool processing a perf.data file generated by a more > recent tool? > > If that is not the case, consider reporting to > linux-kernel@vger.kernel.org. > > I couldn't tell if this is kernel/user space incompatibility or tighter > error checking in the new perf tool. Before I start digging further, > thought I'd ask if this combination is supported. The error message > above doesn't ask me: > > Are you using an old kernel? I have not seen issues like this using newer perf userspace against older kernels. For example, my laptop was running Fedora 14 (2.6.35) and now Fedora 15 (2.6.38.8) and I typically use latest perf builds (e.g., testing patches). David > > -Arun > > -- > To unsubscribe from this list: send the line "unsubscribe > linux-perf-users" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: Using a new perf tool against an older kernel 2011-06-23 14:22 ` David Ahern @ 2011-06-23 19:39 ` Arun Sharma 2011-06-23 20:02 ` David Ahern 2011-06-24 0:11 ` Frederic Weisbecker 0 siblings, 2 replies; 9+ messages in thread From: Arun Sharma @ 2011-06-23 19:39 UTC (permalink / raw) To: David Ahern; +Cc: linux-perf-users, linux-kernel On 6/23/11 7:22 AM, David Ahern wrote: > I have not seen issues like this using newer perf userspace against > older kernels. For example, my laptop was running Fedora 14 (2.6.35) and > now Fedora 15 (2.6.38.8) and I typically use latest perf builds (e.g., > testing patches). I narrowed it down to PERF_SAMPLE_RAW: perf record -ag -- sleep 1 is fine, but: perf record -agR -- sleep 1 fails for me most of the time. The reason I needed to use the -R in the first place is that "perf script" fails on older kernels with: Samples do not contain timestamps. With the newer perf, I don't get errors, but the timestamp field is invalid. So I need to use the -R flag to get valid timestamps + stacktraces out of "perf script". -Arun ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: Using a new perf tool against an older kernel 2011-06-23 19:39 ` Arun Sharma @ 2011-06-23 20:02 ` David Ahern 2011-06-24 0:11 ` Frederic Weisbecker 2011-06-24 0:11 ` Frederic Weisbecker 1 sibling, 1 reply; 9+ messages in thread From: David Ahern @ 2011-06-23 20:02 UTC (permalink / raw) To: Arun Sharma; +Cc: linux-perf-users, linux-kernel On 06/23/2011 01:39 PM, Arun Sharma wrote: > On 6/23/11 7:22 AM, David Ahern wrote: > >> I have not seen issues like this using newer perf userspace against >> older kernels. For example, my laptop was running Fedora 14 (2.6.35) and >> now Fedora 15 (2.6.38.8) and I typically use latest perf builds (e.g., >> testing patches). > > I narrowed it down to PERF_SAMPLE_RAW: > > perf record -ag -- sleep 1 > > is fine, but: > > perf record -agR -- sleep 1 > > fails for me most of the time. The reason I needed to use the -R in the > first place is that "perf script" fails on older kernels with: > > Samples do not contain timestamps. > > With the newer perf, I don't get errors, but the timestamp field is > invalid. So I need to use the -R flag to get valid timestamps + > stacktraces out of "perf script". That should have been fixed. And -T on record gets the timestamps. David > > -Arun ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: Using a new perf tool against an older kernel 2011-06-23 20:02 ` David Ahern @ 2011-06-24 0:11 ` Frederic Weisbecker 2011-06-24 5:14 ` David Ahern 0 siblings, 1 reply; 9+ messages in thread From: Frederic Weisbecker @ 2011-06-24 0:11 UTC (permalink / raw) To: David Ahern; +Cc: Arun Sharma, linux-perf-users, linux-kernel On Thu, Jun 23, 2011 at 02:02:15PM -0600, David Ahern wrote: > > > On 06/23/2011 01:39 PM, Arun Sharma wrote: > > On 6/23/11 7:22 AM, David Ahern wrote: > > > >> I have not seen issues like this using newer perf userspace against > >> older kernels. For example, my laptop was running Fedora 14 (2.6.35) and > >> now Fedora 15 (2.6.38.8) and I typically use latest perf builds (e.g., > >> testing patches). > > > > I narrowed it down to PERF_SAMPLE_RAW: > > > > perf record -ag -- sleep 1 > > > > is fine, but: > > > > perf record -agR -- sleep 1 > > > > fails for me most of the time. The reason I needed to use the -R in the > > first place is that "perf script" fails on older kernels with: > > > > Samples do not contain timestamps. > > > > With the newer perf, I don't get errors, but the timestamp field is > > invalid. So I need to use the -R flag to get valid timestamps + > > stacktraces out of "perf script". > > That should have been fixed. > > And -T on record gets the timestamps. > > David Right, it would be nice to suggest that from perf script when timestamps are not recorded. ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: Using a new perf tool against an older kernel 2011-06-24 0:11 ` Frederic Weisbecker @ 2011-06-24 5:14 ` David Ahern 0 siblings, 0 replies; 9+ messages in thread From: David Ahern @ 2011-06-24 5:14 UTC (permalink / raw) To: Frederic Weisbecker; +Cc: Arun Sharma, linux-perf-users, linux-kernel On 06/23/2011 06:11 PM, Frederic Weisbecker wrote: > On Thu, Jun 23, 2011 at 02:02:15PM -0600, David Ahern wrote: >> >> >> On 06/23/2011 01:39 PM, Arun Sharma wrote: >>> On 6/23/11 7:22 AM, David Ahern wrote: >>> >>>> I have not seen issues like this using newer perf userspace against >>>> older kernels. For example, my laptop was running Fedora 14 (2.6.35) and >>>> now Fedora 15 (2.6.38.8) and I typically use latest perf builds (e.g., >>>> testing patches). >>> >>> I narrowed it down to PERF_SAMPLE_RAW: >>> >>> perf record -ag -- sleep 1 >>> >>> is fine, but: >>> >>> perf record -agR -- sleep 1 >>> >>> fails for me most of the time. The reason I needed to use the -R in the >>> first place is that "perf script" fails on older kernels with: >>> >>> Samples do not contain timestamps. >>> >>> With the newer perf, I don't get errors, but the timestamp field is >>> invalid. So I need to use the -R flag to get valid timestamps + >>> stacktraces out of "perf script". >> >> That should have been fixed. >> >> And -T on record gets the timestamps. >> >> David > > Right, it would be nice to suggest that from perf script when timestamps > are not recorded. Timestamps are enabled by default, but that output option is removed if the samples do not have timestamps. That message is generated if the user requests timestamps (-f time) in the perf-script output and the samples do not have timestamps, but Arun did not request that. Arun's mileage with perf-3.0 definitely varies from what I've seen. David ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: Using a new perf tool against an older kernel 2011-06-23 19:39 ` Arun Sharma 2011-06-23 20:02 ` David Ahern @ 2011-06-24 0:11 ` Frederic Weisbecker 2011-06-24 0:43 ` Arun Sharma 1 sibling, 1 reply; 9+ messages in thread From: Frederic Weisbecker @ 2011-06-24 0:11 UTC (permalink / raw) To: Arun Sharma; +Cc: David Ahern, linux-perf-users, linux-kernel On Thu, Jun 23, 2011 at 12:39:54PM -0700, Arun Sharma wrote: > On 6/23/11 7:22 AM, David Ahern wrote: > > >I have not seen issues like this using newer perf userspace against > >older kernels. For example, my laptop was running Fedora 14 (2.6.35) and > >now Fedora 15 (2.6.38.8) and I typically use latest perf builds (e.g., > >testing patches). > > I narrowed it down to PERF_SAMPLE_RAW: > > perf record -ag -- sleep 1 > > is fine, but: > > perf record -agR -- sleep 1 > > fails for me most of the time. The reason I needed to use the -R in > the first place is that "perf script" fails on older kernels with: > > Samples do not contain timestamps. > > With the newer perf, I don't get errors, but the timestamp field is > invalid. So I need to use the -R flag to get valid timestamps + > stacktraces out of "perf script". I'm confused, you first said it happens with new tools on older kernel. Can you tell us which combination of kernel/user raises the error? and which error. Thanks! ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: Using a new perf tool against an older kernel 2011-06-24 0:11 ` Frederic Weisbecker @ 2011-06-24 0:43 ` Arun Sharma 2011-06-24 5:07 ` David Ahern 0 siblings, 1 reply; 9+ messages in thread From: Arun Sharma @ 2011-06-24 0:43 UTC (permalink / raw) To: Frederic Weisbecker; +Cc: David Ahern, linux-perf-users, linux-kernel On 6/23/11 5:11 PM, Frederic Weisbecker wrote: > > I'm confused, you first said it happens with new tools on older kernel. > > Can you tell us which combination of kernel/user raises the error? and > which error. > perf-3.0 + 2.6.38 perf record -agR gives: Can't find id 9's machine Found 1 unknown events! perf-3.0 + 2.6.32 perf record -ag perf script samples have bogus timestamps perf-3.0 + 2.6.32 perf record -agR perf script error: Samples do not contain timestamps perf-3.0 + any kernel perf record -agT perf script is happy everywhere. Thanks! -Arun ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: Using a new perf tool against an older kernel 2011-06-24 0:43 ` Arun Sharma @ 2011-06-24 5:07 ` David Ahern 0 siblings, 0 replies; 9+ messages in thread From: David Ahern @ 2011-06-24 5:07 UTC (permalink / raw) To: Arun Sharma; +Cc: Frederic Weisbecker, linux-perf-users, linux-kernel On 06/23/2011 06:43 PM, Arun Sharma wrote: > On 6/23/11 5:11 PM, Frederic Weisbecker wrote: > >> >> I'm confused, you first said it happens with new tools on older kernel. >> >> Can you tell us which combination of kernel/user raises the error? and >> which error. >> I tried to repeat your examples below using perf-core tip (3.0-rc3, af07ce3e77). > > perf-3.0 + 2.6.38 > > perf record -agR gives: > > Can't find id 9's machine > Found 1 unknown events! This does not reproduce on 2.6.38.8-32.fc15.x86_64 running bare metal or 2.6.38 in a VM. If you are running bare metal try -e cpu-clock and see if it is cycles related. I doubt it, but that should be the only difference in the tests. That said, I did see that message while working on the gettimeofday patches a few weeks ago. I believe the root cause was the early mixture of cycles and tracepoints -- something I fixed before sending out the patches (sample_type hack as well as how the time-of-day trace events were added to the event list). > > perf-3.0 + 2.6.32 > > perf record -ag > perf script > > samples have bogus timestamps I'm surprised by this one. I tried with an older Fedora 12 VM (2.6.32.21 kernel). I don't get timestamps with perf-script and perf-report -D shows -1 which is what I expect given that SAMPLE_TIME attribute is not set by default. One difference here is that VM's default to cpu-clock for the event. > > perf-3.0 + 2.6.32 > > perf record -agR > perf script > > error: Samples do not contain timestamps And this one did not work out so well with the F-12 VM. It caused a kernel panic - top line on console is perf_swevent_hrtimer (lines scrolled off the top). > > perf-3.0 + any kernel > > perf record -agT > perf script > > is happy everywhere. Thanks! Which is what I would expect. Glad to see my version of reality apply elsewhere. ;-) David > > -Arun > ^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2011-06-24 5:14 UTC | newest] Thread overview: 9+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2011-06-22 21:39 Using a new perf tool against an older kernel Arun Sharma 2011-06-23 14:22 ` David Ahern 2011-06-23 19:39 ` Arun Sharma 2011-06-23 20:02 ` David Ahern 2011-06-24 0:11 ` Frederic Weisbecker 2011-06-24 5:14 ` David Ahern 2011-06-24 0:11 ` Frederic Weisbecker 2011-06-24 0:43 ` Arun Sharma 2011-06-24 5:07 ` David Ahern
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).