diff options
| author | Christoph Hellwig <hch@lst.de> | 2025-10-15 15:29:30 +0900 |
|---|---|---|
| committer | Carlos Maiolino <cem@kernel.org> | 2025-10-21 11:32:50 +0200 |
| commit | a8c861f401b4b2f8feda282abff929fa91c1f73a (patch) | |
| tree | 1ed9b6900ce653c40d6e2a4a47cc79556e0e814f /lib/timerqueue.c | |
| parent | f5caeb3689ea2d8a8c0790d9eea68b63e8f15496 (diff) | |
xfs: avoid busy loops in GCD
When GCD has no new work to handle, but read, write or reset commands
are outstanding, it currently busy loops, which is a bit suboptimal,
and can lead to softlockup warnings in case of stuck commands.
Change the code so that the task state is only set to running when work
is performed, which looks a bit tricky due to the design of the
reading/writing/resetting lists that contain both in-flight and finished
commands.
Fixes: 080d01c41d44 ("xfs: implement zoned garbage collection")
Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Hans Holmberg <hans.holmberg@wdc.com>
Signed-off-by: Carlos Maiolino <cem@kernel.org>
Diffstat (limited to 'lib/timerqueue.c')
0 files changed, 0 insertions, 0 deletions
