[lkml]   [2002]   [Oct]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: Patch: linux-2.5.42/kernel/sys.c - warm reboot should not suspend devices
    Patrick Mochel <> writes:

    > > Mostly I want a comment from Patrick Mochel why he made the change,
    > > and roughly what he was thinking. So I have a good idea about which
    > > code I need to dig into and send patches to fix. If he makes a good
    > > case for an independent shutdown, method I am fine with that, just
    > > every driver in the kernel needs to change, and that is a heck of a
    > > lot of work before 2.6. Otherwise we can go back to calling remove.
    > The main problem is locking and refcounting on the device objects.
    > ->remove() is removing objects from the device tree and freeing them. This
    > is not good when we expect the list to remain intact while we iterate over
    > it.
    > This is fine when a device is unplugged or a module is removed, but
    > completely unnecessary during a power transition. Nothing is going away;
    > we're just turning everything off. And, we don't we don't have to mess
    > with getting the list traversal right, since we can assume it's intact.

    O.k. That is very good reason for making the change.

    > In short, it's about the data structures, not the hardware. It is going to
    > require modification to drivers, but the changes should be small and make
    > the code cleaner. It can also happen gradually. There is going to be a lot
    > of cleanup of drivers in the coming months as more things are converted to
    > exploit the driver model, anyway.
    > In general, I agree with the patch that you sent later in the thread. I'll
    > apply it, at least for now.

    My big concern is with getting the shutdown path setup in a manner
    that works, and gets testing. When booting linux from linux with
    sys_kexec a lot of my problems come back to some device driver not
    getting shutdown.

    Question, is there a method from the class shutdown code that we
    can/should call, during reboot. I just have this memory that for
    network interfaces simply downing the interface tends to put it in
    a quiescent state. And I am wondering if that might be a general
    thing we can take advantage of. Though if the class remove methods
    modify the data structures I guess that is out.

    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to
    More majordomo info at
    Please read the FAQ at

     \ /
      Last update: 2005-03-22 13:30    [W:0.026 / U:2.824 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site