Commit graph

  • e55bf1829b thread_pool: skip _remove_thread_scaling_locked during shutdown Antonio S. Musumeci 2026-04-18 17:50:30 -04:00
  • 1b158549b8 thread_pool: document shutdown contract Antonio S. Musumeci 2026-04-18 17:49:43 -04:00
  • fbf69071d2 thread_pool: use acquire ordering in tasks_pending for weak memory Antonio S. Musumeci 2026-04-18 17:48:46 -04:00
  • 17c0ffaddc thread_pool: remove dead code and fix stale comment Antonio S. Musumeci 2026-04-18 17:47:49 -04:00
  • da68cf3a85 Formatting: normalize brace style and parameter alignment Antonio S. Musumeci 2026-04-18 01:01:00 -04:00
  • ec40866091 libfuse: small safety and portability fixes across opt/cpu/fusermount/maintenance_thread Antonio S. Musumeci 2026-04-18 01:00:51 -04:00
  • bd0714272e libfuse: thread_pool/objpool/fuse_loop - safer memory and iteration Antonio S. Musumeci 2026-04-18 01:00:32 -04:00
  • 27acd9fcc7 libfuse: use atomic fuse_session pointer in signal handler Antonio S. Musumeci 2026-04-18 01:00:19 -04:00
  • 4516685ca7 libfuse: harden fuse.cpp against NULL nodes; use lock guards; check allocations Antonio S. Musumeci 2026-04-18 01:00:11 -04:00
  • 0bdbaf1d6c libfuse: remove userdata from init/destroy APIs; drop unused fuse_reply_ioctl_iov Antonio S. Musumeci 2026-04-18 00:59:52 -04:00
  • e67b7d0825 log: default debug log path to empty; skip set when empty Antonio S. Musumeci 2026-04-18 00:59:08 -04:00
  • 981d5473ee str: null-safe same() and startswith() Antonio S. Musumeci 2026-04-18 00:59:00 -04:00
  • 364f8c4407 fs_movefile_and_open: -ENOSPC when no destination branch available Antonio S. Musumeci 2026-04-18 00:58:51 -04:00
  • ef9c7ad5df fuse_statfs: scale with long double to avoid integer overflow Antonio S. Musumeci 2026-04-18 00:58:43 -04:00
  • 4288a60c5d fuse_readlink: always null-terminate buffer Antonio S. Musumeci 2026-04-18 00:58:28 -04:00
  • cf38a37176 fuse_readdir: atomic initialized flag; bound error string; check msgbuf allocation Antonio S. Musumeci 2026-04-18 00:58:06 -04:00
  • f5d9a60b9d fuse_getattr/statx: populate timeouts in fake_root and controlfile replies Antonio S. Musumeci 2026-04-18 00:57:31 -04:00
  • 0c17492c78 FUSE: pass Branches::Ptr by value with empty-branches guards Antonio S. Musumeci 2026-04-18 00:56:15 -04:00
  • 98648ae44b FUSE: require valid file/dir handle; drop open_files fallback Antonio S. Musumeci 2026-04-18 00:53:11 -04:00
  • 0dcca0f1a3 branches: re-link default_minfreespace pointer on copy/move; atomically publish branch mode changes Antonio S. Musumeci 2026-04-18 00:45:32 -04:00
  • 103cd358f2 state: atomic ref_count in OpenFile Antonio S. Musumeci 2026-04-18 00:45:23 -04:00
  • aa46001923 Remove unused rwlock.hpp header and includes Antonio S. Musumeci 2026-04-18 00:45:12 -04:00
  • 8812435880 Formatting: normalize brace style and parameter alignment Antonio S. Musumeci 2026-04-18 01:01:00 -04:00
  • 861d52ceb3 libfuse: small safety and portability fixes across opt/cpu/fusermount/maintenance_thread Antonio S. Musumeci 2026-04-18 01:00:51 -04:00
  • a5043d801a libfuse: thread_pool/objpool/fuse_loop - safer memory and iteration Antonio S. Musumeci 2026-04-18 01:00:32 -04:00
  • 23ec04cc5d libfuse: use atomic fuse_session pointer in signal handler Antonio S. Musumeci 2026-04-18 01:00:19 -04:00
  • 148cc7fa02 libfuse: harden fuse.cpp against NULL nodes; use lock guards; check allocations Antonio S. Musumeci 2026-04-18 01:00:11 -04:00
  • 3c12ea3a5f libfuse: remove userdata from init/destroy APIs; drop unused fuse_reply_ioctl_iov Antonio S. Musumeci 2026-04-18 00:59:52 -04:00
  • e1fe849f43 log: default debug log path to empty; skip set when empty Antonio S. Musumeci 2026-04-18 00:59:08 -04:00
  • 6834a4e078 str: null-safe same() and startswith() Antonio S. Musumeci 2026-04-18 00:59:00 -04:00
  • 1c5db05681 fs_movefile_and_open: -ENOSPC when no destination branch available Antonio S. Musumeci 2026-04-18 00:58:51 -04:00
  • f0f1aaf45c fuse_statfs: scale with long double to avoid integer overflow Antonio S. Musumeci 2026-04-18 00:58:43 -04:00
  • 02a1b2d014 fuse_readlink: always null-terminate buffer Antonio S. Musumeci 2026-04-18 00:58:28 -04:00
  • 1e8e313db0 fuse_readdir: atomic initialized flag; bound error string; check msgbuf allocation Antonio S. Musumeci 2026-04-18 00:58:06 -04:00
  • 524acacadb fuse_getattr/statx: populate timeouts in fake_root and controlfile replies Antonio S. Musumeci 2026-04-18 00:57:31 -04:00
  • 1a6f4ad309 FUSE: pass Branches::Ptr by value with empty-branches guards Antonio S. Musumeci 2026-04-18 00:56:15 -04:00
  • 4d813d4c0f FUSE: require valid file/dir handle; drop open_files fallback Antonio S. Musumeci 2026-04-18 00:53:11 -04:00
  • da3cb9ae56 branches: re-link default_minfreespace pointer on copy/move; atomically publish branch mode changes Antonio S. Musumeci 2026-04-18 00:45:32 -04:00
  • deba02e3d3 state: atomic ref_count in OpenFile Antonio S. Musumeci 2026-04-18 00:45:23 -04:00
  • e5c90cb5fe Remove unused rwlock.hpp header and includes Antonio S. Musumeci 2026-04-18 00:45:12 -04:00
  • ff48ff6047 Handle/ignore SIGHUP Antonio SJ Musumeci 2026-04-17 11:03:49 -05:00
  • 6518ad4a1b Handle/ignore SIGHUP Antonio SJ Musumeci 2026-04-17 11:03:49 -05:00
  • d5a2187713 Fix make race condition Antonio SJ Musumeci 2026-04-16 13:07:41 -05:00
  • b80d040447 Fix make race condition Antonio SJ Musumeci 2026-04-16 13:07:41 -05:00
  • 351adc2b20 Add tests for HashSet, rapidhash withSeed consistency, and ReaddirCalc parity with calc Antonio S. Musumeci 2026-04-10 22:11:50 -04:00
  • a1e681f36b Use ReaddirCalc in all readdir implementations Antonio S. Musumeci 2026-04-10 22:05:07 -04:00
  • e3a467de80 Refactor fs_inode Antonio S. Musumeci 2026-04-10 22:04:57 -04:00
  • cdadda5eb9 Replace khash with custom hash set Antonio S. Musumeci 2026-04-10 22:04:50 -04:00
  • 4c9a9d7e15 Upgrade rapidhash Antonio SJ Musumeci 2026-04-12 21:57:34 -05:00
  • cf57bcf698 Add tests for HashSet, rapidhash withSeed consistency, and ReaddirCalc parity with calc Antonio S. Musumeci 2026-04-10 22:11:50 -04:00
  • 83c3938fb3 Use ReaddirCalc in all readdir implementations Antonio S. Musumeci 2026-04-10 22:05:07 -04:00
  • c2bc707b4e Refactor fs_inode Antonio S. Musumeci 2026-04-10 22:04:57 -04:00
  • e721dc6c87 Replace khash with custom hash set Antonio S. Musumeci 2026-04-10 22:04:50 -04:00
  • 9f4b967d66 Upgrade rapidhash Antonio SJ Musumeci 2026-04-12 21:57:34 -05:00
  • b8b97ffeca checkpoint Antonio S. Musumeci 2026-04-11 17:17:26 -04:00
  • 118f2e767e checkpoint Antonio S. Musumeci 2026-04-11 15:06:41 -04:00
  • 5f2972278a checkpoint Antonio S. Musumeci 2026-04-11 14:15:44 -04:00
  • 8ef23782f6 checkpoint Antonio S. Musumeci 2026-04-11 13:46:57 -04:00
  • 425e30b50f Use nanosleep rather than yield and return EINTR Antonio SJ Musumeci 2026-04-09 16:14:17 -05:00
  • adca612e43 checkpoint Antonio S. Musumeci 2026-04-11 12:30:30 -04:00
  • 31d345529d Use nanosleep rather than yield and return EINTR Antonio SJ Musumeci 2026-04-09 16:14:17 -05:00
  • 9446f784a9 checkpoint Antonio S. Musumeci 2026-04-11 00:59:30 -04:00
  • 890b899219 fix stale line-number reference in monitor comment Antonio S. Musumeci 2026-04-10 22:31:00 -04:00
  • 81e8f6281a fix data race on _threads between constructor and autoscale workers Antonio S. Musumeci 2026-04-10 22:24:14 -04:00
  • 26c10d8a2e fix hill-climb monitor expected_count after shrink Antonio S. Musumeci 2026-04-10 22:21:20 -04:00
  • 5f50f76b66 fix idle self-exit allowing pool to drain to 0 threads Antonio S. Musumeci 2026-04-10 22:18:23 -04:00
  • f3b4703ee2 fix constructor resource leak and monitor condvar lost-wakeup race Antonio S. Musumeci 2026-04-10 22:15:35 -04:00
  • 12a3a689ed fix tasks_pending() load ordering to bias toward zero as intended Antonio S. Musumeci 2026-04-10 22:12:02 -04:00
  • 911d31c04e checkpoint Antonio S. Musumeci 2026-04-10 22:09:11 -04:00
  • ea2d08ae4d checkpoint Antonio S. Musumeci 2026-04-10 22:00:43 -04:00
  • 37bb632524 checkpoint Antonio S. Musumeci 2026-04-10 21:58:00 -04:00
  • aff4ea1f01 checkpoint Antonio S. Musumeci 2026-04-10 21:32:14 -04:00
  • b210680bad checkpoint Antonio S. Musumeci 2026-04-10 20:37:44 -04:00
  • 51f803ca9c checkpoint Antonio S. Musumeci 2026-04-10 19:44:23 -04:00
  • 36a16249ac checkpoint Antonio S. Musumeci 2026-04-10 19:31:10 -04:00
  • bd56969399 checkpoint Antonio S. Musumeci 2026-04-10 19:17:04 -04:00
  • 7ce5364c35 thread_pool: extract _try_claim_removal to deduplicate CAS loop Antonio S. Musumeci 2026-04-10 18:46:48 -04:00
  • 2d3528431b thread_pool: use producer token on fast path of enqueue_work_autoscale Antonio S. Musumeci 2026-04-10 18:20:14 -04:00
  • 375f1f9303 thread_pool: measure cooldown from completion in _maybe_grow_on_pressure Antonio S. Musumeci 2026-04-10 17:34:22 -04:00
  • 159a5c7b71 thread_pool: skip spurious wakeups in hill-climb monitor Antonio S. Musumeci 2026-04-10 17:32:51 -04:00
  • c43a14f269 thread_pool: close TOCTOU in set_threads by reading _remove_count under lock Antonio S. Musumeci 2026-04-10 17:29:07 -04:00
  • 06a2ba2f35 thread_pool: use acquire ordering in tasks_pending for ARM/POWER Antonio S. Musumeci 2026-04-10 16:48:19 -04:00
  • 05413b86fd thread_pool: serialize idle self-exit with scaling operations Antonio S. Musumeci 2026-04-10 16:46:01 -04:00
  • dbb7c5e785 thread_pool: close TOCTOU race in _remove_thread_scaling_locked Antonio S. Musumeci 2026-04-10 16:44:53 -04:00
  • f9e36b3889 thread_pool: replace assert with runtime check in enqueue_work_autoscale Antonio S. Musumeci 2026-04-10 16:44:18 -04:00
  • bc3a0ed8d6 thread_pool: snapshot min_threads before _try_remove_self_if_above call Antonio S. Musumeci 2026-04-10 16:38:39 -04:00
  • 13f56e6ea1 thread_pool: store scaling config by value Antonio S. Musumeci 2026-04-10 16:23:08 -04:00
  • d1bcde3753 Fix thread pool shutdown race Antonio S. Musumeci 2026-04-10 14:18:02 -04:00
  • 462020d19a Make _scaling_config const to enforce write-once invariant Antonio S. Musumeci 2026-04-10 13:44:27 -04:00
  • 0a0c82c224 Document thread-safety of _scaling_config and _autoscale_enabled Antonio S. Musumeci 2026-04-10 13:42:49 -04:00
  • 65e136c667 Document why relaxed ordering is correct for _remove_count CAS Antonio S. Musumeci 2026-04-10 13:41:06 -04:00
  • 02703ef239 Apply cooldown backoff on pthread_create failure Antonio S. Musumeci 2026-04-10 13:34:34 -04:00
  • 1dd979f955 Reset hill-climb warmup after idle period to re-seed EMA Antonio S. Musumeci 2026-04-10 13:25:33 -04:00
  • 47a097ee96 Use condvar for monitor sleep to allow instant shutdown wakeup Antonio S. Musumeci 2026-04-10 13:14:34 -04:00
  • a90e13a19d Fix set_threads over-shrink when prior removals are still pending Antonio S. Musumeci 2026-04-10 12:59:16 -04:00
  • 62d905bb29 Fix monitor/fast-path cooldown race in hill-climb scaling Antonio S. Musumeci 2026-04-10 12:56:51 -04:00
  • 4d35726fc6 Assert try_enqueue does not move-from callable on failure Antonio S. Musumeci 2026-04-10 12:40:43 -04:00
  • ea47934c63 Fix idle pool stall when shrinking via _remove_count Antonio S. Musumeci 2026-04-10 12:39:30 -04:00
  • ec024b246a Load completed before enqueued in tasks_pending to bias low Antonio S. Musumeci 2026-04-10 12:06:51 -04:00
  • 80af7ffcc0 Drain _remove_count in destructor before sending poison pills Antonio S. Musumeci 2026-04-10 11:46:59 -04:00