Messages in this thread | | | Date | Mon, 02 Jun 2008 20:32:17 -0700 | From | Max Krasnyansky <> | Subject | Re: Inquiry: Should we remove "isolcpus= kernel boot option? (may have realtime uses) |
| |
Ingo Oeser wrote: > Hi Max, > Hi Peter, > > On Tuesday 03 June 2008, Max Krasnyansky wrote: >> Ingo, I just wanted to elaborate on what Peter is saying. That CPU will still >> have to be _booted_ properly. It may be used for hard- and soft- interrupt >> processing, workqueues (internal kernel queuing mechanism) and kernel timers. > > Oh! Didn't know that user process scheduling is so much Not sure what you meant here. Stuff that I listed has nothing to do with user process scheduling.
>> In your particular case you're much much much better off with doing >> echo 0 > /sys/devices/system/cpuN/online >> either during initrd stage or as a first init script. >> That way bad cpu will be _completely_ disabled. > > The initrd is from the distribution. I have no sane way to change it > fast and permanent. Can I change the initrd and still have a certified > RHEL or SLES? Are there initrd hooks, which survive packet installation? That's why I mentioned "first init" script. You can create a simple init.d compliant script that runs with priority 0 (see /etc/init.d/network for example). That should be early enough.
> I would really appreciate some way to keep the kernel from using > a CPU at all to do fault isolation. If possible not even booting it. How does isolcpu= boot option helps in this case ? I suppose the closes option is maxcpus=. We can probably add ignorecpus= or something to handle your use case but it has nothing to do with isolcpus=.
> Bootparameters survived all distro fiddling so far. I love them! So do custom init.d scripts.
> > Try to convince a hardware vendor, that you don't have a software bug. > Try to convince him that you didn't break the hardware by swapping it around. > > So I'll ACK removing isolcpus, if we get a better replacement boot option. I think you're missing the point here. It's like saying "Lets not switch to electric cars because I use gasoline to kill weeds".
As I mentioned before, cpus listed in the isolcpus= boot option will still handle hard-/soft- irqs, kernel work, kernel timers. You are much better off using cpu hotplug (ie putting bad cpu offline). Feel free to propose ignorecpus= option in a separate thread.
Max
| |