Bug 58662 - Fix for aacraid interrupt flood
Summary: Fix for aacraid interrupt flood
Status: CLOSED RAWHIDE
Alias: None
Product: Red Hat Linux
Classification: Retired
Component: kernel (Show other bugs)
(Show other bugs)
Version: 7.2
Hardware: i386 Linux
medium
high
Target Milestone: ---
Assignee: Arjan van de Ven
QA Contact: Brian Brock
URL:
Whiteboard:
Keywords:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2002-01-22 15:24 UTC by Matt Domsch
Modified: 2007-04-18 16:39 UTC (History)
0 users

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2002-01-22 15:25:04 UTC
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

Description Matt Domsch 2002-01-22 15:24:59 UTC
Description of Problem:
From: Chris Pascoe [mailto:c.pascoe@itee.uq.edu.au]
Sent: Tuesday, January 22, 2002 6:58 AM

Hi Alan,

The problem with millions of interrupts being generated by the aacraid
driver on some hardware is caused by reversed arguments to time_before in
rx_sync_cmd.  This causes every synchronous command sent to the controller
to miss acknowledgement, including our one to start the adapter.  When
interrupts are subsequently re-enabled, we get a continuous stream of
interrupts as the command has actually completed, and there is no path in
aac_rx_intr to acknowledge the command.

The following patch corrects the described problem.

--- linux/drivers/scsi/aacraid/rx.c.orig	Tue Jan 22 22:40:58 2002
+++ linux/drivers/scsi/aacraid/rx.c	Tue Jan 22 22:41:19 2002
@@ -199,7 +199,7 @@
 	/*
 	 *	Wait up to 30 seconds
 	 */
-	while (time_before(start+30*HZ, jiffies))
+	while (time_before(jiffies, start+30*HZ))
 	{
 		udelay(5);	/* Delay 5 microseconds to let Mon960 get info. 
*/
 		/*

Regards,
Chris



Version-Release number of selected component (if applicable):
~ 2.4.9-20 kernel, stock kernel 2.4.17 through 2.4.18-pre4 at least.

How Reproducible:
Always on systems with i960 embedded RAID and aacraid driver.

Steps to Reproduce:
1. start aacraid driver
2. 
3. 

Actual Results:
150,000 interrupts/second or more, even with no disk activity.

Expected Results:
a very very small number of interrupts per second

Additional Information:

Comment 1 Arjan van de Ven 2002-02-11 18:02:48 UTC
added to the relevant trees a while ago.


Note You need to log in before you can comment on or make changes to this bug.