From 3f6ff24e57e1a4d16f4f43bf08d69492754498ea Mon Sep 17 00:00:00 2001 From: Arthur Heymans Date: Tue, 31 May 2022 17:47:56 +0200 Subject: [PATCH] cpu/x86/mp_init.c: Prolong delay on synchronous API When each AP needs to do a lot of printing 1 sec is not enough. Change-Id: I00f0a49bf60f3915547924c34a62dd0044b0c918 Signed-off-by: Arthur Heymans Reviewed-on: https://review.coreboot.org/c/coreboot/+/64828 Reviewed-by: Subrata Banik Tested-by: build bot (Jenkins) Reviewed-by: Kane Chen --- src/cpu/x86/mp_init.c | 4 ++-- src/include/cpu/x86/mp.h | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/cpu/x86/mp_init.c b/src/cpu/x86/mp_init.c index e4e662e9ad..7cc7fbcd18 100644 --- a/src/cpu/x86/mp_init.c +++ b/src/cpu/x86/mp_init.c @@ -1041,9 +1041,9 @@ enum cb_err mp_run_on_all_cpus_synchronously(void (*func)(void *), void *arg) /* Run on BSP first. */ func(arg); - /* For up to 1 second for AP to finish previous work. */ + /* For up to 1 second per AP (console can be slow) to finish previous work. */ return mp_run_on_aps_and_wait_for_complete(func, arg, MP_RUN_ON_ALL_CPUS, - 1000 * USECS_PER_MSEC); + 1000 * USECS_PER_MSEC * global_num_aps); } enum cb_err mp_park_aps(void) diff --git a/src/include/cpu/x86/mp.h b/src/include/cpu/x86/mp.h index aea3ca1e3d..8ee7d02431 100644 --- a/src/include/cpu/x86/mp.h +++ b/src/include/cpu/x86/mp.h @@ -122,7 +122,7 @@ enum cb_err mp_run_on_all_aps(void (*func)(void *), void *arg, long expire_us, enum cb_err mp_run_on_all_cpus(void (*func)(void *), void *arg); /* Like mp_run_on_all_cpus but make sure all APs finish executing the - function call. The time limit on a function call is 1 second. */ + function call. The time limit on a function call is 1 second per AP. */ enum cb_err mp_run_on_all_cpus_synchronously(void (*func)(void *), void *arg); /*