public inbox for linux-pm@vger.kernel.org
 help / color / mirror / Atom feed
* Question about hibernation
  2010-09-18 11:49         ` (no subject) Raj Kumar
@ 2010-10-05 21:40           ` Raj Kumar
  2010-10-05 22:43             ` Rafael J. Wysocki
  0 siblings, 1 reply; 15+ messages in thread
From: Raj Kumar @ 2010-10-05 21:40 UTC (permalink / raw)
  To: stern, linux-pm


[-- Attachment #1.1: Type: text/plain, Size: 664 bytes --]


 
Hi Alan,
 
I have question regarding the hibernation mode in linux. 
 
1) In normal suspend to ram, is freezing of tasks necessary while suspend to ram in current linux power management core?
2) In hibernation mode, is freezing of tasks done before normal suspend/resumes in order to that hibernation image is in sync?
 
My issue is because it might be possible that there is some part of device driver which is user space and another part is kernel space
then in suspend to ram and hibernation mode is freezing of all user space part is done before kernel side or it differs while
suspend to ram and hibernation mode?
 
Regards
Raj
  		 	   		  

[-- Attachment #1.2: Type: text/html, Size: 951 bytes --]

[-- Attachment #2: Type: text/plain, Size: 0 bytes --]



^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: Question about hibernation
  2010-10-05 21:40           ` Question about hibernation Raj Kumar
@ 2010-10-05 22:43             ` Rafael J. Wysocki
  0 siblings, 0 replies; 15+ messages in thread
From: Rafael J. Wysocki @ 2010-10-05 22:43 UTC (permalink / raw)
  To: linux-pm

On Tuesday, October 05, 2010, Raj Kumar wrote:
> 
> Hi Alan,
>  
> I have question regarding the hibernation mode in linux. 
>  
> 1) In normal suspend to ram, is freezing of tasks necessary while suspend to ram in current linux power management core?

Yes, it is.

> 2) In hibernation mode, is freezing of tasks done before normal suspend/resumes in order to that hibernation image is in sync?

That depends on what you mean by normal "suspend/resumes".  Generally speaking,
the hibernate code freezes tasks before preallocating image memory.

> My issue is because it might be possible that there is some part of device driver which is user space and another part is kernel space
> then in suspend to ram and hibernation mode is freezing of all user space part is done before kernel side or it differs while
> suspend to ram and hibernation mode?

User space is always frozen before suspend and hibernation.

Thanks,
Rafael

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: Question about hibernation
       [not found] <mailman.23.1286318684.6175.linux-pm@lists.linux-foundation.org>
@ 2010-10-08 10:32 ` Raj Kumar
  2010-10-08 19:31   ` Rafael J. Wysocki
  0 siblings, 1 reply; 15+ messages in thread
From: Raj Kumar @ 2010-10-08 10:32 UTC (permalink / raw)
  To: linux-pm, rjw


[-- Attachment #1.1: Type: text/plain, Size: 2516 bytes --]


Hi Rafael,
 
I am working on device driver whose some part is user space and some part is kernel space. So the user space part
of the driver provides interface to user space applications. 
1) Now, Suppose some user space is application is going on which is accessing the user space driver and user space driver
scheduled some jobs to kernel space, Now suppose system hibernation start, since it freezes all the user space processes
so suppose jobs are not completed yet which are scheduled to kernel space by user space.
 
when the kernel space device driver completes the jobs and gives the notification to user space driver, since user space
process is already frozen, so there will be problem if we suspend the driver using suspend and resume.
 
right?
 
2) The other point I was seeing, when the power management core freezes all the processes before suspending and resuming
devices, it will take some time for freezing and after that if some device driver refuses to suspend, then it will again resume
the whole processes, so latency time be more. right?
 
3) Next question is regarding the kernel space threads, when these are frozen during suspend/hibernation?
 
Thanks
Raj
 
 
 
 
 
 
> Date: Wed, 6 Oct 2010 00:43:30 +0200
> From: "Rafael J. Wysocki" <rjw@sisk.pl>
> Subject: Re: [linux-pm] Question about hibernation
> To: linux-pm@lists.linux-foundation.org
> Message-ID: <201010060043.30489.rjw@sisk.pl>
> Content-Type: Text/Plain; charset="iso-8859-2"
> 
> On Tuesday, October 05, 2010, Raj Kumar wrote:
> > 
> > Hi Alan,
> > 
> > I have question regarding the hibernation mode in linux. 
> > 
> > 1) In normal suspend to ram, is freezing of tasks necessary while suspend to ram in current linux power management core?
> 
> Yes, it is.
> 
> > 2) In hibernation mode, is freezing of tasks done before normal suspend/resumes in order to that hibernation image is in sync?
> 
> That depends on what you mean by normal "suspend/resumes". Generally speaking,
> the hibernate code freezes tasks before preallocating image memory.
> 
> > My issue is because it might be possible that there is some part of device driver which is user space and another part is kernel space
> > then in suspend to ram and hibernation mode is freezing of all user space part is done before kernel side or it differs while
> > suspend to ram and hibernation mode?
> 
> User space is always frozen before suspend and hibernation.
> 
> Thanks,
> Rafael
> 
> 
 		 	   		  

[-- Attachment #1.2: Type: text/html, Size: 3087 bytes --]

[-- Attachment #2: Type: text/plain, Size: 0 bytes --]



^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: Question about hibernation
  2010-10-08 10:32 ` Raj Kumar
@ 2010-10-08 19:31   ` Rafael J. Wysocki
  2010-10-14  8:20     ` Raj Kumar
  0 siblings, 1 reply; 15+ messages in thread
From: Rafael J. Wysocki @ 2010-10-08 19:31 UTC (permalink / raw)
  To: Raj Kumar; +Cc: linux-pm

On Friday, October 08, 2010, you wrote:
> 
> Hi Rafael,

Hi,

> I am working on device driver whose some part is user space and some part is kernel space. So the user space part
> of the driver provides interface to user space applications. 
> 1) Now, Suppose some user space is application is going on which is accessing the user space driver and user space driver
> scheduled some jobs to kernel space, Now suppose system hibernation start, since it freezes all the user space processes
> so suppose jobs are not completed yet which are scheduled to kernel space by user space.
>  
> when the kernel space device driver completes the jobs and gives the notification to user space driver, since user space
> process is already frozen, so there will be problem if we suspend the driver using suspend and resume.
>  
> right?

Yes, there's going to be a problem if the driver is not prepared to handle such situations.

Depending of the particular case, one possible approach is to use a PM notifier
as described in Documentation/power/notifiers.txt.

> 2) The other point I was seeing, when the power management core freezes all the processes before suspending and resuming
> devices, it will take some time for freezing and after that if some device driver refuses to suspend, then it will again resume
> the whole processes, so latency time be more. right?

Yes, it works as described.

> 3) Next question is regarding the kernel space threads, when these are frozen during suspend/hibernation?

They are frozen immediately after user space has been frozen, but only a
handful of kernel threads are frozen.

Thanks,
Rafael

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: Question about hibernation
  2010-10-08 19:31   ` Rafael J. Wysocki
@ 2010-10-14  8:20     ` Raj Kumar
  2010-10-14  9:51       ` Rafael J. Wysocki
  0 siblings, 1 reply; 15+ messages in thread
From: Raj Kumar @ 2010-10-14  8:20 UTC (permalink / raw)
  To: rjw; +Cc: linux-pm


[-- Attachment #1.1: Type: text/plain, Size: 2606 bytes --]


 
 
Hi Rafael,
 
1) I have question on system resume that e.g. in device driver let us say for example structure is defined global,
e.g.
 
struct dev
{
int a;
 
} dev_t;
 
 
this structure is global. Now during system suspend, suppose the value of 
 
dev_t.a =2;
 
So when the resume happens, will the dev_t.a will remain the same i.e. 2?
 
2) During the system suspend, if the system hibernates, then the message sent from power management core to all drivers is
PMSG_HIBERNATE and if system suspends to ram, then message sent from power management core to all drivers is PMSG_SUSPEND.
 
correct me if I am wrong.
 
Regards
Raj
 
 
 
 
 
 
 

 
> From: rjw@sisk.pl
> To: rajkumar278@hotmail.com
> Subject: Re: Question about hibernation
> Date: Fri, 8 Oct 2010 21:31:48 +0200
> CC: linux-pm@lists.linux-foundation.org
> 
> On Friday, October 08, 2010, you wrote:
> > 
> > Hi Rafael,
> 
> Hi,
> 
> > I am working on device driver whose some part is user space and some part is kernel space. So the user space part
> > of the driver provides interface to user space applications. 
> > 1) Now, Suppose some user space is application is going on which is accessing the user space driver and user space driver
> > scheduled some jobs to kernel space, Now suppose system hibernation start, since it freezes all the user space processes
> > so suppose jobs are not completed yet which are scheduled to kernel space by user space.
> > 
> > when the kernel space device driver completes the jobs and gives the notification to user space driver, since user space
> > process is already frozen, so there will be problem if we suspend the driver using suspend and resume.
> > 
> > right?
> 
> Yes, there's going to be a problem if the driver is not prepared to handle such situations.
> 
> Depending of the particular case, one possible approach is to use a PM notifier
> as described in Documentation/power/notifiers.txt.
> 
> > 2) The other point I was seeing, when the power management core freezes all the processes before suspending and resuming
> > devices, it will take some time for freezing and after that if some device driver refuses to suspend, then it will again resume
> > the whole processes, so latency time be more. right?
> 
> Yes, it works as described.
> 
> > 3) Next question is regarding the kernel space threads, when these are frozen during suspend/hibernation?
> 
> They are frozen immediately after user space has been frozen, but only a
> handful of kernel threads are frozen.
> 
> Thanks,
> Rafael
 		 	   		  

[-- Attachment #1.2: Type: text/html, Size: 3298 bytes --]

[-- Attachment #2: Type: text/plain, Size: 0 bytes --]



^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: Question about hibernation
  2010-10-14  8:20     ` Raj Kumar
@ 2010-10-14  9:51       ` Rafael J. Wysocki
  2010-10-14 11:47         ` Raj Kumar
  0 siblings, 1 reply; 15+ messages in thread
From: Rafael J. Wysocki @ 2010-10-14  9:51 UTC (permalink / raw)
  To: Raj Kumar; +Cc: linux-pm

On Thursday, October 14, 2010, Raj Kumar wrote:
> 
> Hi Rafael,
>  
> 1) I have question on system resume that e.g. in device driver let us say for example structure is defined global,
> e.g.
>  
> struct dev
> {
> int a;
>  
> } dev_t;
>  
>  
> this structure is global. Now during system suspend, suppose the value of 
>  
> dev_t.a =2;
>  
> So when the resume happens, will the dev_t.a will remain the same i.e. 2?

Yes, it will.  For hibernation, the contents of all memory from before the image
was created is restored during resume.

> 2) During the system suspend, if the system hibernates, then the message sent from power management core to all drivers is
> PMSG_HIBERNATE and if system suspends to ram, then message sent from power management core to all drivers is PMSG_SUSPEND.

That was in the old model, which isn't recommended any more.

Currently, it is recommended that drivers implement callbacks in struct dev_pm_ops,
as described in Documentation/power/devices.txt and Documentation/power/pci.txt.

Thanks,
Rafael

  
> > From: rjw@sisk.pl
> > To: rajkumar278@hotmail.com
> > Subject: Re: Question about hibernation
> > Date: Fri, 8 Oct 2010 21:31:48 +0200
> > CC: linux-pm@lists.linux-foundation.org
> > 
> > On Friday, October 08, 2010, you wrote:
> > > 
> > > Hi Rafael,
> > 
> > Hi,
> > 
> > > I am working on device driver whose some part is user space and some part is kernel space. So the user space part
> > > of the driver provides interface to user space applications. 
> > > 1) Now, Suppose some user space is application is going on which is accessing the user space driver and user space driver
> > > scheduled some jobs to kernel space, Now suppose system hibernation start, since it freezes all the user space processes
> > > so suppose jobs are not completed yet which are scheduled to kernel space by user space.
> > > 
> > > when the kernel space device driver completes the jobs and gives the notification to user space driver, since user space
> > > process is already frozen, so there will be problem if we suspend the driver using suspend and resume.
> > > 
> > > right?
> > 
> > Yes, there's going to be a problem if the driver is not prepared to handle such situations.
> > 
> > Depending of the particular case, one possible approach is to use a PM notifier
> > as described in Documentation/power/notifiers.txt.
> > 
> > > 2) The other point I was seeing, when the power management core freezes all the processes before suspending and resuming
> > > devices, it will take some time for freezing and after that if some device driver refuses to suspend, then it will again resume
> > > the whole processes, so latency time be more. right?
> > 
> > Yes, it works as described.
> > 
> > > 3) Next question is regarding the kernel space threads, when these are frozen during suspend/hibernation?
> > 
> > They are frozen immediately after user space has been frozen, but only a
> > handful of kernel threads are frozen.
> > 
> > Thanks,
> > Rafael
>  		 	   		  

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: Question about hibernation
  2010-10-14  9:51       ` Rafael J. Wysocki
@ 2010-10-14 11:47         ` Raj Kumar
  2010-10-14 18:59           ` Rafael J. Wysocki
  0 siblings, 1 reply; 15+ messages in thread
From: Raj Kumar @ 2010-10-14 11:47 UTC (permalink / raw)
  To: rjw; +Cc: linux-pm


[-- Attachment #1.1: Type: text/plain, Size: 4223 bytes --]


 
Hi Rafael,
 
Thanks for your quick reply.  
 
1) I already implemented this with dev_pm_ops. I used suspend and resume callbacks
whose prototype is like
 
struct dev_pm_ops power_mgmt_ops
{
   .suspend =  powermanagement_suspend,
   .resume =  powermanagement_resume
 
}
 
int powermanagement_suspend(device *dev)
{
 
}
 
In normal suspend to ram mode it will work. But will it work in case of hibernation also?
 
if yes, since in suspend and resume call backs, only the device structure is provided, so how can
then person can identify it is suspend to ram or hibernation?
 
or for hibernation, poweroff  and restore function should be implemented which is similar
to suspend and resume call backs in case of suspend to ram?
 
Regards
Raj
 
 
 
 
 
 
 
 
 
 

 
> From: rjw@sisk.pl
> To: rajkumar278@hotmail.com
> Subject: Re: Question about hibernation
> Date: Thu, 14 Oct 2010 11:51:05 +0200
> CC: linux-pm@lists.linux-foundation.org
> 
> On Thursday, October 14, 2010, Raj Kumar wrote:
> > 
> > Hi Rafael,
> > 
> > 1) I have question on system resume that e.g. in device driver let us say for example structure is defined global,
> > e.g.
> > 
> > struct dev
> > {
> > int a;
> > 
> > } dev_t;
> > 
> > 
> > this structure is global. Now during system suspend, suppose the value of 
> > 
> > dev_t.a =2;
> > 
> > So when the resume happens, will the dev_t.a will remain the same i.e. 2?
> 
> Yes, it will. For hibernation, the contents of all memory from before the image
> was created is restored during resume.
> 
> > 2) During the system suspend, if the system hibernates, then the message sent from power management core to all drivers is
> > PMSG_HIBERNATE and if system suspends to ram, then message sent from power management core to all drivers is PMSG_SUSPEND.
> 
> That was in the old model, which isn't recommended any more.
> 
> Currently, it is recommended that drivers implement callbacks in struct dev_pm_ops,
> as described in Documentation/power/devices.txt and Documentation/power/pci.txt.
> 
> Thanks,
> Rafael
> 
> 
> > > From: rjw@sisk.pl
> > > To: rajkumar278@hotmail.com
> > > Subject: Re: Question about hibernation
> > > Date: Fri, 8 Oct 2010 21:31:48 +0200
> > > CC: linux-pm@lists.linux-foundation.org
> > > 
> > > On Friday, October 08, 2010, you wrote:
> > > > 
> > > > Hi Rafael,
> > > 
> > > Hi,
> > > 
> > > > I am working on device driver whose some part is user space and some part is kernel space. So the user space part
> > > > of the driver provides interface to user space applications. 
> > > > 1) Now, Suppose some user space is application is going on which is accessing the user space driver and user space driver
> > > > scheduled some jobs to kernel space, Now suppose system hibernation start, since it freezes all the user space processes
> > > > so suppose jobs are not completed yet which are scheduled to kernel space by user space.
> > > > 
> > > > when the kernel space device driver completes the jobs and gives the notification to user space driver, since user space
> > > > process is already frozen, so there will be problem if we suspend the driver using suspend and resume.
> > > > 
> > > > right?
> > > 
> > > Yes, there's going to be a problem if the driver is not prepared to handle such situations.
> > > 
> > > Depending of the particular case, one possible approach is to use a PM notifier
> > > as described in Documentation/power/notifiers.txt.
> > > 
> > > > 2) The other point I was seeing, when the power management core freezes all the processes before suspending and resuming
> > > > devices, it will take some time for freezing and after that if some device driver refuses to suspend, then it will again resume
> > > > the whole processes, so latency time be more. right?
> > > 
> > > Yes, it works as described.
> > > 
> > > > 3) Next question is regarding the kernel space threads, when these are frozen during suspend/hibernation?
> > > 
> > > They are frozen immediately after user space has been frozen, but only a
> > > handful of kernel threads are frozen.
> > > 
> > > Thanks,
> > > Rafael
> > 
> 
 		 	   		  

[-- Attachment #1.2: Type: text/html, Size: 5513 bytes --]

[-- Attachment #2: Type: text/plain, Size: 0 bytes --]



^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: Question about hibernation
  2010-10-14 11:47         ` Raj Kumar
@ 2010-10-14 18:59           ` Rafael J. Wysocki
  0 siblings, 0 replies; 15+ messages in thread
From: Rafael J. Wysocki @ 2010-10-14 18:59 UTC (permalink / raw)
  To: Raj Kumar; +Cc: linux-pm

On Thursday, October 14, 2010, Raj Kumar wrote:
> 
> Hi Rafael,

Hi,

> Thanks for your quick reply.  
>  
> 1) I already implemented this with dev_pm_ops. I used suspend and resume callbacks
> whose prototype is like
>  
> struct dev_pm_ops power_mgmt_ops
> {
>    .suspend =  powermanagement_suspend,
>    .resume =  powermanagement_resume
>  
> }
>  
> int powermanagement_suspend(device *dev)
> {
>  
> }
>  
> In normal suspend to ram mode it will work. But will it work in case of hibernation also?

It may be sufficient to point hibernate-specific callback pointers to your
suspend/resume routines:
  
 struct dev_pm_ops power_mgmt_ops
 {
    .suspend =  powermanagement_suspend,
    .resume =  powermanagement_resume,
    .freeze =  powermanagement_suspend,
    .thaw =  powermanagement_resume,
    .poweroff =  powermanagement_suspend,
    .restore =  powermanagement_resume,
 }

depending on the particular needs of your driver.

> if yes, since in suspend and resume call backs, only the device structure is provided, so how can
> then person can identify it is suspend to ram or hibernation?

See above.

> or for hibernation, poweroff  and restore function should be implemented which is similar
> to suspend and resume call backs in case of suspend to ram?

Yes.

Thanks,
Rafael

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Question about timers during system suspend
@ 2011-01-04 21:14 Raj Kumar
  2011-01-04 23:05 ` Rafael J. Wysocki
  0 siblings, 1 reply; 15+ messages in thread
From: Raj Kumar @ 2011-01-04 21:14 UTC (permalink / raw)
  To: linux-pm



Hi,
 
I have question regarding the timers during system suspend. If a software timer is
active in device driver, will this timer be stopped during system suspend?
 
If the timer is active, will it prevent the system from full suspend?
 
The another thing is during system suspend, how the user space code know about suspend?
 
One way is that device driver gets the suspend and it notifies the user space. 
 
But is there way that during system goes into full suspend, is any user space component that will
give notifications to applications that has registered for system suspend transition?
 
 
Regards
Raj 		 	   		  

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: Question about timers during system suspend
  2011-01-04 21:14 Question about timers during system suspend Raj Kumar
@ 2011-01-04 23:05 ` Rafael J. Wysocki
  2011-01-04 23:57   ` Raj Kumar
  0 siblings, 1 reply; 15+ messages in thread
From: Rafael J. Wysocki @ 2011-01-04 23:05 UTC (permalink / raw)
  To: Raj Kumar; +Cc: linux-pm

On Tuesday, January 04, 2011, Raj Kumar wrote:
> 
> Hi,

Hi,

> I have question regarding the timers during system suspend. If a software timer is
> active in device driver, will this timer be stopped during system suspend?

What do you mean by "stopped"?  Do you mean canceled?

> If the timer is active, will it prevent the system from full suspend?

No, it won't.

> The another thing is during system suspend, how the user space code know about suspend?

It doesn't, unless it's notified by the user space process initiating suspend.

> One way is that device driver gets the suspend and it notifies the user space. 

That doesn't work, because user space is frozen when drivers' suspend routines
are being called.  It might work if the driver in question registered a power
management notifier and sent a notification to user space from there.

> But is there way that during system goes into full suspend, is any user space component that will
> give notifications to applications that has registered for system suspend transition?

That depends on the configuration of user space.  pm-utils can do that for one
example.

Thanks,
Rafael

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: Question about timers during system suspend
  2011-01-04 23:05 ` Rafael J. Wysocki
@ 2011-01-04 23:57   ` Raj Kumar
  2011-01-05  8:27     ` Rafael J. Wysocki
  0 siblings, 1 reply; 15+ messages in thread
From: Raj Kumar @ 2011-01-04 23:57 UTC (permalink / raw)
  To: rjw; +Cc: linux-pm


 
Dear rafael,
 
Thanks for quick reply.
 
>> I have question regarding the timers during system suspend. If a software timer is
> > active in device driver, will this timer be stopped during system suspend?
>
> What do you mean by "stopped"? Do you mean canceled?
 
I mean cancel the software timer. But if the software timer is active as you already mentioned it will not prevent
system suspend. I mean to say if the driver has active software timer means software timer is not fired yet and device driver
will return from suspend callback without cancelation software timer and it times out after this
will not prevent system suspend to return error code.
 
right??
 
or is it mandatory to cancel the software timer during suspend callback to device driver?
 
 
Regards
raj
 



----------------------------------------
> From: rjw@sisk.pl
> To: rajkumar278@hotmail.com
> Subject: Re: [linux-pm] Question about timers during system suspend
> Date: Wed, 5 Jan 2011 00:05:42 +0100
> CC: linux-pm@lists.linux-foundation.org
>
> On Tuesday, January 04, 2011, Raj Kumar wrote:
> >
> > Hi,
>
> Hi,
>
> > I have question regarding the timers during system suspend. If a software timer is
> > active in device driver, will this timer be stopped during system suspend?
>
> What do you mean by "stopped"? Do you mean canceled?
>
> > If the timer is active, will it prevent the system from full suspend?
>
> No, it won't.
>
> > The another thing is during system suspend, how the user space code know about suspend?
>
> It doesn't, unless it's notified by the user space process initiating suspend.
>
> > One way is that device driver gets the suspend and it notifies the user space.
>
> That doesn't work, because user space is frozen when drivers' suspend routines
> are being called. It might work if the driver in question registered a power
> management notifier and sent a notification to user space from there.
>
> > But is there way that during system goes into full suspend, is any user space component that will
> > give notifications to applications that has registered for system suspend transition?
>
> That depends on the configuration of user space. pm-utils can do that for one
> example.
>
> Thanks,
> Rafael 		 	   		  

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: Question about timers during system suspend
  2011-01-04 23:57   ` Raj Kumar
@ 2011-01-05  8:27     ` Rafael J. Wysocki
  2011-03-18 13:45       ` Question about hibernation Raj Kumar
  0 siblings, 1 reply; 15+ messages in thread
From: Rafael J. Wysocki @ 2011-01-05  8:27 UTC (permalink / raw)
  To: Raj Kumar; +Cc: linux-pm

On Wednesday, January 05, 2011, Raj Kumar wrote:
> 
> Dear rafael,
>  
> Thanks for quick reply.
>  
> >> I have question regarding the timers during system suspend. If a software timer is
> > > active in device driver, will this timer be stopped during system suspend?
> >
> > What do you mean by "stopped"? Do you mean canceled?
>  
> I mean cancel the software timer. But if the software timer is active as you
> already mentioned it will not prevent system suspend. I mean to say if the
> driver has active software timer means software timer is not fired yet and
> device driver will return from suspend callback without cancelation software
> timer and it times out after this will not prevent system suspend to return
> error code.

I'm not really sure what you mean.  If the timer expires right after the
suspend routine has returned, then either the timer function will run
immediately (so you need to take that into consideration), if the timer
interrupt is still enabled at this point, or it will run during resume
(asynchronously with respect to the driver's resume routine).

> right??
>  
> or is it mandatory to cancel the software timer during suspend callback to device driver?

I guess it's better to cancel the timer directly from the suspend routine, but
it is not formally required to do so.

Thanks,
Rafael

 
> ----------------------------------------
> > From: rjw@sisk.pl
> > To: rajkumar278@hotmail.com
> > Subject: Re: [linux-pm] Question about timers during system suspend
> > Date: Wed, 5 Jan 2011 00:05:42 +0100
> > CC: linux-pm@lists.linux-foundation.org
> >
> > On Tuesday, January 04, 2011, Raj Kumar wrote:
> > >
> > > Hi,
> >
> > Hi,
> >
> > > I have question regarding the timers during system suspend. If a software timer is
> > > active in device driver, will this timer be stopped during system suspend?
> >
> > What do you mean by "stopped"? Do you mean canceled?
> >
> > > If the timer is active, will it prevent the system from full suspend?
> >
> > No, it won't.
> >
> > > The another thing is during system suspend, how the user space code know about suspend?
> >
> > It doesn't, unless it's notified by the user space process initiating suspend.
> >
> > > One way is that device driver gets the suspend and it notifies the user space.
> >
> > That doesn't work, because user space is frozen when drivers' suspend routines
> > are being called. It might work if the driver in question registered a power
> > management notifier and sent a notification to user space from there.
> >
> > > But is there way that during system goes into full suspend, is any user space component that will
> > > give notifications to applications that has registered for system suspend transition?
> >
> > That depends on the configuration of user space. pm-utils can do that for one
> > example.
> >
> > Thanks,
> > Rafael 		 	   		  
> 

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Question about hibernation
  2011-01-05  8:27     ` Rafael J. Wysocki
@ 2011-03-18 13:45       ` Raj Kumar
  2011-03-18 14:09         ` Oliver Neukum
  0 siblings, 1 reply; 15+ messages in thread
From: Raj Kumar @ 2011-03-18 13:45 UTC (permalink / raw)
  To: linux-pm


[-- Attachment #1.1: Type: text/plain, Size: 439 bytes --]



Hi,

I have following question regarding the hibernation. If a device driver uses dedicated memory (dedicated memory in linux which is not OS addressable e.g. device driver is using some pages from dedicated memory), When the system hibernates, will this be responsibility of device driver to save this area 
or 
OS hibernation procedure save this area of ram (dedicated memory area) into swap image?

Thanks
Raj  
 		 	   		  

[-- Attachment #1.2: Type: text/html, Size: 659 bytes --]

[-- Attachment #2: Type: text/plain, Size: 0 bytes --]



^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: Question about hibernation
  2011-03-18 13:45       ` Question about hibernation Raj Kumar
@ 2011-03-18 14:09         ` Oliver Neukum
  2011-03-19 23:47           ` Raj Kumar
  0 siblings, 1 reply; 15+ messages in thread
From: Oliver Neukum @ 2011-03-18 14:09 UTC (permalink / raw)
  To: linux-pm; +Cc: Raj Kumar

Am Freitag, 18. März 2011, 14:45:24 schrieb Raj Kumar:
> 
> Hi,
> 
> I have following question regarding the hibernation. If a device driver uses dedicated memory (dedicated memory in linux which is not OS addressable e.g. device driver is using some pages from dedicated memory), When the system hibernates, will this be responsibility of device driver to save this area 
> or 
> OS hibernation procedure save this area of ram (dedicated memory area) into swap image?

If you got it from get_free_pages (at the end of a long call chain) the
kernel saves it. If not, it is your problem.

	HTH
		Oliver

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: Question about hibernation
  2011-03-18 14:09         ` Oliver Neukum
@ 2011-03-19 23:47           ` Raj Kumar
  0 siblings, 0 replies; 15+ messages in thread
From: Raj Kumar @ 2011-03-19 23:47 UTC (permalink / raw)
  To: oneukum, linux-pm


[-- Attachment #1.1: Type: text/plain, Size: 1136 bytes --]


Hi,
 
Thanks for reply. What if memory is allocated using dma_alloc_coherent where the physical address is from dedicated area of RAM(which is not addressable by OS)? I also believe that all the buffers and state variables are taken care by OS kernel. Right?
 
Thanks
Raj
 

 
> From: oneukum@suse.de
> To: linux-pm@lists.linux-foundation.org
> Subject: Re: [linux-pm] Question about hibernation
> Date: Fri, 18 Mar 2011 15:09:02 +0100
> CC: rajkumar278@hotmail.com
> 
> Am Freitag, 18. März 2011, 14:45:24 schrieb Raj Kumar:
> > 
> > Hi,
> > 
> > I have following question regarding the hibernation. If a device driver uses dedicated memory (dedicated memory in linux which is not OS addressable e.g. device driver is using some pages from dedicated memory), When the system hibernates, will this be responsibility of device driver to save this area 
> > or 
> > OS hibernation procedure save this area of ram (dedicated memory area) into swap image?
> 
> If you got it from get_free_pages (at the end of a long call chain) the
> kernel saves it. If not, it is your problem.
> 
> HTH
> Oliver
 		 	   		  

[-- Attachment #1.2: Type: text/html, Size: 1500 bytes --]

[-- Attachment #2: Type: text/plain, Size: 0 bytes --]



^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2011-03-19 23:47 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-01-04 21:14 Question about timers during system suspend Raj Kumar
2011-01-04 23:05 ` Rafael J. Wysocki
2011-01-04 23:57   ` Raj Kumar
2011-01-05  8:27     ` Rafael J. Wysocki
2011-03-18 13:45       ` Question about hibernation Raj Kumar
2011-03-18 14:09         ` Oliver Neukum
2011-03-19 23:47           ` Raj Kumar
     [not found] <mailman.23.1286318684.6175.linux-pm@lists.linux-foundation.org>
2010-10-08 10:32 ` Raj Kumar
2010-10-08 19:31   ` Rafael J. Wysocki
2010-10-14  8:20     ` Raj Kumar
2010-10-14  9:51       ` Rafael J. Wysocki
2010-10-14 11:47         ` Raj Kumar
2010-10-14 18:59           ` Rafael J. Wysocki
     [not found] <BLU102-W1030ED196ED7B94722F2A7EB830@phx.gbl>
     [not found] ` <Pine.LNX.4.44L0.1008241029000.1652-100000@iolanthe.rowland.org>
2010-08-24 15:17   ` Runtime power management during system resume Raj Kumar
2010-08-25 13:27     ` Raj Kumar
2010-08-26 13:40       ` Raj Kumar
2010-09-18 11:49         ` (no subject) Raj Kumar
2010-10-05 21:40           ` Question about hibernation Raj Kumar
2010-10-05 22:43             ` Rafael J. Wysocki

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox