Re: [PATCH 07/16] freezer: don't distinguish nosig tasks on thaw

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

 



On Friday, August 19, 2011, Tejun Heo wrote:
> There's no point in thawing nosig tasks before others.  There's no
> ordering requirement between the two groups on thaw, which the staged
> thawing can't guarantee anyway.  Simplify thaw_processes() by removing
> the distinction and collapsing thaw_tasks() into thaw_processes().
> This will help further updates to freezer.

I'm not sure if I like this patch.

Right now there are no ordering requirements between the two groups
of processes, but if we decide to freeze filesystems on suspend,
we'll need to thaw them between nosig and sig I suppose.

Thanks,
Rafael


> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx>
> ---
>  kernel/power/process.c |   20 +++++++-------------
>  1 files changed, 7 insertions(+), 13 deletions(-)
> 
> diff --git a/kernel/power/process.c b/kernel/power/process.c
> index ddfaba4..3eee548 100644
> --- a/kernel/power/process.c
> +++ b/kernel/power/process.c
> @@ -160,34 +160,28 @@ int freeze_processes(void)
>  	return error;
>  }
>  
> -static void thaw_tasks(bool nosig_only)
> +void thaw_processes(void)
>  {
>  	struct task_struct *g, *p;
>  
> +	oom_killer_enable();
> +
> +	printk("Restarting tasks ... ");
> +
> +	thaw_workqueues();
> +
>  	read_lock(&tasklist_lock);
>  	do_each_thread(g, p) {
>  		if (!freezable(p))
>  			continue;
>  
> -		if (nosig_only && should_send_signal(p))
> -			continue;
> -
>  		if (cgroup_freezing_or_frozen(p))
>  			continue;
>  
>  		__thaw_task(p);
>  	} while_each_thread(g, p);
>  	read_unlock(&tasklist_lock);
> -}
> -
> -void thaw_processes(void)
> -{
> -	oom_killer_enable();
>  
> -	printk("Restarting tasks ... ");
> -	thaw_workqueues();
> -	thaw_tasks(true);
> -	thaw_tasks(false);
>  	schedule();
>  	printk("done.\n");
>  }
> 

_______________________________________________
linux-pm mailing list
linux-pm@xxxxxxxxxxxxxxxxxxxxxxxxxx
https://lists.linux-foundation.org/mailman/listinfo/linux-pm


[Index of Archives]     [Linux ACPI]     [Netdev]     [Ethernet Bridging]     [Linux Wireless]     [CPU Freq]     [Kernel Newbies]     [Fedora Kernel]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux