Messages in this thread | | | Date | Fri, 22 Feb 2008 14:22:42 -0800 | From | Max Krasnyanskiy <> | Subject | Re: [PATCH sched-devel 0/7] CPU isolation extensions |
| |
Peter Zijlstra wrote: > On Fri, 2008-02-22 at 08:38 -0500, Mark Hounschell wrote: > >>>> List of commits >>>> cpuisol: Make cpu isolation configrable and export isolated map >>> >>> cpu_isolated_map was a bad hack when it was introduced, I feel we should >>> deprecate it and fully integrate the functionality into cpusets. That would >>> give a much more flexible end-result. >>> >>> CPU-sets can already isolate cpus by either creating a cpu outside of any set, >>> or a set with a single cpu not shared by any other sets. >>> >> Peter, what about when I am NOT using cpusets and are disabled in my config but >> I still want to use this? > > Then you enable it? I'm with Mark on this one. For example if I have two core machine I do not need cpusets to manage them. Plus like I explained in prev email cpuset is higher level API. We can think of a way to integrated them if needed.
>>>> cpuisol: Do not schedule workqueues on the isolated CPUs >>> >>> (per-cpu workqueues, the single ones are treated in the previous section) >>> >>> I still strongly disagree with this approach. Workqueues are passive, they >>> don't do anything unless work is provided to them. By blindly not starting them >>> you handicap the system and services that rely on them. >>> >> Have things changed since since my first bad encounter with Workqueues. >> I am referring to this thread. >> >> http://kerneltrap.org/mailarchive/linux-kernel/2007/5/29/97039 > > Just means you get to fix those problems. By blindly not starting them > you introduce others.
Please give me an example of what you have in mind. Also if you look at the patch (which I've now posted properly) it's not just not starting them. I also redirected all future scheduled work to non-isolated CPU. ie If work is scheduled on the isolated CPU this work is treated as if the work queue is single threaded. As I explained before most subsystem do not care which CPU actually gets to execute the work. Oprofile is the only one I know of that breaks because it cannot collect the stats from the isolated CPUs. I'm thinking of a different solution for oprofile, maybe collection samples through IPIs or something.
Max
| |