diff --git a/kernel/aster-nix/src/prelude.rs b/kernel/aster-nix/src/prelude.rs index d7ac12eed..0206faddb 100644 --- a/kernel/aster-nix/src/prelude.rs +++ b/kernel/aster-nix/src/prelude.rs @@ -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 diff --git a/kernel/aster-nix/src/syscall/mod.rs b/kernel/aster-nix/src/syscall/mod.rs index bf7456336..c429f6ce2 100644 --- a/kernel/aster-nix/src/syscall/mod.rs +++ b/kernel/aster-nix/src/syscall/mod.rs @@ -568,12 +568,14 @@ pub fn syscall_dispatch( #[macro_export] macro_rules! log_syscall_entry { ($syscall_name: tt) => { - let syscall_name_str = stringify!($syscall_name); - let pid = $crate::current!().pid(); - let tid = $crate::current_thread!().tid(); - info!( - "[pid={}][tid={}][id={}][{}]", - pid, tid, $syscall_name, syscall_name_str - ); + if log_enabled!(log::Level::Info) { + let syscall_name_str = stringify!($syscall_name); + let pid = $crate::current!().pid(); + let tid = $crate::current_thread!().tid(); + info!( + "[pid={}][tid={}][id={}][{}]", + pid, tid, $syscall_name, syscall_name_str + ); + } }; }