lkml.org 
[lkml]   [2011]   [Mar]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    SubjectRe: Commit 7eaceaccab5f40 causing boot hang.
    On 2011-03-30 08:06, Rob Landley wrote:
    > On 03/29/2011 10:51 AM, Pete Clements wrote:
    >> Quoting Jens Axboe
    >> >
    >> > On 2011-03-29 16:13, Rob Landley wrote:
    >> > > On 03/29/2011 08:59 AM, Jens Axboe wrote:
    >> > >> On 2011-03-29 10:52, Rob Landley wrote:
    >> > >>> I'm booting all this under kvm or qemu, by the way:
    >> > >>>
    >> > >>> qemu-system-x86_64 -m 1024 -kernel arch/x86/boot/bzImage \
    >> > >>> -hda ~/sid.ext3 -append "root=/dev/hda rw"
    >> > >>>
    >> > >>> Sometimes with init=/bin/bash in that last quoted bit. The root
    >> > >>> filesystem's debian sid but that's probably not relevant because it
    >> > >>> worked fine with .38.
    >> > >>
    >> > >> Does this help?
    >> > >>
    >> > >> diff --git a/drivers/ide/ide-io.c b/drivers/ide/ide-io.c
    >> > >> index 0e406d73..ca27d30 100644
    >> > >> --- a/drivers/ide/ide-io.c
    >> > >> +++ b/drivers/ide/ide-io.c
    >> > >> @@ -570,8 +570,7 @@ void ide_requeue_and_plug(ide_drive_t *drive, struct request *rq)
    >> > >> spin_unlock_irqrestore(q->queue_lock, flags);
    >> > >>
    >> > >> /* Use 3ms as that was the old plug delay */
    >> > >> - if (rq)
    >> > >> - blk_delay_queue(q, 3);
    >> > >> + blk_delay_queue(q, 3);
    >> > >> }
    >> > >>
    >> > >> static int drive_is_ready(ide_drive_t *drive)
    >> > >>
    >> > >
    >> > > Nope, still hung the same way.
    >> >
    >> > Funky. I'll try and reproduce this tonight.
    >> >
    >> > --
    >> > Jens Axboe
    >> >
    >>
    >> I have had a similiar problem (reported earlier) unable to boot.
    >> With git15-18 hung with IDE drives (hda), git19-21 moved the hang down to
    >> the IDE CDROM (hdc). Applied the above patch and now booted into git21 without
    >> any hang and all appears ok.
    >
    > It may have made it better for me, it's hard to tell.
    >
    > I did a fresh pull, re-applied the patch, and tried again with
    > init=/bin/sh and it booted to the shell prompt... which then hung when I
    > did "ls -l /".
    >
    > If I let it boot normally, init announces itself, gives a spurious
    > warning about a fstab field (which it's been doing for a while, my fault
    > but harmless), then hangs.
    >
    >> This is i386, UP.
    >
    > I'm doing x86-64 SMP.

    I think we have the same issue the other location. How about this, then:

    diff --git a/drivers/ide/ide-io.c b/drivers/ide/ide-io.c
    index 0e406d73..4978ec3 100644
    --- a/drivers/ide/ide-io.c
    +++ b/drivers/ide/ide-io.c
    @@ -549,12 +549,11 @@ plug_device:
    spin_unlock_irq(&hwif->lock);
    ide_unlock_host(host);
    plug_device_2:
    + blk_delay_queue(q, queue_run_ms);
    spin_lock_irq(q->queue_lock);

    - if (rq) {
    + if (rq)
    blk_requeue_request(q, rq);
    - blk_delay_queue(q, queue_run_ms);
    - }
    }

    void ide_requeue_and_plug(ide_drive_t *drive, struct request *rq)
    @@ -570,8 +569,7 @@ void ide_requeue_and_plug(ide_drive_t *drive, struct request *rq)
    spin_unlock_irqrestore(q->queue_lock, flags);

    /* Use 3ms as that was the old plug delay */
    - if (rq)
    - blk_delay_queue(q, 3);
    + blk_delay_queue(q, 3);
    }

    static int drive_is_ready(ide_drive_t *drive)
    --
    Jens Axboe



    \
     
     \ /
      Last update: 2011-03-30 13:41    [W:3.721 / U:0.004 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site