Re: [regression] cpuset,mm: update tasks' mems_allowed in time (58568d2)

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

 



On Tue, 23 Feb 2010, Miao Xie wrote:

> >>  /*
> >> @@ -1391,11 +1393,10 @@ static void cpuset_attach(struct cgroup_subsys *ss, struct cgroup *cont,
> >>  
> >>  	if (cs == &top_cpuset) {
> >>  		cpumask_copy(cpus_attach, cpu_possible_mask);
> >> -		to = node_possible_map;
> >>  	} else {
> >>  		guarantee_online_cpus(cs, cpus_attach);
> >> -		guarantee_online_mems(cs, &to);
> >>  	}
> >> +	guarantee_online_mems(cs, &to);
> >>  
> >>  	/* do per-task migration stuff possibly for each in the threadgroup */
> >>  	cpuset_attach_task(tsk, &to, cs);
> > 
> > Do we need to set cpus_attach to cpu_possible_mask?  Why won't 
> > cpu_active_mask suffice?
> 
> If we set cpus_attach to cpu_possible_mask, we needn't do anything for tasks in the top_cpuset when
> doing cpu hotplug. If not, we will update cpus_allowed of all tasks in the top_cpuset.
> 

Cpu hotplug sets top_cpuset's cpus_allowed to cpu_active_mask by default, 
regardless of what was onlined or offlined.  cpus_attach in the context of 
your patch (in cpuset_attach()) passes cpu_possible_mask to 
set_cpus_allowed_ptr() if the task is being attached to top_cpuset, my 
question was why don't we pass cpu_active_mask instead?  In other words, I 
think we should do

	cpumask_copy(cpus_attach, cpu_active_mask);

when attached to top_cpuset like my patch did.

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@xxxxxxxxxx  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@xxxxxxxxx";> email@xxxxxxxxx </a>

[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]