[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <f96157c40607250750n5aa08856jbe792b0e66fb814b@mail.gmail.com>
Date: Tue, 25 Jul 2006 14:50:15 +0000
From: "gmu 2k6" <gmu2006@...il.com>
To: "Jens Axboe" <axboe@...e.de>
Cc: linux-kernel@...r.kernel.org
Subject: Re: Re: i686 hang on boot in userspace
On 7/25/06, Jens Axboe <axboe@...e.de> wrote:
> On Tue, Jul 25 2006, gmu 2k6 wrote:
> > On 7/25/06, Jens Axboe <axboe@...e.de> wrote:
> > >On Tue, Jul 25 2006, gmu 2k6 wrote:
> > >> ok, let's nail it to 2.6.17-git5 instead as it survived git status
> > >> compared to -git6
> > >> which seems to have correctly booted by accident the lastime. timing
> > >issues
> > >> I guess.
> > >
> > >I will try and reproduce it here now. It seems to be in between commit
> > >271f18f102c789f59644bb6c53a69da1df72b2f4 and commit
> > >dd67d051529387f6e44d22d1d5540ef281965fdd where the first one could also
> > >be bad.
> > >
> > >I'm assuming that acf421755593f7d7bd9352d57eda796c6eb4fa43 should be
> > >good, so you can try and verify that
> > >dd67d051529387f6e44d22d1d5540ef281965fdd is bad and bisect between the
> > >two. It's only about 6 commits, so should be quick enough to do.
> >
> > 1) no luck with remote serial console
> > 2) netconsole does not work although connecting to the listener with netcat
> > and
> > sending strings works
> > I'm gonna try via physical rs232 9pins and see how that works.
> > afterwards I will try to bisect the revisions you mentioned.
> >
> > btw, the issue seems to come and go as I managed to boot log into a .17-git6
> > kernel or is timing-dependent.
>
> I can reproduce it, you don't have to spend more time on bisecting or
> testing. This should fix it:
>
> diff --git a/drivers/block/cciss.c b/drivers/block/cciss.c
> index 1c4df22..1eac041 100644
> --- a/drivers/block/cciss.c
> +++ b/drivers/block/cciss.c
> @@ -1238,6 +1238,7 @@ static void cciss_softirq_done(struct re
> CommandList_struct *cmd = rq->completion_data;
> ctlr_info_t *h = hba[cmd->ctlr];
> unsigned long flags;
> + request_queue_t *q;
> u64bit temp64;
> int i, ddir;
>
> @@ -1260,10 +1261,13 @@ #ifdef CCISS_DEBUG
> printk("Done with %p\n", rq);
> #endif /* CCISS_DEBUG */
>
> + q = rq->q;
> +
> add_disk_randomness(rq->rq_disk);
> spin_lock_irqsave(&h->lock, flags);
> end_that_request_last(rq, rq->errors);
> cmd_free(h, cmd, 1);
> + blk_start_queue(q);
> spin_unlock_irqrestore(&h->lock, flags);
> }
>
>
> A better fix would rework the start_queue logic entirely in the driver,
> but the above should get you running for now. I'll take a further look.
this four-liner seems to fix it:
- I can boot
- log in
- git-status works
- svn up works
as my last mail said the 2nd patch with the new function introduced
did hang cciss
on driver init before printing any drive info.
btw, I assume you have systems with SmartArray 6* at your disposal to
test, right?
I mean SuSE should have some as a distro vendor.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists