It was immediately recognized, by Nick that this new work was a "complete superset of the isolcpus= functionality."

Dinakar concurred, responding that he "was hoping that by the time we are done with this, we would be able to completely get rid of the isolcpus= option."

To which I (pj) replied "I won't miss it. Though, since it's in the main line kernel, do you need to mark it deprecated for a while first?"

Since then, dynamic scheduler domains and cpusets have seen muchwork. See for example http://lkml.org/lkml/2007/9/30/29, whichadded the sched_load_balance flag to cpusets.

However nothing much has changed with regard to the "isolcpus=" kernelboot time parameter. This parameter is still there. In October of2006, Derek Fults <dfults@sgi.com> did extend the syntax of the CPUlist argument to the "isolcpus=" parameter to handle CPU ranges.

Some of us (perhaps not including Ingo) tend to agree "isolcpus="should go, but I am still recommending that we "deprecate" it in somefashion for a while first, as I am usually opposed to suddenlyremoving visible kernel features, because that breaks things.

Recently:=========

Recently, Peter Zijlstra <a.p.zijlstra@chello.nl> and Max Krasnyansky<maxk@qualcomm.com> have been advocating removing the "isolcpus="option. See for example Peter's http://lkml.org/lkml/2008/2/27/378or Max's http://lkml.org/lkml/2008/5/27/356. I've been resisting,still advocating that we deprecate it first, before removing it,if that is we even agree to remove it.

Next Step:==========

This message begins the next steps, which are:

1) Survey the current usage of "isolcpus=". If we find evidence of usage, then this should delay, or even argue against, the removal of this feature.

2) Alert potential users of the change being considered here, so that they can plan their work to adapt if we decided to deprecate or remove the "isolcpus=" kernel boot parameter.

My recommendation (which may change with feedback from this inquiry)is be to add a kernel printk, once at boot, issuing a KERN_WARN thatisolcpus is deprecated, if isolcpus was specified. Then in somefuture release, remove isolcpus (and the warning).

One possible reason for keeping "isolcpus=" could be that it isavailable even when cpusets is not configured into kernel. I don'tknow if that is a case that is valuable to some or not.