Re: [PATCH 0/23] reboot-fixes

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

 



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 [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]
  Powered by Linux