|
|
|
|
|
|
|
|
|
|
xen-devel
Re: [Xen-devel] megaraid problem on hp netserver lh6000 - ignorebiostabl
> > XenDemoCD 2.0 works OK with one CPU, but fails with 4 and
> > 5. What's the output when it fails? What about 2 CPUs?
> >
> With 2 CPUs fail.
>
> Output when it fails:
> megaraid scanning raidchannel with error:
> scsi0: scanning virtual channel0 for scsi devices.
> scsi_wait_req: still waiting...!
> scsi_wait_req: still waiting...!
> scsi_wait_req: still waiting...!
> (... endless)
>
> Helpful info from a previous TESTx:
> BIOS AIC-7880 enabled + Netraid (megaraid) enabled
> Bootsequence 1. AIC-7880, 2. Netraid
>
> Output when it fails:
> ... "adaptec scanning" ... (this text is not copy/paste)
> scsi_wait_req: still waiting...!
> scsi_wait_req: still waiting...!
> scsi_wait_req: still waiting...!
> (... endless)
Can you try appling the following minor patch (against 1.2) and
retrying? It should essentially just terminate the endless printks
and allow us to see when (if?) it falls over later on.
cheers,
S.
-------------------------------------------------------------------------
# This is a BitKeeper generated patch for the following project:
# Project Name: Xen Virtual Machine Monitor source code
# This patch format is intended for GNU patch command version 2.5 or higher.
# This patch includes the following deltas:
# ChangeSet 1.742 -> 1.743
# xen/drivers/scsi/scsi.c 1.10 -> 1.11
#
# The following is the BitKeeper ChangeSet Log
# --------------------------------------------
# 04/03/04 smh22@xxxxxxxxxxxxxxxxxxxx 1.743
# debugging tweaks
# --------------------------------------------
#
diff -Nru a/xen/drivers/scsi/scsi.c b/xen/drivers/scsi/scsi.c
--- a/xen/drivers/scsi/scsi.c Thu Mar 4 14:57:22 2004
+++ b/xen/drivers/scsi/scsi.c Thu Mar 4 14:57:22 2004
@@ -244,8 +244,8 @@
}
#else
/* XXX SMH: just use a flag to signal completion; caller spins */
- if (*(int *)(req->waiting) != 0) {
-// printk("scsi_wait_done: flipping wait status on req %p\n", req);
+ if (*(volatile int *)(req->waiting) != 0) {
+ printk("scsi_wait_done: flipping wait status on req %p\n", req);
*(int *)(req->waiting) = 0;
}
#endif
@@ -812,6 +812,7 @@
#else
int wait = 1;
int usecs = 0;
+ int nsecs = 0;
#endif
@@ -845,8 +846,16 @@
usecs += 500;
if(usecs > 1000000) {
printk("scsi_wait_req: still waiting...!\n");
+ nsecs = nsecs++;
usecs = 0;
}
+
+ if(nsecs > 10) {
+ printk("scsi_wait_req: bored of waiting (wait is %d, &wait %p)\n",
+ wait, &wait);
+ wait = 0;
+ }
+
}
#endif
-------------------------------------------------------
This SF.Net email is sponsored by: IBM Linux Tutorials
Free Linux tutorial presented by Daniel Robbins, President and CEO of
GenToo technologies. Learn everything from fundamentals to system
administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.sourceforge.net/lists/listinfo/xen-devel
|
|
|
|
|