On Monday 29 October 2007 20:35:58 Paul Jackson wrote: > Lee wrote: > > 2. As this thread progresses, you've discussed relaxing the requirement > > that applications pass a valid subset of mems_allowed. I.e., something > > that was illegal becomes legal. An API change, I think. But, a > > backward compatible one, so that's OK, right? :-) > > The more I have stared at this, the more certain I've become that we > need to make the mbind/mempolicy calls modal -- the default mode > continues to interpret node numbers and masks just as these calls do > now, and the alternative mode provides the so called "Choice B", > which takes node numbers and masks as if the task owned the entire > system, and then the kernel internally and automatically scrunches > those masks down to whatever happens to be the current cpuset of > the task.
So the user space asks for 8 nodes because it knows the machine has that many from /sys and it only gets 4 if a cpuset says so? That's just bad semantics. And is not likely to make the user programs happy. I don't think you'll get around to teaching user space (or rather libnuma) about cpusets and let it handle it. >From the libnuma perspective the machine size would be essentially current cpuset size. On the syscall level I don't think it makes much sense to change though. The alternative would be to throw out the complete cpuset concept and go for virtual nodes inside containers with virtualized /sys. -Andi - 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/