Messages in this thread | | | Date | Mon, 4 Feb 2008 04:54:29 -0600 | From | Paul Jackson <> | Subject | Re: Integrating cpusets and cpu isolation [was Re: [CPUISOL] CPU isolation extensions] |
| |
Max wrote: > Looks like I failed to explain what I'm trying to achieve. So let me try again.
Well done. I read through that, expecting to disagree or at least to not understand at some point, and got all the way through nodding my head in agreement. Good.
Whether the earlier confusions were lack of clarity in the presentation, or lack of competence in my brain ... well guess I don't want to ask that question ;).
Well ... just one minor point:
Max wrote in reply to pj: > > The cpu_isolated_map is a file static variable known only within > > the kernel/sched.c file; this should not change. > I completely disagree. In fact I think all the cpu_xxx_map (online, present, isolated) > variables do not belong in the scheduler code. I'm thinking of submitting a patch that > factors them out into kernel/cpumask.c We already have cpumask.h.
Huh? Why would you want to do that?
For one thing, the map being discussed here, cpu_isolated_map, is only used in sched.c, so why publish it wider?
And for another thing, we already declare externs in cpumask.h for the other, more widely used, cpu_*_map variables cpu_possible_map, cpu_online_map, and cpu_present_map.
Other than that detail, we seem to be communicating and in agreement on your first item, isolating CPU scheduler load balancing. Good.
On your other two items, irq and workqueue isolation, which I had suggested doing via cpuset sched_load_balance, I now agree that that wasn't a good idea.
I am still a little surprised at using isolation extensions to disable irqs on select CPUs; but others have thought far more about irqs than I have, so I'll be quiet.
-- I won't rest till it's the best ... Programmer, Linux Scalability Paul Jackson <pj@sgi.com> 1.940.382.4214
| |