Messages in this thread | | | Date | Fri, 23 Aug 2013 15:53:37 +0800 | From | Li Zefan <> | Subject | Re: [PATCH 11/11] cpuset: export effective masks to userspace |
| |
On 2013/8/21 22:20, Tejun Heo wrote: > On Wed, Aug 21, 2013 at 06:01:32PM +0800, Li Zefan wrote: >> { >> + .name = "effective_cpus", >> + .flags = CFTYPE_SANE, >> + .read = cpuset_common_file_read, >> + .max_write_len = (100U + 6 * NR_CPUS), >> + .private = FILE_EFFECTIVE_CPULIST, > > I don't think we need CFTYPE_SANE. We can just expose these > unconditionally, right? It still means the same thing when !sane. >
It seems confusing if there're two interaces but they actually mean the same thing.
Another reason I didn't do this is, they're not always the same. When !sane, If cpus_allowed is empty, effective_cpus is not empty, and you are not able to put tasks into this cpuset. So if we want to expose it unconditionally, I'll make sure cpus_allowed == effective_cpus always stand when !sane.
| |