On Fri, May 13, 2005 at 06:02:17PM +0530, Dinakar Guniguntala wrote:
> attach_task in cpuset.c is called without holding the hotplug
> lock and it is possible to call set_cpus_allowed for a task with no
> online cpus.
This in fact was the reason that we added lock_cpu_hotplug in sched_setaffinity.
Also guarantee_online_cpus seems to be accessing cpu_online_map with preemption
enabled (& no hotplug lock taken). This is highly not recommended.
> Given this I think the patch I sent first is the most appropriate
> patch.
I agree that taking the hotplug lock seems reasonable here.
> In addition we also need to take hotplug lock in the cpusets
> code whenever we are modifying cpus_allowed of a task. IOW make cpusets
> and hotplug operations completly exclusive to each other. The same
> applies to memory hotplug code once it gets in.
>
> However on the downside this would mean
> 1. A lot of nested locks (mostly in cpuset_common_file_write)
> 2. Taking of hotplug (cpu now and later memory) locks for operations
> that may just be updating a flag
Given the fact that CPU/Memory hotplug and cpuset operation may
be infrequent events, this will probably be not a concern.
--
Thanks and Regards,
Srivatsa Vaddagiri,
Linux Technology Center,
IBM Software Labs,
Bangalore, INDIA - 560017
-
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/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]