All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/4] dm vdo: reduce reference count load time
@ 2025-02-01  2:18 Matthew Sakai
  2025-02-01  2:18 ` [PATCH 1/4] dm vdo vio-pool: add a pool pointer to pooled_vio Matthew Sakai
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: Matthew Sakai @ 2025-02-01  2:18 UTC (permalink / raw)
  To: dm-devel; +Cc: Ken Raeburn, Matthew Sakai

A vdo device loads all reference count values at startup, reading
entire spans of up to a few MB at a time. Use a small number of large
vios instead of a big flurry of 4kB vios to read this data more
efficiently.

On our test systems (KVM virtual machines with 6 Intel Icelake cores
and 16 GB RAM, simulating ~34 TB of physical storage through some
device-mapper hackery), using the larger vios cuts the vdo startup
time by 15-30%. Installations with smaller or very fast storage may
see less benefit.

Ken Raeburn (4):
  dm vdo vio-pool: add a pool pointer to pooled_vio
  dm vdo vio-pool: support pools with multiple data blocks per vio
  dm vdo vio-pool: allow variable-sized metadata vios
  dm vdo slab-depot: read refcount blocks in large chunks at load time

 drivers/md/dm-vdo/block-map.c    | 11 ++---
 drivers/md/dm-vdo/io-submitter.c |  6 ++-
 drivers/md/dm-vdo/io-submitter.h | 18 +++++--
 drivers/md/dm-vdo/slab-depot.c   | 80 ++++++++++++++++++++++----------
 drivers/md/dm-vdo/slab-depot.h   | 13 +++++-
 drivers/md/dm-vdo/types.h        |  3 ++
 drivers/md/dm-vdo/vio.c          | 54 ++++++++++++---------
 drivers/md/dm-vdo/vio.h          | 13 ++++--
 8 files changed, 136 insertions(+), 62 deletions(-)

-- 
2.45.2


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2025-02-01  2:18 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-02-01  2:18 [PATCH 0/4] dm vdo: reduce reference count load time Matthew Sakai
2025-02-01  2:18 ` [PATCH 1/4] dm vdo vio-pool: add a pool pointer to pooled_vio Matthew Sakai
2025-02-01  2:18 ` [PATCH 2/4] dm vdo vio-pool: support pools with multiple data blocks per vio Matthew Sakai
2025-02-01  2:18 ` [PATCH 3/4] dm vdo vio-pool: allow variable-sized metadata vios Matthew Sakai
2025-02-01  2:18 ` [PATCH 4/4] dm vdo slab-depot: read refcount blocks in large chunks at load time Matthew Sakai

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.