From: Matthew Sakai <msakai@redhat.com>
To: dm-devel@lists.linux.dev, linux-block@vger.kernel.org
Cc: Matthew Sakai <msakai@redhat.com>
Subject: [PATCH v4 39/39] dm vdo: enable configuration and building of dm-vdo
Date: Thu, 26 Oct 2023 17:41:36 -0400 [thread overview]
Message-ID: <20231026214136.1067410-40-msakai@redhat.com> (raw)
In-Reply-To: <20231026214136.1067410-1-msakai@redhat.com>
dm-vdo targets are not supported for 32-bit configurations. A vdo target
typically requires 1 to 1.5 GB of memory at any given time, which is likely
a large fraction of the addressable memory of a 32-bit system. At the same
time, the amount of addressable storage attached to a 32-bit system may not
be large enough for deduplication to provide much benefit. Because of these
concerns, 32-bit platforms are deemed unlikely to benefit from using a vdo
target, so dm-vdo is targeted only at 64-bit platforms.
Co-developed-by: J. corwin Coburn <corwin@hurlbutnet.net>
Signed-off-by: J. corwin Coburn <corwin@hurlbutnet.net>
Co-developed-by: John Wiele <jwiele@redhat.com>
Signed-off-by: John Wiele <jwiele@redhat.com>
Signed-off-by: Matthew Sakai <msakai@redhat.com>
---
drivers/md/Kconfig | 16 ++++++++++++++++
drivers/md/Makefile | 2 ++
2 files changed, 18 insertions(+)
diff --git a/drivers/md/Kconfig b/drivers/md/Kconfig
index b0a22e99bade..9fa9dec10292 100644
--- a/drivers/md/Kconfig
+++ b/drivers/md/Kconfig
@@ -521,6 +521,22 @@ config DM_FLAKEY
help
A target that intermittently fails I/O for debugging purposes.
+config DM_VDO
+ tristate "VDO: deduplication and compression target"
+ depends on 64BIT
+ depends on BLK_DEV_DM
+ select DM_BUFIO
+ select LZ4_COMPRESS
+ select LZ4_DECOMPRESS
+ help
+ This device mapper target presents a block device with
+ deduplication, compression and thin-provisioning.
+
+ To compile this code as a module, choose M here: the module will
+ be called dm-vdo.
+
+ If unsure, say N.
+
config DM_VERITY
tristate "Verity target support"
depends on BLK_DEV_DM
diff --git a/drivers/md/Makefile b/drivers/md/Makefile
index 84291e38dca8..47444b393abb 100644
--- a/drivers/md/Makefile
+++ b/drivers/md/Makefile
@@ -25,6 +25,7 @@ dm-ebs-y += dm-ebs-target.o
dm-era-y += dm-era-target.o
dm-clone-y += dm-clone-target.o dm-clone-metadata.o
dm-verity-y += dm-verity-target.o
+dm-vdo-y += dm-vdo-target.o $(patsubst drivers/md/dm-vdo/%.c,dm-vdo/%.o,$(wildcard $(src)/dm-vdo/*.c))
dm-zoned-y += dm-zoned-target.o dm-zoned-metadata.o dm-zoned-reclaim.o
md-mod-y += md.o md-bitmap.o
@@ -74,6 +75,7 @@ obj-$(CONFIG_DM_ZERO) += dm-zero.o
obj-$(CONFIG_DM_RAID) += dm-raid.o
obj-$(CONFIG_DM_THIN_PROVISIONING) += dm-thin-pool.o
obj-$(CONFIG_DM_VERITY) += dm-verity.o
+obj-$(CONFIG_DM_VDO) += dm-vdo.o
obj-$(CONFIG_DM_CACHE) += dm-cache.o
obj-$(CONFIG_DM_CACHE_SMQ) += dm-cache-smq.o
obj-$(CONFIG_DM_EBS) += dm-ebs.o
--
2.40.0
next prev parent reply other threads:[~2023-10-26 21:44 UTC|newest]
Thread overview: 47+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-10-26 21:40 [PATCH v4 00/39] dm vdo: add the dm-vdo deduplication and compression DM target Matthew Sakai
2023-10-26 21:40 ` [PATCH v4 01/39] dm: add documentation for dm-vdo target Matthew Sakai
2023-10-26 21:40 ` [PATCH v4 02/39] dm vdo: add the MurmurHash3 fast hashing algorithm Matthew Sakai
2024-03-14 23:35 ` Guenter Roeck
2024-03-18 20:37 ` Kenneth Raeburn
2024-03-18 20:54 ` Guenter Roeck
2024-03-19 1:14 ` Matthew Sakai
2024-03-20 21:44 ` Matthew Sakai
2024-03-20 22:59 ` Guenter Roeck
2023-10-26 21:41 ` [PATCH v4 03/39] dm vdo: add memory allocation utilities Matthew Sakai
2023-10-26 21:41 ` [PATCH v4 04/39] dm vdo: add basic logging and support utilities Matthew Sakai
2023-10-26 21:41 ` [PATCH v4 05/39] dm vdo: add vdo type declarations, constants, and simple data structures Matthew Sakai
2023-10-26 21:41 ` [PATCH v4 06/39] dm vdo: add thread and synchronization utilities Matthew Sakai
2023-10-26 21:41 ` [PATCH v4 07/39] dm vdo: add specialized request queueing functionality Matthew Sakai
2023-10-26 21:41 ` [PATCH v4 08/39] dm vdo: add basic hash map data structures Matthew Sakai
2023-10-26 21:41 ` [PATCH v4 09/39] dm vdo: add deduplication configuration structures Matthew Sakai
2023-10-26 21:41 ` [PATCH v4 10/39] dm vdo: add deduplication index storage interface Matthew Sakai
2023-10-26 21:41 ` [PATCH v4 11/39] dm vdo: implement the delta index Matthew Sakai
2023-10-26 21:41 ` [PATCH v4 12/39] dm vdo: implement the volume index Matthew Sakai
2023-10-26 21:41 ` [PATCH v4 13/39] dm vdo: implement the open chapter and chapter indexes Matthew Sakai
2023-10-26 21:41 ` [PATCH v4 14/39] dm vdo: implement the chapter volume store Matthew Sakai
2023-10-26 21:41 ` [PATCH v4 15/39] dm vdo: implement top-level deduplication index Matthew Sakai
2023-10-26 21:41 ` [PATCH v4 16/39] dm vdo: implement external deduplication index interface Matthew Sakai
2023-10-26 21:41 ` [PATCH v4 17/39] dm vdo: add administrative state and action manager Matthew Sakai
2023-10-26 21:41 ` [PATCH v4 18/39] dm vdo: add vio, the request object for vdo metadata Matthew Sakai
2023-10-26 21:41 ` [PATCH v4 19/39] dm vdo: add data_vio, the request object which services incoming bios Matthew Sakai
2023-10-26 21:41 ` [PATCH v4 20/39] dm vdo: add flush support Matthew Sakai
2023-10-26 21:41 ` [PATCH v4 21/39] dm vdo: add the vdo io_submitter Matthew Sakai
2023-10-26 21:41 ` [PATCH v4 22/39] dm vdo: add hash locks and hash zones Matthew Sakai
2023-10-26 21:41 ` [PATCH v4 23/39] dm vdo: add use of deduplication index in " Matthew Sakai
2023-10-26 21:41 ` [PATCH v4 24/39] dm vdo: add the compressed block bin packer Matthew Sakai
2023-10-26 21:41 ` [PATCH v4 25/39] dm vdo: add slab structure, slab journal and reference counters Matthew Sakai
2023-10-26 21:41 ` [PATCH v4 26/39] dm vdo: add the slab summary Matthew Sakai
2023-10-26 21:41 ` [PATCH v4 27/39] dm vdo: add the block allocators and physical zones Matthew Sakai
2023-10-26 21:41 ` [PATCH v4 28/39] dm vdo: add the slab depot Matthew Sakai
2023-10-26 21:41 ` [PATCH v4 29/39] dm vdo: add the block map Matthew Sakai
2023-10-26 21:41 ` [PATCH v4 30/39] dm vdo: implement the block map page cache Matthew Sakai
2023-10-26 21:41 ` [PATCH v4 31/39] dm vdo: add the recovery journal Matthew Sakai
2023-10-26 21:41 ` [PATCH v4 32/39] dm vdo: add repair of damaged vdo volumes Matthew Sakai
2023-10-26 21:41 ` [PATCH v4 33/39] dm vdo: add the primary vdo structure Matthew Sakai
2023-10-26 21:41 ` [PATCH v4 34/39] dm vdo: add the on-disk formats and marshalling of vdo structures Matthew Sakai
2023-10-26 21:41 ` [PATCH v4 35/39] dm vdo: add statistics reporting Matthew Sakai
2023-10-26 21:41 ` [PATCH v4 36/39] dm vdo: add sysfs support for setting parameters and fetching stats Matthew Sakai
2023-10-26 21:41 ` [PATCH v4 37/39] dm vdo: add debugging support Matthew Sakai
2023-10-26 21:41 ` [PATCH v4 38/39] dm vdo: add the top-level DM target Matthew Sakai
2023-10-26 21:41 ` Matthew Sakai [this message]
2023-11-01 18:28 ` [PATCH v4 00/39] dm vdo: add the dm-vdo deduplication and compression " Mike Snitzer
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20231026214136.1067410-40-msakai@redhat.com \
--to=msakai@redhat.com \
--cc=dm-devel@lists.linux.dev \
--cc=linux-block@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).