diff --git a/crates/flux-utils/src/lib.rs b/crates/flux-utils/src/lib.rs index fa98f7d..16e516c 100644 --- a/crates/flux-utils/src/lib.rs +++ b/crates/flux-utils/src/lib.rs @@ -11,5 +11,5 @@ pub use arrayvec::{ArrayStr, ArrayVec}; pub use dcache::{DCache, DCacheError, DCachePtr, DCacheRef}; pub use namespace::{ShortTypename, short_typename}; pub use shared_vector::SharedVector; -pub use thread::{ThreadPriority, thread_boot}; +pub use thread::{ThreadPriority, get_tid, thread_boot}; pub use vsync::vsync; diff --git a/crates/flux-utils/src/thread.rs b/crates/flux-utils/src/thread.rs index 6e609db..8029704 100644 --- a/crates/flux-utils/src/thread.rs +++ b/crates/flux-utils/src/thread.rs @@ -55,6 +55,16 @@ fn set_thread_affinity(core: usize) { } } +#[cfg(target_os = "linux")] +pub fn get_tid() -> i64 { + unsafe { libc::gettid() as i64 } +} + +#[cfg(not(target_os = "linux"))] +pub fn get_tid() -> i64 { + 0 +} + pub fn thread_boot(core: Option, prio: ThreadPriority) { if let Some(core) = core { set_thread_affinity(core); diff --git a/crates/flux/src/tile/mod.rs b/crates/flux/src/tile/mod.rs index 4094e13..ade68d0 100644 --- a/crates/flux/src/tile/mod.rs +++ b/crates/flux/src/tile/mod.rs @@ -3,7 +3,7 @@ pub mod metrics; use core::sync::atomic::Ordering; use flux_timing::{Duration, IngestionTime}; -use flux_utils::{ShortTypename, ThreadPriority, short_typename, thread_boot, vsync}; +use flux_utils::{ShortTypename, ThreadPriority, get_tid, short_typename, thread_boot, vsync}; use tracing::{Level, info, span}; use crate::{ @@ -94,7 +94,7 @@ where } std::hint::spin_loop(); } - info!("Tile init complete"); + info!(tid = get_tid(), "Tile init complete"); loop { let ingestion_t = IngestionTime::now();