Description of problem: Tools such as systemtap may hook into the profile_tick notifier mechanism to get told of low-level timer interrupts. However, on xen dom0/domU kernels (both fc6 and rhel5), this notifier function is reportedly never called. In contrast, the timer_interrupt dom0/domU function is getting called as expected. See systemtap bug #3279 for a little more background. http://sourceware.org/bugzilla/show_bug.cgi?id=3279 We're not sure whether this is intentional. If so, we'd appreciate guidance as to what dom0/domU hooks we should use for hooking into the timer interrupt.
Is this on i686 or x86-64, or both?
According the systemtap developer, broken on x86-64, works on i386.
Interesting, since the timer_interrupt() code is shared between the two. This narrows it down quite a bit. Thank you.
From my reading of the code, it really does look like neither x86-64 or i686 would work with the current code. Frank, could you confirm that the i386 test really was done with a Xen kernel? I'm asking this because x86-64 and i686 share the same timer_interrupt() function, which really only calls other functions that are shared between both architectures. From timer_interrupt() down, there are no differences between x86-64 and i686...
Martin, could you check/confirm that i686-xen does work with timer.profile?
Created attachment 141411 [details] fixes profiling by calling profile_tick from timer interrupt
(In reply to comment #5) > Martin, could you check/confirm that i686-xen does work with timer.profile? No. There was probably some confusion in my initial bug report when I said timer.profile worked on my 686 machine but not on my x86_64 systems. That turned out to be because only the x86_64 systems were running xen kernels. I can confirm that Rik's patch fixes things for me on x86_64.
QE ack for RHEL5.
Last week my patch was also merged upstream.
in 2.6.18-1.2767.el5
A package has been built which should help the problem described in this bug report. This report is therefore being closed with a resolution of CURRENTRELEASE. You may reopen this bug report if the solution does not work for you.