Fix concurrency-related memory safety issues.

This commit is contained in:
Wood
2025-10-07 00:48:33 +08:00
parent ffc71cc1d8
commit 657d6bc83e
3 changed files with 49 additions and 33 deletions
+14 -14
View File
@@ -486,20 +486,20 @@ impl RealtimeSystemOptimizer {
if scheduling_latency > 100_000 { // >100μs
warn!("⚠️ High scheduling latency detected: {}μs", scheduling_latency / 1000);
}
// 每分钟输出一次详细状态
static mut COUNTER: u32 = 0;
unsafe {
COUNTER += 1;
if COUNTER % 12 == 0 { // 5秒 * 12 = 1分钟
info!("📊 Real-time Status:");
info!(" ⏰ RT Scheduling: {}", if rt_enabled { "" } else { "" });
info!(" 🔒 Memory Locked: {}", if mem_locked { "" } else { "" });
info!(" 🎯 CPU Affinity: {}", if cpu_affinity { "" } else { "" });
info!(" 📈 Scheduling Latency: {}ns (max: {}ns)",
scheduling_latency,
stats.max_scheduling_latency_ns.load(Ordering::Relaxed));
}
// ✅ 线程安全:使用原子计数器
use std::sync::atomic::AtomicU32;
static COUNTER: AtomicU32 = AtomicU32::new(0);
let count = COUNTER.fetch_add(1, Ordering::Relaxed);
if count % 12 == 0 { // 5秒 * 12 = 1分钟
info!("📊 Real-time Status:");
info!(" ⏰ RT Scheduling: {}", if rt_enabled { "" } else { "" });
info!(" 🔒 Memory Locked: {}", if mem_locked { "" } else { "" });
info!(" 🎯 CPU Affinity: {}", if cpu_affinity { "" } else { "" });
info!(" 📈 Scheduling Latency: {}ns (max: {}ns)",
scheduling_latency,
stats.max_scheduling_latency_ns.load(Ordering::Relaxed));
}
}
});