From ab01a00176db60080047731ab548136e773b6c51 Mon Sep 17 00:00:00 2001 From: Donald Sharp Date: Wed, 3 Feb 2021 09:13:59 -0500 Subject: lib: Figure out if we are being starved for cpu If a thread timer should have popped CPU_CONSUMED_CHECK seconds in the past, and we are only handling it now. Consider the thread starved and notice it. Signed-off-by: Donald Sharp --- lib/lib_errors.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'lib/lib_errors.c') diff --git a/lib/lib_errors.c b/lib/lib_errors.c index a139b9a14c..acc9a05c33 100644 --- a/lib/lib_errors.c +++ b/lib/lib_errors.c @@ -56,6 +56,12 @@ static struct log_ref ferr_lib_warn[] = { .description = "The Event subsystem has detected a slow process, this typically indicates that FRR is having trouble completing work in a timely manner. This can be either a misconfiguration, bug or some combination thereof. In this case total WALL time was over 5 seconds. Which indicates that FRR might be having trouble being scheduled or some system call is delaying", .suggestion = "Gather log data and open an Issue", }, + { + .code = EC_LIB_STARVE_THREAD, + .title = "The Event subsystem has detected a thread starvation issue", + .description = "The event subsystem has detected a thread starvation issue. This typically indicates that the system FRR is running on is heavily loaded and this load might be impacting FRR's ability to handle events in a timely fashion", + .suggestion = "Gather log data and open an Issue", + }, { .code = EC_LIB_NO_THREAD, .title = "The Event subsystem has detected an internal FD problem", -- cgit v1.2.3