All of lore.kernel.org
 help / color / mirror / Atom feed
From: Zdenek Kabelac <zkabelac@redhat.com>
To: lvm-devel@redhat.com
Subject: [PATCH 00/11] Pool locking
Date: Fri,  3 Jun 2011 21:13:18 +0200	[thread overview]
Message-ID: <cover.1307127169.git.zkabelac@redhat.com> (raw)

Patchset tries to optimize creation of VG structure from config_tree.
When the config_tree is unchange and we know VG structure is not modified
we could reuse this structure multiple times.

Patchset currently has few limitation and is not the optimal solution,
but it present relatively very small set of changes with good improvements.

Patchset tries to avoid modification of VG structure for read-only operations.
And then introducion pool locking - debugging uses mprotect to generate
segfault in the moment of memory write access.
Normal code currently uses simple CRC checksum - could be later disabled,
once we are sure there could be no write operation.

Few things are left for the future:
vg_mark_partial is in wrong layer currentl.
clvmd would greatly benefit from 'smarter' cache flushing - VG structure
could be the reused more extensively.

Patch is splited in way to allow easier review.

Zdenek Kabelac (11):
  Introduce laopts structure
  Add laopts
  Replace ACTIVATE
  Replace MERGING in activation
  FIXME
  FIXME - remove test for status flag
  Remove ACTIVATE_EXCL appearance from the code
  Code move vg_mark_partial up in stack
  Pool locking code
  Share VG multiple times
  lv_postorder unlock and lock

 lib/activate/activate.c          |  114 ++++++++++++++++++++----------------
 lib/activate/activate.h          |   10 +++-
 lib/activate/dev_manager.c       |  120 +++++++++++++++++++++-----------------
 lib/activate/dev_manager.h       |   10 ++-
 lib/cache/lvmcache.c             |   73 +++++++++++++++++++++++-
 lib/cache/lvmcache.h             |    5 ++
 lib/error/errseg.c               |    1 +
 lib/format_text/flags.c          |    1 -
 lib/format_text/import.c         |    6 ++
 lib/metadata/metadata-exported.h |    1 -
 lib/metadata/metadata.c          |   45 ++++++++++++--
 lib/metadata/metadata.h          |    1 -
 lib/metadata/mirror.c            |    4 +-
 lib/metadata/segtype.h           |   13 +++--
 lib/metadata/vg.h                |    2 +
 lib/mirror/mirrored.c            |   15 +++--
 lib/replicator/replicator.c      |    2 +
 lib/snapshot/snapshot.c          |    5 +-
 lib/striped/striped.c            |    1 +
 lib/unknown/unknown.c            |    1 +
 lib/zero/zero.c                  |    1 +
 libdm/libdevmapper.h             |    7 ++
 libdm/mm/pool-debug.c            |   27 +++++++++
 libdm/mm/pool-fast.c             |   70 +++++++++++++++++++++-
 libdm/mm/pool.c                  |  106 +++++++++++++++++++++++++++++++++-
 make.tmpl.in                     |    2 +
 26 files changed, 503 insertions(+), 140 deletions(-)

-- 
1.7.5.2



             reply	other threads:[~2011-06-03 19:13 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-06-03 19:13 Zdenek Kabelac [this message]
2011-06-03 19:13 ` [PATCH 01/11] Introduce laopts structure Zdenek Kabelac
2011-06-03 19:13 ` [PATCH 02/11] Add laopts Zdenek Kabelac
2011-06-03 19:13 ` [PATCH 03/11] Replace ACTIVATE Zdenek Kabelac
2011-06-03 19:13 ` [PATCH 04/11] Replace MERGING in activation Zdenek Kabelac
2011-06-03 19:13 ` [PATCH 05/11] FIXME Zdenek Kabelac
2011-06-03 19:13 ` [PATCH 06/11] FIXME - remove test for status flag Zdenek Kabelac
2011-06-03 19:13 ` [PATCH 07/11] Remove ACTIVATE_EXCL appearance from the code Zdenek Kabelac
2011-06-03 19:13 ` [PATCH 08/11] Code move vg_mark_partial up in stack Zdenek Kabelac
2011-06-03 19:13 ` [PATCH 09/11] Pool locking code Zdenek Kabelac
2011-06-03 19:13 ` [PATCH 10/11] Share VG multiple times Zdenek Kabelac
2011-06-03 19:13 ` [PATCH 11/11] lv_postorder unlock and lock Zdenek Kabelac

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=cover.1307127169.git.zkabelac@redhat.com \
    --to=zkabelac@redhat.com \
    --cc=lvm-devel@redhat.com \
    /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 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.