Current-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: maximum number of CPUs

On 25.02.12 10:29, Sad Clouds wrote:
> On Thu, 23 Feb 2012 20:58:45 +0000
> Mindaugas Rasiukevicius <> wrote:
>> Brook Milligan <> wrote:
>>> I understand that at least on the i386/amd64 ports CPUs are tracked
>>> with a 32-bit mask and thus at most 32 CPUs may be active.  How
>>> complex is the task of removing this limitation so that a larger
>>> number of CPUs may be used?
>> I have a preliminary patch to support up to 255 CPUs on amd64 (not
>> worth on i386), however there is still some bug in the early
>> initialisation code, when TLBs are not being flushed.  I have not had
>> time yet to debug it out.
>> Apart from that bug, it should be mostly complete.
>> -- 
>> Mindaugas
> Why limit this to 255?

This is the limit on x86. The LAPIC field is just 8bit wide.
On other platforms this patch can add support for a lot more cpus.


> There are systems out there that surpass this
> number. I developed some code that uses a 64 element array of 64-bit
> integers to give 64 * 64 = 4096 bits, which can be used to tracking
> boolean on/off states.
> If people are interested in using this for tracking CPU states, I can
> provide the source code under BSD license.

Home | Main Index | Thread Index | Old Index