Re: [RFC] sleepy linux
Hi! > > > > a quick feature request: could you please make the wake-on-RTC > > > capability generic and add a CONFIG_DEBUG_SUSPEND_ON_RAM=y config > > > option (disabled by default) that does a short 1-second > > > suspend-to-RAM sequence upon bootup? That way we could test s2ram > > > automatically (which is a MUCH needed feature for automated > > > regression testing and automatic bisection). In addition, some sort > > > of 'suspend for N seconds' /sys or /dev/rtc capability would be nice > > > as well. > > > > Hmm, are you sure it is good idea to do this from kernel? I guess this > > is better done from script... > > i have this low-prio effort to make all self-checks automatically > available via 'make randconfig' as well, for all features that have no > natural exposure during normal bootup. So far we've got rcutorture, > kprobes-check, locking/lockdep-self-test and a handful of others. > External scripts tend to go out of sync and LTP takes way too much time > to finish. Well, I can give you a three liner, and if it stops working, I'll treat is as a regression, because userland ABI changed...? Or you can get about 10 lines of C, no problem, but I do not think that should be merged to Linus. > > > btw., how far are you from having a working prototype? > > > > SCSI/SATA issues stop me just now, but even if I get that to work, it > > will be extremely disgusting hack... and it is unclear how to do it > > nicely :-(. > > as long as the sleep periods are within say 10-20 seconds, and our s2ram > cycle is fast and optimal enough, we could do this with networking > enabled too, without dropping/stalling TCP connections left and > right. I do not think TCP would survive "10 seconds sleep, 1 second up". But... > (Perhaps if we could notify routers that they should batch packets for N > seconds and we could turn off PHY during that time, it would be even > nicer - is there any such router extension in existence?) ...yes, we should probably play with the routers. > but if it's nothing else but a s2ram debug/stress utility, that alone > would be great too :-) I expect to stress s2ram way too much ;-). Pavel -- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html -- 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/
Re: [RFC] sleepy linux
* Pavel Machek <[EMAIL PROTECTED]> wrote: > > a quick feature request: could you please make the wake-on-RTC > > capability generic and add a CONFIG_DEBUG_SUSPEND_ON_RAM=y config > > option (disabled by default) that does a short 1-second > > suspend-to-RAM sequence upon bootup? That way we could test s2ram > > automatically (which is a MUCH needed feature for automated > > regression testing and automatic bisection). In addition, some sort > > of 'suspend for N seconds' /sys or /dev/rtc capability would be nice > > as well. > > Hmm, are you sure it is good idea to do this from kernel? I guess this > is better done from script... i have this low-prio effort to make all self-checks automatically available via 'make randconfig' as well, for all features that have no natural exposure during normal bootup. So far we've got rcutorture, kprobes-check, locking/lockdep-self-test and a handful of others. External scripts tend to go out of sync and LTP takes way too much time to finish. > > btw., how far are you from having a working prototype? > > SCSI/SATA issues stop me just now, but even if I get that to work, it > will be extremely disgusting hack... and it is unclear how to do it > nicely :-(. as long as the sleep periods are within say 10-20 seconds, and our s2ram cycle is fast and optimal enough, we could do this with networking enabled too, without dropping/stalling TCP connections left and right. (Perhaps if we could notify routers that they should batch packets for N seconds and we could turn off PHY during that time, it would be even nicer - is there any such router extension in existence?) but if it's nothing else but a s2ram debug/stress utility, that alone would be great too :-) Ingo -- 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/
Re: [RFC] sleepy linux
* Pavel Machek [EMAIL PROTECTED] wrote: a quick feature request: could you please make the wake-on-RTC capability generic and add a CONFIG_DEBUG_SUSPEND_ON_RAM=y config option (disabled by default) that does a short 1-second suspend-to-RAM sequence upon bootup? That way we could test s2ram automatically (which is a MUCH needed feature for automated regression testing and automatic bisection). In addition, some sort of 'suspend for N seconds' /sys or /dev/rtc capability would be nice as well. Hmm, are you sure it is good idea to do this from kernel? I guess this is better done from script... i have this low-prio effort to make all self-checks automatically available via 'make randconfig' as well, for all features that have no natural exposure during normal bootup. So far we've got rcutorture, kprobes-check, locking/lockdep-self-test and a handful of others. External scripts tend to go out of sync and LTP takes way too much time to finish. btw., how far are you from having a working prototype? SCSI/SATA issues stop me just now, but even if I get that to work, it will be extremely disgusting hack... and it is unclear how to do it nicely :-(. as long as the sleep periods are within say 10-20 seconds, and our s2ram cycle is fast and optimal enough, we could do this with networking enabled too, without dropping/stalling TCP connections left and right. (Perhaps if we could notify routers that they should batch packets for N seconds and we could turn off PHY during that time, it would be even nicer - is there any such router extension in existence?) but if it's nothing else but a s2ram debug/stress utility, that alone would be great too :-) Ingo -- 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/
Re: [RFC] sleepy linux
Hi! a quick feature request: could you please make the wake-on-RTC capability generic and add a CONFIG_DEBUG_SUSPEND_ON_RAM=y config option (disabled by default) that does a short 1-second suspend-to-RAM sequence upon bootup? That way we could test s2ram automatically (which is a MUCH needed feature for automated regression testing and automatic bisection). In addition, some sort of 'suspend for N seconds' /sys or /dev/rtc capability would be nice as well. Hmm, are you sure it is good idea to do this from kernel? I guess this is better done from script... i have this low-prio effort to make all self-checks automatically available via 'make randconfig' as well, for all features that have no natural exposure during normal bootup. So far we've got rcutorture, kprobes-check, locking/lockdep-self-test and a handful of others. External scripts tend to go out of sync and LTP takes way too much time to finish. Well, I can give you a three liner, and if it stops working, I'll treat is as a regression, because userland ABI changed...? Or you can get about 10 lines of C, no problem, but I do not think that should be merged to Linus. btw., how far are you from having a working prototype? SCSI/SATA issues stop me just now, but even if I get that to work, it will be extremely disgusting hack... and it is unclear how to do it nicely :-(. as long as the sleep periods are within say 10-20 seconds, and our s2ram cycle is fast and optimal enough, we could do this with networking enabled too, without dropping/stalling TCP connections left and right. I do not think TCP would survive 10 seconds sleep, 1 second up. But... (Perhaps if we could notify routers that they should batch packets for N seconds and we could turn off PHY during that time, it would be even nicer - is there any such router extension in existence?) ...yes, we should probably play with the routers. but if it's nothing else but a s2ram debug/stress utility, that alone would be great too :-) I expect to stress s2ram way too much ;-). Pavel -- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html -- 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/
Re: [RFC] sleepy linux
On Sun 2007-12-30 12:15:52, Ingo Molnar wrote: > > * Pavel Machek <[EMAIL PROTECTED]> wrote: > > > Todays hardware is mostly capable of doing better: with correctly set > > up wakeups, machine can sleep and successfully pretend it is not > > sleeping -- by waking up whenever something interesting happens. Of > > course, it is easier on machines not connected to the network, and on > > notebook computers. > > > > Requirements: > > > > 0) Working suspend-to-RAM, with kernel being able to bring video back. > > > > 1) RTC clock that can wake up system > > very nice approach! It might require smarter hardware to be really > efficient, but the generic ability for Linux to utilize S3 automatically > would _quickly_ drive the creation of smarter hardware i'm sure - so i'd > propose to include this even if it wastes power in some cases. > > a quick feature request: could you please make the wake-on-RTC > capability generic and add a CONFIG_DEBUG_SUSPEND_ON_RAM=y config option > (disabled by default) that does a short 1-second suspend-to-RAM sequence > upon bootup? That way we could test s2ram automatically (which is a MUCH > needed feature for automated regression testing and automatic > bisection). In addition, some sort of 'suspend for N seconds' /sys or > /dev/rtc capability would be nice as well. Hmm, are you sure it is good idea to do this from kernel? I guess this is better done from script... > btw., how far are you from having a working prototype? SCSI/SATA issues stop me just now, but even if I get that to work, it will be extremely disgusting hack... and it is unclear how to do it nicely :-(. Pavel -- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html -- 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/
Re: [RFC] sleepy linux
On Sun 2007-12-30 12:15:52, Ingo Molnar wrote: * Pavel Machek [EMAIL PROTECTED] wrote: Todays hardware is mostly capable of doing better: with correctly set up wakeups, machine can sleep and successfully pretend it is not sleeping -- by waking up whenever something interesting happens. Of course, it is easier on machines not connected to the network, and on notebook computers. Requirements: 0) Working suspend-to-RAM, with kernel being able to bring video back. 1) RTC clock that can wake up system very nice approach! It might require smarter hardware to be really efficient, but the generic ability for Linux to utilize S3 automatically would _quickly_ drive the creation of smarter hardware i'm sure - so i'd propose to include this even if it wastes power in some cases. a quick feature request: could you please make the wake-on-RTC capability generic and add a CONFIG_DEBUG_SUSPEND_ON_RAM=y config option (disabled by default) that does a short 1-second suspend-to-RAM sequence upon bootup? That way we could test s2ram automatically (which is a MUCH needed feature for automated regression testing and automatic bisection). In addition, some sort of 'suspend for N seconds' /sys or /dev/rtc capability would be nice as well. Hmm, are you sure it is good idea to do this from kernel? I guess this is better done from script... btw., how far are you from having a working prototype? SCSI/SATA issues stop me just now, but even if I get that to work, it will be extremely disgusting hack... and it is unclear how to do it nicely :-(. Pavel -- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html -- 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/
Re: [RFC] sleepy linux
Am Montag, 31. Dezember 2007 15:44:47 schrieb Pavel Machek: > On Sun 2007-12-30 17:39:42, Oliver Neukum wrote: > > But what's wrong with calling suspend() the conventional way once you've > > decided to go into sleepy mode? > > I'm not sure if it can be done in non-racy way. It is different from > "conventional" suspend(): you can still have userland requests after > this suspend(), and you should abort auto-sleep if you get one. (As > opposed to blocking in system suspend case). But we are always racing against hardware in these cases. Strictly speaking you cannot have pure userland request. If no task is runnable and no timer about to fire any activity will require kernel activity unless you are doing direct hardware access from user space which in the generic case precludes suspension anyway. Regards Oliver -- 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/
Re: [RFC] sleepy linux
Am Montag, 31. Dezember 2007 15:44:47 schrieb Pavel Machek: On Sun 2007-12-30 17:39:42, Oliver Neukum wrote: But what's wrong with calling suspend() the conventional way once you've decided to go into sleepy mode? I'm not sure if it can be done in non-racy way. It is different from conventional suspend(): you can still have userland requests after this suspend(), and you should abort auto-sleep if you get one. (As opposed to blocking in system suspend case). But we are always racing against hardware in these cases. Strictly speaking you cannot have pure userland request. If no task is runnable and no timer about to fire any activity will require kernel activity unless you are doing direct hardware access from user space which in the generic case precludes suspension anyway. Regards Oliver -- 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/
Re: [RFC] sleepy linux
On Sun 2007-12-30 17:39:42, Oliver Neukum wrote: > Am Sonntag, 30. Dezember 2007 00:51:34 schrieb Pavel Machek: > > Hi! > > > > > > ... I also don't need to call any suspend() routines, because all the > > > > drivers are already suspended, right? > > > > > > Well, you have a number of devices which cannot do runtime pm. > > > They can do suspend/resume with the whole system. For them these > > > operations mean saving/restoring state. > > > So for these devices implementing autosuspend makes no sense. > > > They would sensibly do only idle/busy detection. > > > > Yep... Let's call busy/idle detection and save/restore state > > "autosuspend" for those devices. It does not save any power, but it > > can be viewed as "kind-of-suspend". (No, I do not have this kind of > > details ready). > > Well, you probably would have to walk through all devices and check > all devices are either suspended or can be suspended. That would mean > struct device has to be extended to show common attributes. > > But what's wrong with calling suspend() the conventional way once you've > decided to go into sleepy mode? I'm not sure if it can be done in non-racy way. It is different from "conventional" suspend(): you can still have userland requests after this suspend(), and you should abort auto-sleep if you get one. (As opposed to blocking in system suspend case). Pavel -- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html -- 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/
Re: [RFC] sleepy linux
On Sun 2007-12-30 17:39:42, Oliver Neukum wrote: Am Sonntag, 30. Dezember 2007 00:51:34 schrieb Pavel Machek: Hi! ... I also don't need to call any suspend() routines, because all the drivers are already suspended, right? Well, you have a number of devices which cannot do runtime pm. They can do suspend/resume with the whole system. For them these operations mean saving/restoring state. So for these devices implementing autosuspend makes no sense. They would sensibly do only idle/busy detection. Yep... Let's call busy/idle detection and save/restore state autosuspend for those devices. It does not save any power, but it can be viewed as kind-of-suspend. (No, I do not have this kind of details ready). Well, you probably would have to walk through all devices and check all devices are either suspended or can be suspended. That would mean struct device has to be extended to show common attributes. But what's wrong with calling suspend() the conventional way once you've decided to go into sleepy mode? I'm not sure if it can be done in non-racy way. It is different from conventional suspend(): you can still have userland requests after this suspend(), and you should abort auto-sleep if you get one. (As opposed to blocking in system suspend case). Pavel -- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html -- 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/
Re: [RFC] sleepy linux
Am Sonntag, 30. Dezember 2007 00:51:34 schrieb Pavel Machek: > Hi! > > > > ... I also don't need to call any suspend() routines, because all the > > > drivers are already suspended, right? > > > > Well, you have a number of devices which cannot do runtime pm. > > They can do suspend/resume with the whole system. For them these > > operations mean saving/restoring state. > > So for these devices implementing autosuspend makes no sense. > > They would sensibly do only idle/busy detection. > > Yep... Let's call busy/idle detection and save/restore state > "autosuspend" for those devices. It does not save any power, but it > can be viewed as "kind-of-suspend". (No, I do not have this kind of > details ready). Well, you probably would have to walk through all devices and check all devices are either suspended or can be suspended. That would mean struct device has to be extended to show common attributes. But what's wrong with calling suspend() the conventional way once you've decided to go into sleepy mode? [..] > > We lack a notion of telling devices that they are opened only for > > detecting wakeups. Currently a driver has to assume that an opened > > device has to be fully functional. > > Yes, we'll need to add some userland interfaces. No, this will not be > easy. This mainly means input devices. Regards Oliver -- 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/
Re: [RFC] sleepy linux
* Pavel Machek <[EMAIL PROTECTED]> wrote: > Todays hardware is mostly capable of doing better: with correctly set > up wakeups, machine can sleep and successfully pretend it is not > sleeping -- by waking up whenever something interesting happens. Of > course, it is easier on machines not connected to the network, and on > notebook computers. > > Requirements: > > 0) Working suspend-to-RAM, with kernel being able to bring video back. > > 1) RTC clock that can wake up system very nice approach! It might require smarter hardware to be really efficient, but the generic ability for Linux to utilize S3 automatically would _quickly_ drive the creation of smarter hardware i'm sure - so i'd propose to include this even if it wastes power in some cases. a quick feature request: could you please make the wake-on-RTC capability generic and add a CONFIG_DEBUG_SUSPEND_ON_RAM=y config option (disabled by default) that does a short 1-second suspend-to-RAM sequence upon bootup? That way we could test s2ram automatically (which is a MUCH needed feature for automated regression testing and automatic bisection). In addition, some sort of 'suspend for N seconds' /sys or /dev/rtc capability would be nice as well. btw., how far are you from having a working prototype? Ingo -- 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/
Re: [RFC] sleepy linux
* Pavel Machek [EMAIL PROTECTED] wrote: Todays hardware is mostly capable of doing better: with correctly set up wakeups, machine can sleep and successfully pretend it is not sleeping -- by waking up whenever something interesting happens. Of course, it is easier on machines not connected to the network, and on notebook computers. Requirements: 0) Working suspend-to-RAM, with kernel being able to bring video back. 1) RTC clock that can wake up system very nice approach! It might require smarter hardware to be really efficient, but the generic ability for Linux to utilize S3 automatically would _quickly_ drive the creation of smarter hardware i'm sure - so i'd propose to include this even if it wastes power in some cases. a quick feature request: could you please make the wake-on-RTC capability generic and add a CONFIG_DEBUG_SUSPEND_ON_RAM=y config option (disabled by default) that does a short 1-second suspend-to-RAM sequence upon bootup? That way we could test s2ram automatically (which is a MUCH needed feature for automated regression testing and automatic bisection). In addition, some sort of 'suspend for N seconds' /sys or /dev/rtc capability would be nice as well. btw., how far are you from having a working prototype? Ingo -- 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/
Re: [RFC] sleepy linux
Am Sonntag, 30. Dezember 2007 00:51:34 schrieb Pavel Machek: Hi! ... I also don't need to call any suspend() routines, because all the drivers are already suspended, right? Well, you have a number of devices which cannot do runtime pm. They can do suspend/resume with the whole system. For them these operations mean saving/restoring state. So for these devices implementing autosuspend makes no sense. They would sensibly do only idle/busy detection. Yep... Let's call busy/idle detection and save/restore state autosuspend for those devices. It does not save any power, but it can be viewed as kind-of-suspend. (No, I do not have this kind of details ready). Well, you probably would have to walk through all devices and check all devices are either suspended or can be suspended. That would mean struct device has to be extended to show common attributes. But what's wrong with calling suspend() the conventional way once you've decided to go into sleepy mode? [..] We lack a notion of telling devices that they are opened only for detecting wakeups. Currently a driver has to assume that an opened device has to be fully functional. Yes, we'll need to add some userland interfaces. No, this will not be easy. This mainly means input devices. Regards Oliver -- 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/
Re: [RFC] sleepy linux
Hi! > > ... I also don't need to call any suspend() routines, because all the > > drivers are already suspended, right? > > Well, you have a number of devices which cannot do runtime pm. > They can do suspend/resume with the whole system. For them these > operations mean saving/restoring state. > So for these devices implementing autosuspend makes no sense. > They would sensibly do only idle/busy detection. Yep... Let's call busy/idle detection and save/restore state "autosuspend" for those devices. It does not save any power, but it can be viewed as "kind-of-suspend". (No, I do not have this kind of details ready). > > And yes, I want device activity to prevent s2ram. If user is burning > > CD, machine should not sleep. If user is actively typing, machine > > In these cases the devices involved should report themselves busy, > shouldn't they? Yes. > > should not sleep. My vision is: screen saver tells kernel keyboard > > need not be very responsive, at that point keyboard driver can > > autosuspend the keyboard, and if that was the last device, whole > > system sleeps. > > We lack a notion of telling devices that they are opened only for > detecting wakeups. Currently a driver has to assume that an opened > device has to be fully functional. Yes, we'll need to add some userland interfaces. No, this will not be easy. Pavel -- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html -- 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/
Re: [RFC] sleepy linux
Hi! > > > > Is there an easy way to tell if all the devices are runtime suspended? > > > > > > Do you really want to know whether they are suspended or whether they > > > could be suspended? > > > > If they are suspended. > > > > My plan is: let the drivers autosuspend on their own. If I see all of > > them are autosuspended, then it looks like great time to put whole > > system into s2ram... > > Your calculation of cost/benefit will be wrong. A driver will have timeouts > based on the cost of a suspend/resume cycle of that device only. > You'd have to calculate of keeping the whole system awake against that. Hmm, right. Driver probably should have chance to autosuspend but tell the core that whole system probably should not sleep... Hmm Pavel -- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html -- 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/
Re: [RFC] sleepy linux
Hi! > >NOHZ + C4 + turn off screen + turn off disk + turn off SATA is still > >~8W on thinkpad x60. > > > >S3 is ~1W. > > > >That's quite significant difference. > > > >(But yes, connected-to-ethernet is not most important use scenario.) > > Pavel > > Still... if we could get the desktops of the world down anywhere close > to that range when not used, it would be a huge win. Plus, it is probably mandatory if you want EnergyStar logo ... Pavel -- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html -- 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/
Re: [RFC] sleepy linux
Hi! NOHZ + C4 + turn off screen + turn off disk + turn off SATA is still ~8W on thinkpad x60. S3 is ~1W. That's quite significant difference. (But yes, connected-to-ethernet is not most important use scenario.) Pavel Still... if we could get the desktops of the world down anywhere close to that range when not used, it would be a huge win. Plus, it is probably mandatory if you want EnergyStar logo ... Pavel -- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html -- 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/
Re: [RFC] sleepy linux
Hi! Is there an easy way to tell if all the devices are runtime suspended? Do you really want to know whether they are suspended or whether they could be suspended? If they are suspended. My plan is: let the drivers autosuspend on their own. If I see all of them are autosuspended, then it looks like great time to put whole system into s2ram... Your calculation of cost/benefit will be wrong. A driver will have timeouts based on the cost of a suspend/resume cycle of that device only. You'd have to calculate of keeping the whole system awake against that. Hmm, right. Driver probably should have chance to autosuspend but tell the core that whole system probably should not sleep... Hmm Pavel -- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html -- 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/
Re: [RFC] sleepy linux
Hi! ... I also don't need to call any suspend() routines, because all the drivers are already suspended, right? Well, you have a number of devices which cannot do runtime pm. They can do suspend/resume with the whole system. For them these operations mean saving/restoring state. So for these devices implementing autosuspend makes no sense. They would sensibly do only idle/busy detection. Yep... Let's call busy/idle detection and save/restore state autosuspend for those devices. It does not save any power, but it can be viewed as kind-of-suspend. (No, I do not have this kind of details ready). And yes, I want device activity to prevent s2ram. If user is burning CD, machine should not sleep. If user is actively typing, machine In these cases the devices involved should report themselves busy, shouldn't they? Yes. should not sleep. My vision is: screen saver tells kernel keyboard need not be very responsive, at that point keyboard driver can autosuspend the keyboard, and if that was the last device, whole system sleeps. We lack a notion of telling devices that they are opened only for detecting wakeups. Currently a driver has to assume that an opened device has to be fully functional. Yes, we'll need to add some userland interfaces. No, this will not be easy. Pavel -- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html -- 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/
Re: [RFC] sleepy linux
Am Mittwoch, 26. Dezember 2007 21:32:58 schrieb Pavel Machek: > ... I also don't need to call any suspend() routines, because all the > drivers are already suspended, right? Well, you have a number of devices which cannot do runtime pm. They can do suspend/resume with the whole system. For them these operations mean saving/restoring state. So for these devices implementing autosuspend makes no sense. They would sensibly do only idle/busy detection. > And yes, I want device activity to prevent s2ram. If user is burning > CD, machine should not sleep. If user is actively typing, machine In these cases the devices involved should report themselves busy, shouldn't they? > should not sleep. My vision is: screen saver tells kernel keyboard > need not be very responsive, at that point keyboard driver can > autosuspend the keyboard, and if that was the last device, whole > system sleeps. We lack a notion of telling devices that they are opened only for detecting wakeups. Currently a driver has to assume that an opened device has to be fully functional. Regards Oliver -- 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/
Re: [RFC] sleepy linux
Am Mittwoch, 26. Dezember 2007 21:32:58 schrieb Pavel Machek: ... I also don't need to call any suspend() routines, because all the drivers are already suspended, right? Well, you have a number of devices which cannot do runtime pm. They can do suspend/resume with the whole system. For them these operations mean saving/restoring state. So for these devices implementing autosuspend makes no sense. They would sensibly do only idle/busy detection. And yes, I want device activity to prevent s2ram. If user is burning CD, machine should not sleep. If user is actively typing, machine In these cases the devices involved should report themselves busy, shouldn't they? should not sleep. My vision is: screen saver tells kernel keyboard need not be very responsive, at that point keyboard driver can autosuspend the keyboard, and if that was the last device, whole system sleeps. We lack a notion of telling devices that they are opened only for detecting wakeups. Currently a driver has to assume that an opened device has to be fully functional. Regards Oliver -- 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/
Re: [RFC] sleepy linux
Am Mittwoch, 26. Dezember 2007 21:32:58 schrieb Pavel Machek: > On Wed 2007-12-26 21:23:37, Oliver Neukum wrote: > > Am Mittwoch, 26. Dezember 2007 21:17:22 schrieb Pavel Machek: > > > Is there an easy way to tell if all the devices are runtime suspended? > > > > Do you really want to know whether they are suspended or whether they > > could be suspended? > > If they are suspended. > > My plan is: let the drivers autosuspend on their own. If I see all of > them are autosuspended, then it looks like great time to put whole > system into s2ram... Your calculation of cost/benefit will be wrong. A driver will have timeouts based on the cost of a suspend/resume cycle of that device only. You'd have to calculate of keeping the whole system awake against that. Regards Oliver -- 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/
Re: [RFC] sleepy linux
Pavel Machek wrote: On Wed 2007-12-26 12:43:56, H. Peter Anvin wrote: Oliver Neukum wrote: Am Mittwoch, 26. Dezember 2007 19:56:59 schrieb H. Peter Anvin: 3) Network card that is either down or can wake up system on any packet (and not loose too many packets) This is the big crux I see. You're going to constantly wake up the machine due to broadcast packets, and spend a lot of power just going in and out of S3. How many machines care a lot about saving power while they are connected to an ethernet? Wlan might be more of a problem. A lot of them should. An inordinate amount of machines sit there burning power for no reason. You can argue that S3 isn't needed -- that nohz + C3/C4 + turning off the screen would be enough, and that might be + legit. NOHZ + C4 + turn off screen + turn off disk + turn off SATA is still ~8W on thinkpad x60. S3 is ~1W. That's quite significant difference. (But yes, connected-to-ethernet is not most important use scenario.) Pavel Still... if we could get the desktops of the world down anywhere close to that range when not used, it would be a huge win. -hpa -- 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/
Re: [RFC] sleepy linux
On Wed 2007-12-26 12:43:56, H. Peter Anvin wrote: > Oliver Neukum wrote: >> Am Mittwoch, 26. Dezember 2007 19:56:59 schrieb H. Peter Anvin: 3) Network card that is either down or can wake up system on any packet (and not loose too many packets) >>> This is the big crux I see. You're going to constantly wake up the >>> machine due to broadcast packets, and spend a lot of power just going in >>> and out of S3. >> How many machines care a lot about saving power while they are connected >> to an ethernet? Wlan might be more of a problem. > > A lot of them should. An inordinate amount of machines sit there burning > power for no reason. You can argue that S3 isn't needed -- that nohz + > C3/C4 + turning off the screen would be enough, and that might be > + legit. NOHZ + C4 + turn off screen + turn off disk + turn off SATA is still ~8W on thinkpad x60. S3 is ~1W. That's quite significant difference. (But yes, connected-to-ethernet is not most important use scenario.) Pavel -- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html -- 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/
Re: [RFC] sleepy linux
Oliver Neukum wrote: Am Mittwoch, 26. Dezember 2007 19:56:59 schrieb H. Peter Anvin: 3) Network card that is either down or can wake up system on any packet (and not loose too many packets) This is the big crux I see. You're going to constantly wake up the machine due to broadcast packets, and spend a lot of power just going in and out of S3. How many machines care a lot about saving power while they are connected to an ethernet? Wlan might be more of a problem. A lot of them should. An inordinate amount of machines sit there burning power for no reason. You can argue that S3 isn't needed -- that nohz + C3/C4 + turning off the screen would be enough, and that might be legit. Heck, I'm constantly frustrated by every distro upgrade breaking power management for my monitor. -hpa -- 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/
Re: [RFC] sleepy linux
On Wed 2007-12-26 21:23:37, Oliver Neukum wrote: > Am Mittwoch, 26. Dezember 2007 21:17:22 schrieb Pavel Machek: > > On Wed 2007-12-26 18:28:04, Oliver Neukum wrote: > > > Am Mittwoch, 26. Dezember 2007 00:07:31 schrieb Pavel Machek: > > > > Heute 00:07:31 > > > > > > > > This is RFC. It does not even work for me... it sleeps but it will not > > > > wake up, because SATA wakeup code is missing. Code attached for > > > > illustration. > > > > > > > > I wonder if this is the right approach? What is right interface to the > > > > drivers? > > > > > > IMHO you are making to many special cases. The system can be "sleepy" > > > if all devices can be runtime suspended and all CPUs are idle. > > > > Is there an easy way to tell if all the devices are runtime suspended? > > Do you really want to know whether they are suspended or whether they > could be suspended? If they are suspended. My plan is: let the drivers autosuspend on their own. If I see all of them are autosuspended, then it looks like great time to put whole system into s2ram... > > I guess I need to know from atomic context :-(. > > Urgh. suspend() must be able to sleep and can fail. That's ok. ... I also don't need to call any suspend() routines, because all the drivers are already suspended, right? And yes, I want device activity to prevent s2ram. If user is burning CD, machine should not sleep. If user is actively typing, machine should not sleep. My vision is: screen saver tells kernel keyboard need not be very responsive, at that point keyboard driver can autosuspend the keyboard, and if that was the last device, whole system sleeps. Pavel -- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html -- 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/
Re: [RFC] sleepy linux
Am Mittwoch, 26. Dezember 2007 21:17:22 schrieb Pavel Machek: > On Wed 2007-12-26 18:28:04, Oliver Neukum wrote: > > Am Mittwoch, 26. Dezember 2007 00:07:31 schrieb Pavel Machek: > > > Heute 00:07:31 > > > > > > This is RFC. It does not even work for me... it sleeps but it will not > > > wake up, because SATA wakeup code is missing. Code attached for > > > illustration. > > > > > > I wonder if this is the right approach? What is right interface to the > > > drivers? > > > > IMHO you are making to many special cases. The system can be "sleepy" > > if all devices can be runtime suspended and all CPUs are idle. > > Is there an easy way to tell if all the devices are runtime suspended? Do you really want to know whether they are suspended or whether they could be suspended? > I guess I need to know from atomic context :-(. Urgh. suspend() must be able to sleep and can fail. Regards Oliver -- 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/
Re: [RFC] sleepy linux
On Wed 2007-12-26 18:28:04, Oliver Neukum wrote: > Am Mittwoch, 26. Dezember 2007 00:07:31 schrieb Pavel Machek: > > Heute 00:07:31 > > > > This is RFC. It does not even work for me... it sleeps but it will not > > wake up, because SATA wakeup code is missing. Code attached for > > illustration. > > > > I wonder if this is the right approach? What is right interface to the > > drivers? > > IMHO you are making to many special cases. The system can be "sleepy" > if all devices can be runtime suspended and all CPUs are idle. Is there an easy way to tell if all the devices are runtime suspended? I guess I need to know from atomic context :-(. Pavel -- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html -- 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/
Re: [RFC] sleepy linux
Am Mittwoch, 26. Dezember 2007 19:56:59 schrieb H. Peter Anvin: > > 3) Network card that is either down > > or can wake up system on any packet (and not loose too many packets) > > > > This is the big crux I see. You're going to constantly wake up the > machine due to broadcast packets, and spend a lot of power just going in > and out of S3. How many machines care a lot about saving power while they are connected to an ethernet? Wlan might be more of a problem. Regards Oliver -- 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/
Re: [RFC] sleepy linux
Pavel Machek wrote: Yep... for the first version, I'll be very happy if it autosleeps when I'm traveling by bus or something. Working with ethernet plugged in is quite a distant goal. (But I guess some cleverness could be done on the router or something. Automagically converting "interesting" packets into WoL enabled ones, or...?) Pavel You've just eliminated 90%+ of the available Ethernet infrastructure. However, there may be Ethernet controllers which can do something smart with incoming packets, and perhaps more importantly, we can always write a spec and try to push it to Intel, Broadcom, Realtek and Nvidia. -hpa -- 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/
Re: [RFC] sleepy linux
On Wed 2007-12-26 18:28:04, Oliver Neukum wrote: > Am Mittwoch, 26. Dezember 2007 00:07:31 schrieb Pavel Machek: > > Heute 00:07:31 > > > > This is RFC. It does not even work for me... it sleeps but it will not > > wake up, because SATA wakeup code is missing. Code attached for > > illustration. > > > > I wonder if this is the right approach? What is right interface to the > > drivers? > > IMHO you are making to many special cases. The system can be "sleepy" > if all devices can be runtime suspended and all CPUs are idle. Pretty much, except that "timer device" needs to be runtime suspended, too... We probably should not sleep if wakeup is scheduled 1 second in future. Pavel -- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html -- 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/
Re: [RFC] sleepy linux
On Wed 2007-12-26 10:56:59, H. Peter Anvin wrote: > Pavel Machek wrote: >> This is RFC. It does not even work for me... it sleeps but it will not >> wake up, because SATA wakeup code is missing. Code attached for >> illustration. >> I wonder if this is the right approach? What is right interface to the >> drivers? >> 3) Network card that is either down >>or can wake up system on any packet (and not loose too many packets) > > This is the big crux I see. You're going to constantly wake up the machine > due to broadcast packets, and spend a lot of power just going in and out of > S3. Yep... for the first version, I'll be very happy if it autosleeps when I'm traveling by bus or something. Working with ethernet plugged in is quite a distant goal. (But I guess some cleverness could be done on the router or something. Automagically converting "interesting" packets into WoL enabled ones, or...?) Pavel -- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html -- 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/
Re: [RFC] sleepy linux
Pavel Machek wrote: This is RFC. It does not even work for me... it sleeps but it will not wake up, because SATA wakeup code is missing. Code attached for illustration. I wonder if this is the right approach? What is right interface to the drivers? 3) Network card that is either down or can wake up system on any packet (and not loose too many packets) This is the big crux I see. You're going to constantly wake up the machine due to broadcast packets, and spend a lot of power just going in and out of S3. -hpa -- 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/
Re: [RFC] sleepy linux
Am Mittwoch, 26. Dezember 2007 00:07:31 schrieb Pavel Machek: > Heute 00:07:31 > > This is RFC. It does not even work for me... it sleeps but it will not > wake up, because SATA wakeup code is missing. Code attached for illustration. > > I wonder if this is the right approach? What is right interface to the > drivers? IMHO you are making to many special cases. The system can be "sleepy" if all devices can be runtime suspended and all CPUs are idle. Regards Oliver -- 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/
Re: [RFC] sleepy linux
Am Mittwoch, 26. Dezember 2007 00:07:31 schrieb Pavel Machek: Heute 00:07:31 This is RFC. It does not even work for me... it sleeps but it will not wake up, because SATA wakeup code is missing. Code attached for illustration. I wonder if this is the right approach? What is right interface to the drivers? IMHO you are making to many special cases. The system can be sleepy if all devices can be runtime suspended and all CPUs are idle. Regards Oliver -- 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/
Re: [RFC] sleepy linux
Pavel Machek wrote: This is RFC. It does not even work for me... it sleeps but it will not wake up, because SATA wakeup code is missing. Code attached for illustration. I wonder if this is the right approach? What is right interface to the drivers? 3) Network card that is either down or can wake up system on any packet (and not loose too many packets) This is the big crux I see. You're going to constantly wake up the machine due to broadcast packets, and spend a lot of power just going in and out of S3. -hpa -- 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/
Re: [RFC] sleepy linux
On Wed 2007-12-26 10:56:59, H. Peter Anvin wrote: Pavel Machek wrote: This is RFC. It does not even work for me... it sleeps but it will not wake up, because SATA wakeup code is missing. Code attached for illustration. I wonder if this is the right approach? What is right interface to the drivers? 3) Network card that is either down or can wake up system on any packet (and not loose too many packets) This is the big crux I see. You're going to constantly wake up the machine due to broadcast packets, and spend a lot of power just going in and out of S3. Yep... for the first version, I'll be very happy if it autosleeps when I'm traveling by bus or something. Working with ethernet plugged in is quite a distant goal. (But I guess some cleverness could be done on the router or something. Automagically converting interesting packets into WoL enabled ones, or...?) Pavel -- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html -- 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/
Re: [RFC] sleepy linux
On Wed 2007-12-26 18:28:04, Oliver Neukum wrote: Am Mittwoch, 26. Dezember 2007 00:07:31 schrieb Pavel Machek: Heute 00:07:31 This is RFC. It does not even work for me... it sleeps but it will not wake up, because SATA wakeup code is missing. Code attached for illustration. I wonder if this is the right approach? What is right interface to the drivers? IMHO you are making to many special cases. The system can be sleepy if all devices can be runtime suspended and all CPUs are idle. Pretty much, except that timer device needs to be runtime suspended, too... We probably should not sleep if wakeup is scheduled 1 second in future. Pavel -- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html -- 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/
Re: [RFC] sleepy linux
Pavel Machek wrote: Yep... for the first version, I'll be very happy if it autosleeps when I'm traveling by bus or something. Working with ethernet plugged in is quite a distant goal. (But I guess some cleverness could be done on the router or something. Automagically converting interesting packets into WoL enabled ones, or...?) Pavel You've just eliminated 90%+ of the available Ethernet infrastructure. However, there may be Ethernet controllers which can do something smart with incoming packets, and perhaps more importantly, we can always write a spec and try to push it to Intel, Broadcom, Realtek and Nvidia. -hpa -- 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/
Re: [RFC] sleepy linux
Am Mittwoch, 26. Dezember 2007 19:56:59 schrieb H. Peter Anvin: 3) Network card that is either down or can wake up system on any packet (and not loose too many packets) This is the big crux I see. You're going to constantly wake up the machine due to broadcast packets, and spend a lot of power just going in and out of S3. How many machines care a lot about saving power while they are connected to an ethernet? Wlan might be more of a problem. Regards Oliver -- 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/
Re: [RFC] sleepy linux
On Wed 2007-12-26 18:28:04, Oliver Neukum wrote: Am Mittwoch, 26. Dezember 2007 00:07:31 schrieb Pavel Machek: Heute 00:07:31 This is RFC. It does not even work for me... it sleeps but it will not wake up, because SATA wakeup code is missing. Code attached for illustration. I wonder if this is the right approach? What is right interface to the drivers? IMHO you are making to many special cases. The system can be sleepy if all devices can be runtime suspended and all CPUs are idle. Is there an easy way to tell if all the devices are runtime suspended? I guess I need to know from atomic context :-(. Pavel -- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html -- 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/
Re: [RFC] sleepy linux
Am Mittwoch, 26. Dezember 2007 21:17:22 schrieb Pavel Machek: On Wed 2007-12-26 18:28:04, Oliver Neukum wrote: Am Mittwoch, 26. Dezember 2007 00:07:31 schrieb Pavel Machek: Heute 00:07:31 This is RFC. It does not even work for me... it sleeps but it will not wake up, because SATA wakeup code is missing. Code attached for illustration. I wonder if this is the right approach? What is right interface to the drivers? IMHO you are making to many special cases. The system can be sleepy if all devices can be runtime suspended and all CPUs are idle. Is there an easy way to tell if all the devices are runtime suspended? Do you really want to know whether they are suspended or whether they could be suspended? I guess I need to know from atomic context :-(. Urgh. suspend() must be able to sleep and can fail. Regards Oliver -- 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/
Re: [RFC] sleepy linux
Oliver Neukum wrote: Am Mittwoch, 26. Dezember 2007 19:56:59 schrieb H. Peter Anvin: 3) Network card that is either down or can wake up system on any packet (and not loose too many packets) This is the big crux I see. You're going to constantly wake up the machine due to broadcast packets, and spend a lot of power just going in and out of S3. How many machines care a lot about saving power while they are connected to an ethernet? Wlan might be more of a problem. A lot of them should. An inordinate amount of machines sit there burning power for no reason. You can argue that S3 isn't needed -- that nohz + C3/C4 + turning off the screen would be enough, and that might be legit. Heck, I'm constantly frustrated by every distro upgrade breaking power management for my monitor. -hpa -- 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/
Re: [RFC] sleepy linux
On Wed 2007-12-26 12:43:56, H. Peter Anvin wrote: Oliver Neukum wrote: Am Mittwoch, 26. Dezember 2007 19:56:59 schrieb H. Peter Anvin: 3) Network card that is either down or can wake up system on any packet (and not loose too many packets) This is the big crux I see. You're going to constantly wake up the machine due to broadcast packets, and spend a lot of power just going in and out of S3. How many machines care a lot about saving power while they are connected to an ethernet? Wlan might be more of a problem. A lot of them should. An inordinate amount of machines sit there burning power for no reason. You can argue that S3 isn't needed -- that nohz + C3/C4 + turning off the screen would be enough, and that might be + legit. NOHZ + C4 + turn off screen + turn off disk + turn off SATA is still ~8W on thinkpad x60. S3 is ~1W. That's quite significant difference. (But yes, connected-to-ethernet is not most important use scenario.) Pavel -- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html -- 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/
Re: [RFC] sleepy linux
Pavel Machek wrote: On Wed 2007-12-26 12:43:56, H. Peter Anvin wrote: Oliver Neukum wrote: Am Mittwoch, 26. Dezember 2007 19:56:59 schrieb H. Peter Anvin: 3) Network card that is either down or can wake up system on any packet (and not loose too many packets) This is the big crux I see. You're going to constantly wake up the machine due to broadcast packets, and spend a lot of power just going in and out of S3. How many machines care a lot about saving power while they are connected to an ethernet? Wlan might be more of a problem. A lot of them should. An inordinate amount of machines sit there burning power for no reason. You can argue that S3 isn't needed -- that nohz + C3/C4 + turning off the screen would be enough, and that might be + legit. NOHZ + C4 + turn off screen + turn off disk + turn off SATA is still ~8W on thinkpad x60. S3 is ~1W. That's quite significant difference. (But yes, connected-to-ethernet is not most important use scenario.) Pavel Still... if we could get the desktops of the world down anywhere close to that range when not used, it would be a huge win. -hpa -- 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/
Re: [RFC] sleepy linux
On Wed 2007-12-26 21:23:37, Oliver Neukum wrote: Am Mittwoch, 26. Dezember 2007 21:17:22 schrieb Pavel Machek: On Wed 2007-12-26 18:28:04, Oliver Neukum wrote: Am Mittwoch, 26. Dezember 2007 00:07:31 schrieb Pavel Machek: Heute 00:07:31 This is RFC. It does not even work for me... it sleeps but it will not wake up, because SATA wakeup code is missing. Code attached for illustration. I wonder if this is the right approach? What is right interface to the drivers? IMHO you are making to many special cases. The system can be sleepy if all devices can be runtime suspended and all CPUs are idle. Is there an easy way to tell if all the devices are runtime suspended? Do you really want to know whether they are suspended or whether they could be suspended? If they are suspended. My plan is: let the drivers autosuspend on their own. If I see all of them are autosuspended, then it looks like great time to put whole system into s2ram... I guess I need to know from atomic context :-(. Urgh. suspend() must be able to sleep and can fail. That's ok. ... I also don't need to call any suspend() routines, because all the drivers are already suspended, right? And yes, I want device activity to prevent s2ram. If user is burning CD, machine should not sleep. If user is actively typing, machine should not sleep. My vision is: screen saver tells kernel keyboard need not be very responsive, at that point keyboard driver can autosuspend the keyboard, and if that was the last device, whole system sleeps. Pavel -- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html -- 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/
Re: [RFC] sleepy linux
Am Mittwoch, 26. Dezember 2007 21:32:58 schrieb Pavel Machek: On Wed 2007-12-26 21:23:37, Oliver Neukum wrote: Am Mittwoch, 26. Dezember 2007 21:17:22 schrieb Pavel Machek: Is there an easy way to tell if all the devices are runtime suspended? Do you really want to know whether they are suspended or whether they could be suspended? If they are suspended. My plan is: let the drivers autosuspend on their own. If I see all of them are autosuspended, then it looks like great time to put whole system into s2ram... Your calculation of cost/benefit will be wrong. A driver will have timeouts based on the cost of a suspend/resume cycle of that device only. You'd have to calculate of keeping the whole system awake against that. Regards Oliver -- 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/