Avoid computation of log message arguments in syscall handler

This commit is contained in:
LI Qing
2024-05-09 10:11:06 +08:00
committed by Tate, Hongliang Tian
parent da5873e990
commit 98a2e623e2
2 changed files with 10 additions and 8 deletions

View File

@ -19,7 +19,7 @@ pub(crate) use aster_frame::{
};
pub(crate) use bitflags::bitflags;
pub(crate) use int_to_c_enum::TryFromInt;
pub(crate) use log::{debug, error, info, trace, warn};
pub(crate) use log::{debug, error, info, log_enabled, trace, warn};
pub(crate) use pod::Pod;
/// return current process

View File

@ -568,6 +568,7 @@ pub fn syscall_dispatch(
#[macro_export]
macro_rules! log_syscall_entry {
($syscall_name: tt) => {
if log_enabled!(log::Level::Info) {
let syscall_name_str = stringify!($syscall_name);
let pid = $crate::current!().pid();
let tid = $crate::current_thread!().tid();
@ -575,5 +576,6 @@ macro_rules! log_syscall_entry {
"[pid={}][tid={}][id={}][{}]",
pid, tid, $syscall_name, syscall_name_str
);
}
};
}