This is a note to let you know that I've just added the patch titled btrfs: set default discard iops_limit to 1000 to the 6.2-stable tree which can be found at: http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary The filename of the patch is: btrfs-set-default-discard-iops_limit-to-1000.patch and it can be found in the queue-6.2 subdirectory. If you, or anyone else, feels it should not be added to the stable tree, please let <stable@xxxxxxxxxxxxxxx> know about it. >From e9f59429b87d35cf23ae9ca19629bd686a1c0304 Mon Sep 17 00:00:00 2001 From: Boris Burkov <boris@xxxxxx> Date: Wed, 5 Apr 2023 12:43:58 -0700 Subject: btrfs: set default discard iops_limit to 1000 From: Boris Burkov <boris@xxxxxx> commit e9f59429b87d35cf23ae9ca19629bd686a1c0304 upstream. Previously, the default was a relatively conservative 10. This results in a 100ms delay, so with ~300 discards in a commit, it takes the full 30s till the next commit to finish the discards. On a workstation, this results in the disk never going idle, wasting power/battery, etc. Set the default to 1000, which results in using the smallest possible delay, currently, which is 1ms. This has shown to not pathologically keep the disk busy by the original reporter. Link: https://lore.kernel.org/linux-btrfs/Y%2F+n1wS%2F4XAH7X1p@nz/ Link: https://bugzilla.redhat.com/show_bug.cgi?id=2182228 CC: stable@xxxxxxxxxxxxxxx # 6.2+ Reviewed-by: Neal Gompa <neal@xxxxxxxxx Signed-off-by: Boris Burkov <boris@xxxxxx> Reviewed-by: David Sterba <dsterba@xxxxxxxx> Signed-off-by: David Sterba <dsterba@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> --- fs/btrfs/discard.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- a/fs/btrfs/discard.c +++ b/fs/btrfs/discard.c @@ -60,7 +60,7 @@ #define BTRFS_DISCARD_TARGET_MSEC (6 * 60 * 60UL * MSEC_PER_SEC) #define BTRFS_DISCARD_MIN_DELAY_MSEC (1UL) #define BTRFS_DISCARD_MAX_DELAY_MSEC (1000UL) -#define BTRFS_DISCARD_MAX_IOPS (10U) +#define BTRFS_DISCARD_MAX_IOPS (1000U) /* Monotonically decreasing minimum length filters after index 0 */ static int discard_minlen[BTRFS_NR_DISCARD_LISTS] = { Patches currently in stable-queue which might be from boris@xxxxxx are queue-6.2/btrfs-reinterpret-async-discard-iops_limit-0-as-no-delay.patch queue-6.2/btrfs-set-default-discard-iops_limit-to-1000.patch