Bug 214886

Summary: profile_tick not getting called
Product: Red Hat Enterprise Linux 5 Reporter: Frank Ch. Eigler <fche>
Component: kernel-xenAssignee: Rik van Riel <riel>
Status: CLOSED CURRENTRELEASE QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: 5.0CC: hunt, xen-maint
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: beta2 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2006-12-23 02:24:37 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 215985    
Attachments:
Description Flags
fixes profiling by calling profile_tick from timer interrupt none

Description Frank Ch. Eigler 2006-11-09 21:15:15 UTC
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.

Comment 1 Rik van Riel 2006-11-09 21:22:32 UTC
Is this on i686 or x86-64, or both?

Comment 2 Frank Ch. Eigler 2006-11-09 21:27:08 UTC
According the systemtap developer, broken on x86-64, works on i386.

Comment 3 Rik van Riel 2006-11-09 22:02:54 UTC
Interesting, since the timer_interrupt() code is shared between the two.

This narrows it down quite a bit.  Thank you.

Comment 4 Rik van Riel 2006-11-15 22:28:58 UTC
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...

Comment 5 Frank Ch. Eigler 2006-11-15 22:57:59 UTC
Martin, could you check/confirm that i686-xen does work with timer.profile?

Comment 6 Rik van Riel 2006-11-16 20:35:12 UTC
Created attachment 141411 [details]
fixes profiling by calling profile_tick from timer interrupt

Comment 7 Martin Hunt 2006-11-20 14:16:05 UTC
(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.

Comment 8 Jay Turner 2006-11-20 19:57:34 UTC
QE ack for RHEL5.

Comment 9 Rik van Riel 2006-11-20 20:00:47 UTC
Last week my patch was also merged upstream.

Comment 11 Don Zickus 2006-11-29 22:26:51 UTC
in 2.6.18-1.2767.el5

Comment 12 RHEL Program Management 2006-12-23 02:24:37 UTC
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.