Re: 2.6.30-rc8 Oops whilst booting

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, 2009-06-08 at 16:51 +0000, James Bottomley wrote:
> On Mon, 2009-06-08 at 09:21 -0700, Linus Torvalds wrote:
> > 
> > On Mon, 8 Jun 2009, Chris Clayton wrote:
> > > 
> > > OK. I reversed that change and built and installed the kernel. It has
> > > withstood 100 reboots without a panic. Additionally, I pulled the
> > > latest changes (that will be rc8-git5, I think) from kernel.org,
> > > reversed the change to that kernel and built and installed it. That
> > > too withstood 100 reboots without a panic.
> > > 
> > > Let me know if there's anything else I can do to help fix this.
> > 
> > That's already pretty convincing.
> > 
> > James, Arjan? The original oops message is here (a jpg screen capture, 
> > unable to open initial console):
> > 
> > 	http://lkml.org/lkml/2009/6/6/142
> > 
> > and it's this bug entry:
> > 
> > 	Bug-Entry       : http://bugzilla.kernel.org/show_bug.cgi?id=13474
> > 	Subject         : Oops whilst booting
> > 	Submitter       : Chris Clayton <chris2553@xxxxxxxxxxxxxx>
> > 	Date            : 2009-06-06 18:59 (2 days old)
> > 	References      : http://marc.info/?l=linux-kernel&m=124431487924254&w=4
> > 
> > and now bisected down to 
> > 
> > >> commit d5a877e8dd409d8c702986d06485c374b705d340
> > >> Author: James Bottomley <James.Bottomley@xxxxxxxxxxxxxxxxxxxxx>
> > >> Date:   Sun May 24 13:03:43 2009 -0700
> > >>
> > >>     async: make sure independent async domains can't accidentally entangle
> > 
> > please advice. Otherwise I'll have to revert.
> 
> The root cause is a reordering of the devices caused by the async code.
> 
> I suspect it's a bug in async that was obscured by the old behaviour of
> async_synchronize.. (or it's a bug in the new code) ... how long do I
> have to find out which?
> 

But reverting your patch Or if we return like this also fix chris
problem :

diff --git a/kernel/async.c b/kernel/async.c
index 94dd36f..3b492cb 100644
--- a/kernel/async.c
+++ b/kernel/async.c
@@ -96,15 +96,13 @@ static async_cookie_t  __lowest_in_progress(struct list_head *running)
 	if (!list_empty(running)) {
 		entry = list_first_entry(running,
 			struct async_entry, list);
-		ret = entry->cookie;
+		return entry->cookie;
 	}
 
 	if (!list_empty(&async_pending)) {
 		list_for_each_entry(entry, &async_pending, list)
-			if (entry->running == running) {
-				ret = entry->cookie;
-				break;
-			}
+			if (entry->running == running)
+				return entry->cookie;
 	}
 
 	return ret;


--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]
  Powered by Linux