Skip to content

btrfs: report congestion for NO_THRESHOLD workqueues#11

Draft
eeea2222 wants to merge 1 commit into
CachyOS:7.0/cachyfrom
eeea2222:codex/btrfs-no-threshold-congestion
Draft

btrfs: report congestion for NO_THRESHOLD workqueues#11
eeea2222 wants to merge 1 commit into
CachyOS:7.0/cachyfrom
eeea2222:codex/btrfs-no-threshold-congestion

Conversation

@eeea2222

Copy link
Copy Markdown

Summary

Keep pending-work accounting for Btrfs workqueues even when they use NO_THRESHOLD, and let btrfs_workqueue_normal_congested() report congestion for those queues based on pending work versus online CPU count.

Dynamic max-active behavior for thresholded workqueues is unchanged.

Why

NO_THRESHOLD queues previously always reported uncongested, even when pending work was high. This hid backpressure from callers that use congestion as a signal.

Compatibility

No userspace ABI, module contract, exported symbol, Kconfig, or dependency changes. Existing workqueue interfaces remain unchanged.

Validation

  • Passed targeted ARCH=um object build for fs/btrfs/async-thread.o.
  • scripts/checkpatch.pl --no-tree --file fs/btrfs/async-thread.c passed.
  • x86 object validation was attempted locally but blocked before compiling this object because the host environment lacked gelf.h, required by objtool.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant