Re: [RFC][PATCH -mm 2/3] freezer: Introduce freezer_flags

!MAILaRCHIVE_VOTE_RePLACE
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: Satyam Sharma <satyam.sharma@...>
Cc: Rafael J. Wysocki <rjw@...>, Andrew Morton <akpm@...>, Ingo Molnar <mingo@...>, Oleg Nesterov <oleg@...>, <linux-kernel@...>, <vatsa@...>, <paulmck@...>, <pavel@...>
Date: Monday, April 23, 2007 - 10:19 am

Hi Satyam, 
On Mon, Apr 23, 2007 at 09:39:30AM +0530, Satyam Sharma wrote:

The difference between the NOFREEZE and the SKIP flag is a subtle one.

When a task (say p) sets it's NOFREEZE flag, it tells the freezer not to
consider it for freezing. Which means freezeable(p) will return 0.
So the freezer will not even mark it for freezing. 

However, when a task sets it SKIP flag, it tells the freezer - "I might
block at a safe place. So when you are counting the processes which
have been marked as freezeable, but have not frozen yet, please don't
count me in. IOW, please skip me."  
Thus such a task can still be marked for freezing.

The typical usage is 
freezer_do_not_count(current);
/* currents goes to an uninterruptible sleep, like wait_for_completion. */
freezer_count(current);

Once the task wakes up from it's uninterruptible sleep, it will 
call freezer_count which in turn calls try_to_freeze.
If the task was marked for freezing, it will be frozen now.

You may want to check the thread http://lkml.org/lkml/2007/2/18/47 
on how it came into existance.


Regards
gautham.
-- 
Gautham R Shenoy
Linux Technology Center
IBM India.
"Freedom comes with a price tag of responsibility, which is still a bargain,
because Freedom is priceless!"
-
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[RFC 0/2] Fix Freezer related races., Gautham R Shenoy, (Thu Apr 19, 8:01 am)
[RFC PATCH(experimental) 2/2] Fix freezer-kthread_stop race, Gautham R Shenoy, (Thu Apr 19, 8:04 am)
Re: [RFC PATCH(experimental) 2/2] Fix freezer-kthread_stop r..., Rafael J. Wysocki, (Fri Apr 20, 4:54 am)
Re: [RFC PATCH(experimental) 2/2] Fix freezer-kthread_stop r..., Rafael J. Wysocki, (Fri Apr 20, 5:45 pm)
Re: [RFC PATCH(experimental) 2/2] Fix freezer-kthread_stop r..., Rafael J. Wysocki, (Fri Apr 20, 7:59 am)
[RFC][PATCH -mm 0/3] Separate freezer flags, Rafael J. Wysocki, (Sun Apr 22, 3:28 pm)
[RFC][PATCH -mm 1/3] Separate freezer from PM code, Rafael J. Wysocki, (Sun Apr 22, 3:33 pm)
Re: [RFC][PATCH -mm 1/3] Separate freezer from PM code, Pavel Machek, (Mon Apr 23, 6:41 am)
[RFC][PATCH -mm 2/3] freezer: Introduce freezer_flags, Rafael J. Wysocki, (Sun Apr 22, 3:39 pm)
Re: [RFC][PATCH -mm 2/3] freezer: Introduce freezer_flags, Oleg Nesterov, (Mon Apr 23, 6:23 pm)
Re: [RFC][PATCH -mm 2/3] freezer: Introduce freezer_flags, Rafael J. Wysocki, (Mon Apr 23, 6:40 pm)
Re: [RFC][PATCH -mm 2/3] freezer: Introduce freezer_flags, Oleg Nesterov, (Mon Apr 23, 6:55 pm)
Re: [RFC][PATCH -mm 2/3] freezer: Introduce freezer_flags, Rafael J. Wysocki, (Mon Apr 23, 7:10 pm)
Re: [RFC][PATCH -mm 2/3] freezer: Introduce freezer_flags, Oleg Nesterov, (Mon Apr 23, 7:19 pm)
Re: [RFC][PATCH -mm 2/3] freezer: Introduce freezer_flags, Rafael J. Wysocki, (Tue Apr 24, 7:32 am)
Re: [RFC][PATCH -mm 2/3] freezer: Introduce freezer_flags, Gautham R Shenoy, (Mon Apr 23, 6:41 pm)
Re: [RFC][PATCH -mm 2/3] freezer: Introduce freezer_flags, Rafael J. Wysocki, (Mon Apr 23, 6:55 pm)
Re: [RFC][PATCH -mm 2/3] freezer: Introduce freezer_flags, Gautham R Shenoy, (Mon Apr 23, 9:17 am)
Re: [RFC][PATCH -mm 2/3] freezer: Introduce freezer_flags, Rafael J. Wysocki, (Mon Apr 23, 3:57 pm)
Re: [RFC][PATCH -mm 2/3] freezer: Introduce freezer_flags, Satyam Sharma, (Mon Apr 23, 12:09 am)
Re: [RFC][PATCH -mm 2/3] freezer: Introduce freezer_flags, Rafael J. Wysocki, (Mon Apr 23, 3:06 pm)
Re: [RFC][PATCH -mm 2/3] freezer: Introduce freezer_flags, Gautham R Shenoy, (Mon Apr 23, 10:19 am)
Re: [RFC][PATCH -mm 2/3] freezer: Introduce freezer_flags, Rafael J. Wysocki, (Mon Apr 23, 2:49 pm)
Re: [RFC][PATCH -mm 2/3] freezer: Introduce freezer_flags, Rafael J. Wysocki, (Sun Apr 22, 6:14 pm)
Re: [RFC][PATCH -mm 2/3] freezer: Introduce freezer_flags, Satyam Sharma, (Sun Apr 22, 11:18 pm)
[RFC][PATCH -mm 3/3] freezer: Fix problem with kthread_stop, Rafael J. Wysocki, (Sun Apr 22, 3:40 pm)
Re: [RFC][PATCH -mm 3/3] freezer: Fix problem with kthread_s..., Rafael J. Wysocki, (Mon Apr 23, 3:55 pm)
Re: [RFC][PATCH -mm 3/3] freezer: Fix problem with kthread_s..., Rafael J. Wysocki, (Mon Apr 23, 5:30 pm)
Re: [RFC][PATCH -mm 3/3] freezer: Fix problem with kthread_s..., Rafael J. Wysocki, (Mon Apr 23, 4:05 pm)
Re: [RFC][PATCH -mm 3/3] freezer: Fix problem with kthread_s..., Rafael J. Wysocki, (Mon Apr 23, 3:50 pm)
Re: [RFC PATCH(experimental) 2/2] Fix freezer-kthread_stop r..., Rafael J. Wysocki, (Fri Apr 20, 5:13 pm)
Re: [RFC PATCH(experimental) 2/2] Fix freezer-kthread_stop r..., Rafael J. Wysocki, (Fri Apr 20, 8:50 am)
[RFC PATCH 1/2] Fix PF_NOFREEZE and freezeable race, Gautham R Shenoy, (Thu Apr 19, 8:02 am)
Re: [RFC PATCH 1/2] Fix PF_NOFREEZE and freezeable race, Rafael J. Wysocki, (Thu Apr 19, 5:39 pm)
Re: [RFC PATCH 1/2] Fix PF_NOFREEZE and freezeable race, Oleg Nesterov, (Fri Apr 20, 2:02 pm)
Re: [RFC PATCH 1/2] Fix PF_NOFREEZE and freezeable race, Gautham R Shenoy, (Mon Apr 23, 6:26 am)
Re: [RFC PATCH 1/2] Fix PF_NOFREEZE and freezeable race, Oleg Nesterov, (Mon Apr 23, 1:49 pm)