Jonathan Zhang has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/68786 )
Change subject: cpu/x86/mp_init: adjust timeout for 2nd SIPI ......................................................................
cpu/x86/mp_init: adjust timeout for 2nd SIPI
Adjust timeout for 2nd SIPI to satisfy some to-be-launched server processors.
Add a trace print to display how long it takes for the APs to be ready. This facilitates trouble shooting and trend analysis.
Change-Id: Id958f18bdcb34d76df8aa443161123252524328e Signed-off-by: Jonathan Zhang jonzhang@meta.com
temp
Change-Id: I29f9aba1d0256b7b3458a78b0b8a8b4b294c4482 Signed-off-by: jon@meta.com --- M src/cpu/x86/mp_init.c 1 file changed, 25 insertions(+), 2 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/86/68786/1
diff --git a/src/cpu/x86/mp_init.c b/src/cpu/x86/mp_init.c index df74d24..c3936c06 100644 --- a/src/cpu/x86/mp_init.c +++ b/src/cpu/x86/mp_init.c @@ -151,6 +151,7 @@ }
/* APs ready before timeout */ + printk(BIOS_TRACE, "APs are ready after %dus\n", delayed); return CB_SUCCESS; }
@@ -468,7 +469,7 @@ if (send_sipi_to_aps(ap_count, num_aps, sipi_vector) != CB_SUCCESS) return CB_ERR;
- /* Wait for CPUs to check in up to 200 us. */ + /* Wait for CPUs to check in. */ wait_for_aps(num_aps, ap_count, 200 /* us */, 15 /* us */); }
@@ -477,7 +478,7 @@ return CB_ERR;
/* Wait for CPUs to check in. */ - if (wait_for_aps(num_aps, ap_count, 100000 /* 100 ms */, 50 /* us */) != CB_SUCCESS) { + if (wait_for_aps(num_aps, ap_count, 400000 /* 400 ms */, 50 /* us */) != CB_SUCCESS) { printk(BIOS_ERR, "Not all APs checked in: %d/%d.\n", atomic_read(num_aps), ap_count); return CB_ERR;