lkml.org 
[lkml]   [2005]   [Jul]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH 0/23] reboot-fixes
    Hi!

    > >> > My fairly ordinary x86 test box gets stuck during reboot on the
    > >> > wait_for_completion() in ide_do_drive_cmd():
    > >>
    > >> Hmm. The only thing I can think of is someone started adding calls
    > >> to device_suspend() before device_shutdown(). Not understanding
    > >> where it was a good idea I made certain the calls were in there
    > >> consistently.
    > >>
    > >> Andrew can you remove the call to device_suspend from kernel_restart
    > >> and see if this still happens?
    > >
    > > yup, that fixes it.
    > >
    > > --- devel/kernel/sys.c~a 2005-07-27 10:36:06.000000000 -0700
    > > +++ devel-akpm/kernel/sys.c 2005-07-27 10:36:26.000000000 -0700
    > > @@ -371,7 +371,6 @@ void kernel_restart(char *cmd)
    > > {
    > > notifier_call_chain(&reboot_notifier_list, SYS_RESTART, cmd);
    > > system_state = SYSTEM_RESTART;
    > > - device_suspend(PMSG_FREEZE);
    > > device_shutdown();
    > > if (!cmd) {
    > > printk(KERN_EMERG "Restarting system.\n");
    > > _
    > >
    > >
    > > Presumably it unfixes Pavel's patch?
    >
    > Good question. I'm not certain if Pavel intended to add
    > device_suspend(PMSG_FREEZE) to the reboot path. It was
    > there in only one instance. Pavel comments talk only about
    > the suspend path.

    Yes, I think we should do device_suspend(PMSG_FREEZE) in reboot path.

    > My gut feel is the device_suspend calls are the right direction
    > as it allows us to remove code from the drivers and possible
    > kill device_shutdown completely.
    >
    > But this close to 2.6.13 I'm not certain what the correct solution
    > is. With this we have had issues with both ide and the e1000.
    > But those are among the few drivers that do anything in either
    > device_shutdown() or the reboot_notifier.
    ..
    > Looking at it more closely the code is confusing because
    > FREEZE and SUSPEND are actually the same message, and in
    > addition to what shutdown does they place the device in

    Not in -mm; I was finally able to fix that one.

    > My gut feel is that device_suspend(PMSG_FREEZE) should be
    > removed from kernel_restart until is a different message
    > from PMSG_SUSPEND at which point it should be equivalent
    > to device_shutdown and we can remove that case.

    PMSG_FREEZE != PMSG_SUSPEND in current -mm, but I'm not sure if we can
    push that to 2.6.13...
    Pavel
    --
    teflon -- maybe it is a trademark, but it should not be.
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2005-07-28 00:57    [W:0.024 / U:92.344 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site