Booting cores is not a trivial task according to the Intel / Amd manuals.
BAiC's idea looks simple and interesting. I thought posting this link
might intrest some people on this board as well.
http://board.flatassembler.net/topic.php?t=13498
regards
Mac2004
Intresting idea of booting cores on multicore cpus
Intresting idea of booting cores on multicore cpus
Last edited by M2004 on Sat Oct 15, 2011 1:30 pm, edited 1 time in total.
Re: Intresting idea of booting cores on multicore cpu's
Hi,
Cheers,
Brendan
cod3b453 is right - the CPUs won't respond to NMI at all (until after they've been started with the INIT-SIPI-SIPI sequence); and BAiC's code should essentially do nothing (if all AP CPUs are waiting to start).mac2004 wrote:BAiC's idea looks simple and interesting. I thought posting this link
might intrest some people on this board as well.
http://board.flatassembler.net/topic.php?t=13498
Booting cores is easy. What is harder is correctly detecting when they've failed to start; only starting CPUs that should be started (and not CPUs that failed their BIST, or logical CPUs that are disabled because hyper-threading is disabled); and detecting topology so that the scheduler can make good decisions (e.g. which logical CPUs belong to which cores, which physical CPUs and which NUMA domains). If the NMI idea actually did work, then it would only replace the easy part (and make the harder problems worse).mac2004 wrote:Booting cores is not a trivial task according to the Intel / Amd manuals.
Cheers,
Brendan
For all things; perfection is, and will always remain, impossible to achieve in practice. However; by striving for perfection we create things that are as perfect as practically possible. Let the pursuit of perfection be our guide.
Re: Intresting idea of booting cores on multicore cpu's
NMI is basically good for only one thing: To create crash-logs. As soon as a fatal error happens on one core, it could send an NMI IPI to all other cores to make them dump their state.