Random x86-64 seg-fault finally fixed
dillon at apollo.backplane.com
Thu Dec 23 10:23:15 PST 2010
:Just out of curiosity, are there any plans for supporting
:machines with 64 cores or even more?
:For example, the Sun Fire X4800 (quite common in larger data
:centers) supports eight Xeon 7500 packages which have eight
:cores plus hyperthreading, which gives a 128-way SMP system.
:Solaris, Linux and Windows support them, but I don't think
:any of the BSDs does.
:And that's certainly not the end. 256-way x86 systems have
:been announced already. Basically, it seems that the growth
:of the number of cores has taken over the role of the growth
:of clockrate (because the latter starts to face physical
The basic limitation here for us the convenience of being able to
operate atomically on cpu masks and in particular being able to
run bit-search instructions on them (bsfq, etc). There are also
a few places where I combine cpu masking operations with a spin
lock, which is ultra convenient. I would have to rewrite those
algorithms to operate on an array of cpu masks instead of just one.
It isn't in the cards right now though if someone threw a 128-way
box onto my carpet I'd probably start working on it :-)
Taking x86-64 to 63 cpus was easy because we have 64-bit bit
instructions. I'm stealing a bit in the cpumask for a pmap
spinlock, or it would be 64.
Beyond that it probably makes sense to consider partitioning the
hardware with or without virtualization. Partitioning is already
desireable for the current 48-core monster and I'd like to have
some sort of DragonFly host & guest solution that runs at full
performance on the bare HW without virtualization.
More information about the Users