diff --git a/core/partitions/src/messages_writer.rs b/core/partitions/src/messages_writer.rs index 9e61ec1bef..d689127190 100644 --- a/core/partitions/src/messages_writer.rs +++ b/core/partitions/src/messages_writer.rs @@ -178,9 +178,9 @@ fn preallocate_file(file: &File, file_path: &str, len: u64) { // sets `thread_pool_limit(0)` on the shard proactor, so `spawn_blocking` // has no worker to park a task on and compio panics the shard outright with // "the thread pool is needed but no worker thread is running". (That limit - // is skipped on macOS/aarch64, where the pool does exist -- see the FIXME - // there -- so the panic is Linux-and-most-targets, not universal. This arm - // is Linux-only regardless.) + // is skipped on macOS, whose polling driver routes fs through the pool, so + // the panic is Linux-and-most-targets, not universal. This arm is + // Linux-only regardless.) // // The cost is acceptable only because of what this call is: a metadata-only // extent reservation, microseconds on the local filesystems this option diff --git a/core/server_common/src/executor.rs b/core/server_common/src/executor.rs index 8fb8cc8422..8ad8f9920f 100644 --- a/core/server_common/src/executor.rs +++ b/core/server_common/src/executor.rs @@ -84,7 +84,7 @@ pub fn create_shard_executor() -> Result { // io_uring targets keep the zero limit: no blocking pool exists on shard // threads, which `core/partitions` messages_writer relies on to justify // running fallocate inline (`spawn_blocking` would hit that same panic). - #[cfg(not(all(target_os = "macos", target_arch = "aarch64")))] + #[cfg(not(target_os = "macos"))] proactor.thread_pool_limit(0); compio::runtime::RuntimeBuilder::new()