From b7710c7d8abc27b582c36f8160efa724621dbcec Mon Sep 17 00:00:00 2001 From: Alwin Berger Date: Sun, 10 Nov 2024 10:21:36 +0100 Subject: [PATCH] rate-limit UserStats + tolerate pending notifications for 1ms --- fuzzers/FRET/src/systemstate/observers.rs | 4 ++-- fuzzers/FRET/src/time/worst.rs | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/fuzzers/FRET/src/systemstate/observers.rs b/fuzzers/FRET/src/systemstate/observers.rs index ccb110d541..d955601da6 100644 --- a/fuzzers/FRET/src/systemstate/observers.rs +++ b/fuzzers/FRET/src/systemstate/observers.rs @@ -421,8 +421,8 @@ fn get_release_response_pairs(rel: &Vec<(u64, String)>, resp: &Vec<(u64, String) } } else { if let Some(lr) = last_response.get(&next_resp.1) { - if u128::abs_diff(crate::time::clock::tick_to_time(next_resp.0).as_micros(), crate::time::clock::tick_to_time(*lr).as_micros()) > 500 { // tolerate pending notifications for 500us - maybe_error = true; + if u128::abs_diff(crate::time::clock::tick_to_time(next_resp.0).as_micros(), crate::time::clock::tick_to_time(*lr).as_micros()) > 1000 { // tolerate pending notifications for 1ms + // maybe_error = true; // eprintln!("Task {} response at {:.1}ms not found in ready list. Fallback to last response at {:.1}ms.", next_resp.1, crate::time::clock::tick_to_time(next_resp.0).as_micros() as f32/1000.0, crate::time::clock::tick_to_time(*lr).as_micros() as f32/1000.0); } // Sometimes a task is released immediately after a response (e.g. pending notification). This might not be detected. diff --git a/fuzzers/FRET/src/time/worst.rs b/fuzzers/FRET/src/time/worst.rs index d2ccad8dd4..2546b25a0a 100644 --- a/fuzzers/FRET/src/time/worst.rs +++ b/fuzzers/FRET/src/time/worst.rs @@ -468,7 +468,7 @@ impl Monitor for RateLimitedMonitor { fn display(&mut self, event_msg: &str, sender_id: ClientId) { let now = Instant::now(); const RATE : Duration = Duration::from_secs(5); - if event_msg!="Testcase" || now.duration_since(self.last) > RATE { + if (event_msg!="Testcase" && event_msg!="UserStats") || now.duration_since(self.last) > RATE { self.inner.display(event_msg, sender_id); self.last = now; }