Mikulas Patocka
aaa53168cb
dm: optimize flushes
...
Device mapper sends flush bios to all the targets and the targets send it
to the underlying device. That may be inefficient, for example if a table
contains 10 linear targets pointing to the same physical device, then
device mapper would send 10 flush bios to that device - despite the fact
that only one bio would be sufficient.
This commit optimizes the flush behavior. It introduces a per-target
variable flush_bypasses_map - it is set when the target supports flush
optimization - currently, the dm-linear and dm-stripe targets support it.
When all the targets in a table have flush_bypasses_map,
flush_bypasses_map on the table is set. __send_empty_flush tests if the
table has flush_bypasses_map - and if it has, no flush bios are sent to
the targets via the "map" method and the list dm_table->devices is
iterated and the flush bios are sent to each member of the list.
Signed-off-by: Mikulas Patocka <mpatocka@redhat.com >
Reviewed-by: Mike Snitzer <snitzer@kernel.org >
Suggested-by: Yang Yang <yang.yang@vivo.com >
2024-06-26 11:32:39 -04:00
..
2024-06-20 06:53:15 -06:00
2024-05-21 09:51:42 -07:00
2024-02-20 14:22:55 -05:00
2023-02-14 14:23:06 -05:00
2021-10-27 16:53:47 -04:00
2024-02-20 14:22:55 -05:00
2023-03-30 15:57:51 -04:00
2024-04-01 11:53:37 -06:00
2023-02-14 14:23:06 -05:00
2023-02-14 14:23:06 -05:00
2024-02-20 14:22:55 -05:00
2023-02-14 14:23:07 -05:00
2023-02-14 14:23:06 -05:00
2023-02-14 14:23:06 -05:00
2023-02-14 14:23:06 -05:00
2023-11-02 19:38:47 -10:00
2023-02-14 14:23:06 -05:00
2023-02-14 14:23:06 -05:00
2024-02-20 14:22:55 -05:00
2023-02-14 14:23:06 -05:00
2023-02-14 14:23:06 -05:00
2024-06-20 06:53:14 -06:00
2024-04-01 10:49:28 +01:00
2020-03-27 14:42:51 -04:00
2024-06-20 06:53:14 -06:00
2024-06-26 11:32:39 -04:00
2024-06-14 10:20:06 -06:00
2024-05-09 09:10:58 -04:00
2024-02-20 14:22:55 -05:00
2024-02-20 14:22:55 -05:00
2024-04-01 11:53:37 -06:00
2023-02-14 14:23:06 -05:00
2023-02-14 14:23:06 -05:00
2024-02-20 14:22:55 -05:00
2023-02-14 14:23:07 -05:00
2023-02-14 14:23:07 -05:00
2023-06-05 10:57:40 -06:00
2024-06-14 10:20:07 -06:00
2023-02-14 14:23:07 -05:00
2023-02-14 14:23:06 -05:00
2024-02-20 14:22:51 -05:00
2024-02-20 14:22:55 -05:00
2024-02-20 14:22:51 -05:00
2024-06-26 11:32:39 -04:00
2024-02-20 14:22:55 -05:00
2023-02-14 14:23:07 -05:00
2023-02-14 14:23:06 -05:00
2024-05-20 15:51:19 -04:00
2024-02-20 14:22:55 -05:00
2024-04-01 11:53:37 -06:00
2023-02-14 14:23:06 -05:00
2023-02-14 14:23:07 -05:00
2023-02-14 14:23:06 -05:00
2023-02-14 14:23:06 -05:00
2023-02-14 14:23:06 -05:00
2023-02-14 14:23:06 -05:00
2024-02-20 14:22:55 -05:00
2023-02-14 14:23:06 -05:00
2024-02-20 14:22:51 -05:00
2024-06-12 16:32:57 +00:00
2024-02-20 14:22:55 -05:00
2023-02-14 14:23:07 -05:00
2023-02-14 14:23:06 -05:00
2024-02-20 14:22:51 -05:00
2023-02-14 14:23:07 -05:00
2024-05-20 15:51:19 -04:00
2024-01-30 14:06:44 -05:00
2023-03-16 13:37:06 -04:00
2024-06-26 11:32:39 -04:00
2023-04-11 12:09:08 -04:00
2023-02-14 14:23:08 -05:00
2024-06-26 11:32:39 -04:00
2024-05-20 15:51:19 -04:00
2023-06-30 12:16:00 -07:00
2023-02-14 14:23:06 -05:00
2024-05-21 11:43:11 -07:00
2023-02-14 14:23:06 -05:00
2023-02-14 14:23:06 -05:00
2023-04-11 12:09:08 -04:00
2024-02-20 14:22:55 -05:00
2023-02-14 14:23:06 -05:00
2023-06-28 10:43:04 -07:00
2024-03-13 09:46:51 -07:00
2023-02-14 14:23:06 -05:00
2023-02-14 14:23:06 -05:00
2024-03-02 10:30:36 -05:00
2024-02-20 14:22:55 -05:00
2024-05-20 15:51:19 -04:00
2024-06-19 08:14:49 -06:00
2024-02-12 08:41:16 -07:00
2021-06-04 12:07:24 -04:00
2024-06-19 07:58:28 -06:00
2022-07-14 12:14:31 -06:00
2024-06-26 11:32:39 -04:00
2024-06-15 20:42:20 -06:00
2024-03-21 14:41:00 -07:00
2024-02-20 13:43:17 -05:00
2023-12-19 10:16:51 -08:00
2024-06-11 21:22:21 +00:00
2023-07-27 00:13:29 -07:00
2023-10-12 09:16:19 -07:00
2024-06-19 08:14:49 -06:00
2024-06-14 10:22:08 -06:00
2024-06-14 10:20:07 -06:00
2023-06-30 15:43:50 -07:00
2024-02-29 22:49:46 -08:00
2024-06-14 10:22:08 -06:00
2024-02-29 22:49:45 -08:00
2023-11-27 15:49:05 -08:00
2022-08-02 17:14:31 -06:00
2024-03-06 08:59:53 -08:00
2024-06-20 06:55:20 -06:00
2023-11-27 15:49:05 -08:00
2024-06-14 10:22:08 -06:00
2023-07-27 00:13:29 -07:00