Bug 154100

Summary: assertion failrue in semaphore.h caused by perfmon
Product: Red Hat Enterprise Linux 4 Reporter: Stephane Eranian <stephane.eranian>
Component: kernelAssignee: Geoff Gustafson <grgustaf>
Status: CLOSED ERRATA QA Contact: Brian Brock <bbrock>
Severity: medium Docs Contact:
Priority: medium    
Version: 4.0CC: davej, jbaron, poelstra, riel, tao
Target Milestone: ---   
Target Release: ---   
Hardware: ia64   
OS: Linux   
Whiteboard:
Fixed In Version: RHSA-2005-514 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2005-10-05 12:57:09 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: 156322    
Attachments:
Description Flags
fixes all outstanding problem with perfmon for RHEL4 none

Description Stephane Eranian 2005-04-07 09:53:14 UTC
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux ia64; en-US; rv:1.7.5) Gecko/20050105 Debian/1.7.5-1

Description of problem:
A perfmon bug was recently uncovered in the mainline kernel. The
function pfm_handle_work() may call down_interruptible() with interrupts
disabled. The kernel is compiled to detect this condition and that triggers
an assertion failure under certain circumstances. The bug can be triggered
by using the HP Caliper tool.

The fix for this problem has been sent to the IA-64 kernel maintainer.
A fix should be posted for RHEL4 once I get access to your latest sources.


Version-Release number of selected component (if applicable):
kernel-2.6.9-5.EL

How reproducible:
Sometimes

Steps to Reproduce:
1. run HP Caliper
2.
3.
  

Actual Results:  kernel: Debug: sleeping function called from invalid context at include/asm/semaphore.h:79
kernel: in_atomic():0[expected: 0], irqs_disabled():1
kernel: Call Trace:
kernel:  [<a000000100016a40>] show_stack+0x80/0xa0
kernel:  [<a000000100016a90>] dump_stack+0x30/0x60
kernel:  [<a000000100063650>] __might_sleep+0x190/0x260
kernel:  [<a00000010002a7c0>] pfm_handle_work+0x1e0/0xf00
kernel:  [<a000000100017400>] do_notify_resume_user+0x80/0x120
kernel:  [<a00000010000f920>] notify_resume_user+0x40/0x60
kernel:  [<a00000010000f850>] skip_rbs_switch+0xb0/0xc0


Additional info:

Comment 2 Stephane Eranian 2005-04-22 14:51:48 UTC
Created attachment 113559 [details]
fixes all outstanding problem with perfmon for RHEL4

This patches fixes ALL know issues with perfmon on RHEL4.
this includes the assertion failures of this report.
Moreover, the patch also fixes the issues reported in bug#136474

The patch adds one new feature:

There are times when new hardware is brought to the market with PMU features
that are very different from the previous generation.  When this happens,
certain early-access customers still want the value proposition of a well
tested
linux kernel from a trusted company, but they also want the ability, when
needed, to monitor and improve the performance of their applications using that

trusted kernel on the new processor. For those customers it may not be possible

to wait for the next round of official distro releases to get updated PMU
support in perfmon. In the future perfmon will allow plug-in modules to
update PMU descriptions that will facilitate this kind of operations. In the
meantime, this patch provides a way to plug in an alternate, basic, and GPL'ed
PMU subsystem to help those customers with their monitoring needs or for
specialty work. It can also be used in case of serious unexpected bugs in
perfmon.

Practically, this patch provides a way to register an alternate subsystem with
its own interrupt handler. Mutual exclusion between the two subsystems is 
guaranteed,hence no conflict can arise from both subsystem being present.

Comment 13 Red Hat Bugzilla 2005-10-05 12:57:09 UTC
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on the solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.

http://rhn.redhat.com/errata/RHSA-2005-514.html