summaryrefslogtreecommitdiffstats
path: root/include/trace
diff options
context:
space:
mode:
authorNicolas Pitre <nicolas.pitre@linaro.org>2013-06-13 23:51:18 -0400
committerNicolas Pitre <nicolas.pitre@linaro.org>2013-09-23 18:47:29 -0400
commit6137eba6c2b9bc2b7fd52e77741f50e43db4b5a6 (patch)
tree57fe4cd3d01b6c87c3f276a5044ec7cd59681530 /include/trace
parent14d2ca615a85e2dbc744c12c296affd35f119fa7 (diff)
downloadblackbird-op-linux-6137eba6c2b9bc2b7fd52e77741f50e43db4b5a6.tar.gz
blackbird-op-linux-6137eba6c2b9bc2b7fd52e77741f50e43db4b5a6.zip
ARM: bL_switcher: wait until inbound is alive before performing a switch
In some cases, a significant delay may be observed between the moment a request for a CPU to come up is made and the moment it is ready to start executing kernel code. This is especially true when a whole cluster has to be powered up which may take in the order of miliseconds. It is therefore a good idea to let the outbound CPU continue to execute code in the mean time, and be notified when the inbound is ready before performing the actual switch. This is achieved by registering a completion block with the appropriate IPI callback, and programming the sending of an IPI by the early assembly code prior to entering the main kernel code. Once the IPI is delivered to the outbound CPU, the completion block is "completed" and the switcher thread is resumed. Signed-off-by: Nicolas Pitre <nico@linaro.org>
Diffstat (limited to 'include/trace')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud