Kent Overstreet
916abefd43
bcachefs: better journal pipelining
...
Recently a severe performance regression was discovered, which bisected
to
a6548c8b5eb5 bcachefs: Avoid flushing the journal in the discard path
It turns out the old behaviour, which issued excessive journal flushes,
worked around a performance issue where queueing delays would cause the
journal to not be able to write quickly enough and stall.
The journal flushes masked the issue because they periodically flushed
the device write cache, reducing write latency for non flushes.
This patch reworks the journalling code to allow more than one
(non-flush) write to be in flight at a time. With this patch, doing 4k
random writes and an iodepth of 128, we are now able to hit 560k iops to
a Samsung 970 EVO Plus - previously, we were stuck in the ~200k range.
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2024-03-10 15:34:08 -04:00
..
2024-01-01 11:47:07 -05:00
2024-01-21 13:27:10 -05:00
2024-01-24 17:27:46 -05:00
2024-01-05 23:24:20 -05:00
2024-01-21 06:01:45 -05:00
2024-02-24 20:41:37 -05:00
2024-01-21 13:27:10 -05:00
2024-03-10 15:34:08 -04:00
2024-01-01 11:47:41 -05:00
2024-02-13 20:33:38 -05:00
2024-01-21 13:27:09 -05:00
2024-01-21 06:01:45 -05:00
2023-11-05 13:12:18 -05:00
2024-01-21 13:27:09 -05:00
2024-03-10 15:21:04 -04:00
2024-01-21 13:27:10 -05:00
2024-01-21 13:27:10 -05:00
2024-01-21 13:27:10 -05:00
2024-01-21 13:27:10 -05:00
2024-03-10 15:18:45 -04:00
2024-03-10 15:21:04 -04:00
2024-01-01 11:47:40 -05:00
2024-03-10 15:30:56 -04:00
2024-01-21 13:27:10 -05:00
2024-01-05 23:24:19 -05:00
2023-11-24 02:43:12 -05:00
2023-11-13 21:45:01 -05:00
2024-01-01 11:47:43 -05:00
2024-01-01 11:47:41 -05:00
2024-01-22 12:37:51 -05:00
2024-01-21 13:27:10 -05:00
2024-01-21 13:27:10 -05:00
2024-01-21 13:27:10 -05:00
2024-03-10 15:18:13 -04:00
2024-03-10 15:18:13 -04:00
2024-01-05 23:24:19 -05:00
2024-01-01 11:47:44 -05:00
2024-01-01 11:47:41 -05:00
2024-01-21 13:27:10 -05:00
2024-01-05 23:24:19 -05:00
2024-01-21 06:01:45 -05:00
2024-01-21 06:01:45 -05:00
2024-01-21 06:01:45 -05:00
2024-01-05 23:24:20 -05:00
2024-03-10 15:34:08 -04:00
2024-01-05 23:24:21 -05:00
2024-01-21 13:27:09 -05:00
2024-01-01 11:47:40 -05:00
2024-01-21 06:01:45 -05:00
2024-01-01 11:46:52 -05:00
2024-01-01 11:47:43 -05:00
2024-01-21 13:27:10 -05:00
2023-11-25 21:48:42 -05:00
2024-01-22 12:37:51 -05:00
2024-01-21 13:27:10 -05:00
2024-03-10 15:34:08 -04:00
2024-03-10 15:34:08 -04:00
2024-01-05 23:24:21 -05:00
2024-01-21 13:27:11 -05:00
2024-01-01 11:47:38 -05:00
2024-01-21 06:01:45 -05:00
2024-01-05 23:24:20 -05:00
2024-01-05 23:24:19 -05:00
2024-01-05 23:24:20 -05:00
2023-12-19 19:01:52 -05:00
2024-01-01 11:47:44 -05:00
2024-01-21 13:27:11 -05:00
2024-01-21 13:27:10 -05:00
2024-03-10 15:12:13 -04:00
2024-01-21 06:01:45 -05:00
2024-03-10 15:34:08 -04:00
2024-02-24 20:41:42 -05:00
2024-02-24 20:45:24 -05:00
2024-01-21 13:27:10 -05:00
2024-01-21 13:27:10 -05:00
2024-01-22 12:37:51 -05:00
2024-01-28 21:41:09 -05:00
2023-11-05 13:12:18 -05:00
2024-02-10 17:37:32 -05:00
2024-01-01 11:47:36 -05:00
2024-03-10 15:34:08 -04:00
2024-01-21 13:27:10 -05:00
2024-03-10 15:34:07 -04:00
2024-01-05 23:24:20 -05:00
2024-01-21 13:27:10 -05:00
2024-01-05 23:24:21 -05:00
2024-02-13 20:33:38 -05:00
2023-11-24 00:29:58 -05:00
2024-03-10 15:34:08 -04:00
2024-03-10 15:34:08 -04:00
2024-03-10 15:34:08 -04:00
2024-01-01 11:47:41 -05:00
2024-03-10 15:09:59 -04:00
2024-03-10 15:34:08 -04:00
2024-03-10 15:34:08 -04:00
2024-03-10 15:34:08 -04:00
2024-01-01 11:47:44 -05:00
2024-01-01 11:47:43 -05:00
2024-01-01 11:47:43 -05:00
2024-01-21 13:27:11 -05:00
2024-01-01 11:47:42 -05:00
2024-01-01 11:47:42 -05:00
2024-01-21 13:27:10 -05:00
2024-01-01 11:47:42 -05:00
2024-01-28 21:29:23 -05:00
2024-01-01 11:47:42 -05:00
2024-01-21 13:27:10 -05:00
2024-01-01 11:47:39 -05:00
2024-01-01 11:47:42 -05:00
2024-01-21 06:01:45 -05:00
2024-03-10 15:12:54 -04:00
2024-02-13 21:59:27 -05:00
2024-01-01 11:47:07 -05:00
2024-01-21 13:27:10 -05:00
2024-01-01 11:47:42 -05:00
2024-01-21 13:27:10 -05:00
2024-01-01 11:47:44 -05:00
2024-03-10 15:18:13 -04:00
2024-01-01 11:47:40 -05:00
2024-01-21 13:27:11 -05:00
2024-01-21 13:27:10 -05:00
2024-01-21 06:01:45 -05:00
2024-01-01 11:47:39 -05:00
2024-01-21 13:27:04 -05:00
2024-01-01 11:47:38 -05:00
2024-03-10 15:34:08 -04:00
2024-01-21 13:27:10 -05:00
2024-01-21 13:27:10 -05:00
2024-01-21 13:27:10 -05:00
2024-01-05 23:24:21 -05:00
2024-01-05 23:24:20 -05:00
2024-03-10 15:21:04 -04:00
2024-01-01 11:47:07 -05:00
2024-01-01 11:47:07 -05:00
2024-02-10 17:37:34 -05:00
2024-01-01 11:47:42 -05:00
2024-01-01 11:47:38 -05:00
2024-01-01 11:47:40 -05:00
2024-01-21 13:27:10 -05:00
2024-02-24 20:47:47 -05:00
2024-01-05 23:24:20 -05:00
2024-03-10 15:34:08 -04:00
2024-01-21 13:27:11 -05:00
2024-01-01 11:47:42 -05:00
2024-01-01 11:47:42 -05:00
2024-01-01 11:47:07 -05:00
2024-01-10 16:34:17 -08:00
2024-02-10 17:37:34 -05:00
2024-01-05 23:24:21 -05:00
2024-03-10 15:34:08 -04:00
2024-01-01 11:47:38 -05:00
2024-01-21 13:27:10 -05:00
2024-01-01 11:47:42 -05:00
2024-01-05 23:24:19 -05:00
2024-02-05 01:16:15 -05:00
2024-01-05 23:24:19 -05:00
2024-01-21 13:27:10 -05:00
2024-02-25 15:45:36 -05:00
2024-01-22 12:37:51 -05:00
2024-01-01 11:47:42 -05:00
2024-01-21 13:27:10 -05:00
2024-01-21 13:27:10 -05:00