All of lore.kernel.org
 help / color / mirror / Atom feed
From: Zdenek Kabelac <zkabelac@redhat.com>
To: lvm-devel@redhat.com
Subject: [PATCH 00/24] Performance improvements
Date: Sun, 30 Jan 2011 13:57:23 +0100	[thread overview]
Message-ID: <cover.1296391340.git.zkabelac@redhat.com> (raw)

Main target in this patchset is to again considerably
speedup functinality of lvm tools.

1. PV_MIN_SIZE - updated init position for last patchset.

2. Fix and improve udev synchronization.
   (i.e. do not call fs_unlock after _lv_resume())

3. Hashing was consuming a lot of CPU - partly because of
   some small tables, partly becuase hash function for our
   data set was producing a lot of hash collisions.

4. Improves memory locking for multiple operation within
   one VG lock  (i.e. activation of a lot of LVs from 1 VG).

Patch set also has few const pointer fixes, and man page updates.
Allow 1 page difference between mlock munlock.
Few updates for test suite.
Minor extension for lvm2api -  I've also noticed, few  const
in this API are wrong - we cannot pass const handler to routines,
which are modifying them.

Zdenek Kabelac (24):
  Add find_config_tree_int64 function
  Replace PV_MIN_SIZE with function pv_min_size()
  Test pv_min_size functionality
  Move add_dev_node to DM_DEVICE_RESUME
  Perf: Fix multiple operations on the same node
  lv_info handle udev_sync
  Remove  open_count read from some lv_info calls
  Perf: optimize _eat_space and _get_token
  Align orphan strings
  Perf: speed up hash tables
  Perf: New HASH function
  Perf: Increase hash sizes
  Memory unlock allows 1 page difference
  Critical section
  Remove fs_unlock after failed suspend
  Man pages reformating
  Void* arithmetic replaced with char*
  API change - support more const arg
  Use cleaner  const *  pointer
  Const fixing
  Testing: remove -q from grep
  Testing: Try to prioritize locking process
  Extend lvm2api with lvm_lv_rename
  Testing  lvm_lv_rename

 daemons/clvmd/clvmd.c                   |    4 +-
 daemons/clvmd/clvmd.h                   |    2 +-
 daemons/clvmd/lvm-functions.c           |   12 +-
 doc/example.conf.in                     |    5 +
 lib/activate/activate.c                 |   36 ++++--
 lib/activate/activate.h                 |    2 +-
 lib/activate/fs.c                       |   70 +++++++++++-
 lib/activate/fs.h                       |    1 +
 lib/cache/lvmcache.c                    |   14 +-
 lib/commands/toolcontext.c              |   11 ++-
 lib/config/config.c                     |   42 ++++---
 lib/config/config.h                     |    2 +
 lib/device/dev-cache.c                  |    2 +-
 lib/device/dev-io.c                     |    2 +-
 lib/filters/filter-persistent.c         |    2 +-
 lib/filters/filter-regex.c              |    2 +-
 lib/filters/filter.c                    |    2 +-
 lib/format1/format1.c                   |   10 +-
 lib/format1/import-export.c             |    2 +-
 lib/format1/import-extents.c            |    2 +-
 lib/format1/lvm1-label.c                |    9 +-
 lib/format_pool/format_pool.c           |    4 +-
 lib/format_text/export.c                |    2 +-
 lib/format_text/format-text.c           |   18 ++-
 lib/format_text/import_vsn1.c           |    4 +-
 lib/format_text/text_label.c            |    9 +-
 lib/locking/locking.c                   |   14 ++-
 lib/log/log.c                           |    8 +-
 lib/metadata/lv.h                       |    2 +-
 lib/metadata/lv_manip.c                 |    3 +-
 lib/metadata/metadata-exported.h        |    9 +-
 lib/metadata/metadata.c                 |   45 ++++----
 lib/metadata/metadata.h                 |    1 -
 lib/metadata/mirror.c                   |   20 ++--
 lib/misc/lvm-globals.c                  |   12 ++
 lib/misc/lvm-globals.h                  |    5 +-
 lib/mm/memlock.c                        |   72 +++++++++---
 lib/mm/memlock.h                        |    6 +-
 lib/report/properties.c                 |    3 +-
 lib/report/report.c                     |   14 +--
 libdm/datastruct/hash.c                 |  188 ++++++++++++++++++++++++++-----
 libdm/ioctl/libdm-iface.c               |    8 +-
 libdm/libdevmapper.h                    |    8 +-
 libdm/libdm-common.c                    |   71 ++++++++++--
 libdm/libdm-deptree.c                   |    4 +-
 libdm/libdm-report.c                    |    2 +-
 liblvm/lvm2app.h                        |   16 +++
 liblvm/lvm_lv.c                         |   14 ++-
 liblvm/lvm_vg.c                         |    4 +-
 man/fsadm.8.in                          |   80 ++++++++------
 man/lvreduce.8.in                       |   65 ++++++-----
 man/lvremove.8.in                       |   17 ++--
 man/lvrename.8.in                       |   37 ++-----
 man/lvresize.8.in                       |   99 ++++++++--------
 test/api/Makefile.in                    |    2 +-
 test/api/lvtest.c                       |   64 +++++++++++
 test/api/lvtest.sh                      |   21 ++++
 test/t-lock-blocking.sh                 |   10 +-
 test/t-mirror-names.sh                  |    2 +-
 test/t-mirror-vgreduce-removemissing.sh |    2 +-
 test/t-pv-min-size.sh                   |   31 +++++
 test/t-pvcreate-operation.sh            |    2 +-
 test/t-snapshot-merge.sh                |    9 +-
 test/t-vgcreate-usage.sh                |    2 +-
 test/t-vgextend-usage.sh                |    2 +-
 tools/lvconvert.c                       |    2 +-
 tools/lvcreate.c                        |    2 +-
 tools/lvscan.c                          |    2 +-
 tools/pvresize.c                        |    6 +-
 tools/reporter.c                        |    4 +-
 tools/toollib.c                         |   10 +-
 tools/toollib.h                         |    4 +-
 tools/vgcfgrestore.c                    |    2 +-
 tools/vgcreate.c                        |    2 +-
 tools/vgextend.c                        |    4 +-
 tools/vgmerge.c                         |    2 +-
 tools/vgreduce.c                        |    2 +-
 tools/vgrename.c                        |    2 +-
 tools/vgsplit.c                         |    2 +-
 79 files changed, 898 insertions(+), 393 deletions(-)
 create mode 100644 test/api/lvtest.c
 create mode 100644 test/api/lvtest.sh
 create mode 100755 test/t-pv-min-size.sh

--
1.7.3.5



             reply	other threads:[~2011-01-30 12:57 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-01-30 12:57 Zdenek Kabelac [this message]
2011-01-30 12:57 ` [PATCH 01/24] Add find_config_tree_int64 function Zdenek Kabelac
2011-01-30 12:57 ` [PATCH 02/24] Replace PV_MIN_SIZE with function pv_min_size() Zdenek Kabelac
2011-01-30 20:01   ` Milan Broz
2011-01-30 20:15     ` Zdenek Kabelac
2011-01-30 20:22       ` Milan Broz
2011-01-30 21:10         ` Zdenek Kabelac
2011-01-30 12:57 ` [PATCH 03/24] Test pv_min_size functionality Zdenek Kabelac
2011-01-30 12:57 ` [PATCH 04/24] Move add_dev_node to DM_DEVICE_RESUME Zdenek Kabelac
2011-01-31 11:37   ` Peter Rajnoha
2011-01-30 12:57 ` [PATCH 05/24] Perf: Fix multiple operations on the same node Zdenek Kabelac
2011-01-30 19:43   ` Zdenek Kabelac
2011-01-30 12:57 ` [PATCH 06/24] lv_info handle udev_sync Zdenek Kabelac
2011-01-30 20:17   ` Milan Broz
2011-01-30 20:23     ` Zdenek Kabelac
2011-01-30 12:57 ` [PATCH 07/24] Remove open_count read from some lv_info calls Zdenek Kabelac
2011-01-30 12:57 ` [PATCH 08/24] Perf: optimize _eat_space and _get_token Zdenek Kabelac
2011-01-30 12:57 ` [PATCH 09/24] Align orphan strings Zdenek Kabelac
2011-01-30 12:57 ` [PATCH 10/24] Perf: speed up hash tables Zdenek Kabelac
2011-01-30 12:57 ` [PATCH 11/24] Perf: New HASH function Zdenek Kabelac
2011-01-31 10:33   ` Petr Rockai
2011-01-30 12:57 ` [PATCH 12/24] Perf: Increase hash sizes Zdenek Kabelac
2011-01-30 20:35   ` Milan Broz
2011-01-30 20:54     ` Zdenek Kabelac
2011-01-30 12:57 ` [PATCH 13/24] Memory unlock allows 1 page difference Zdenek Kabelac
2011-01-30 12:57 ` [PATCH 14/24] Critical section Zdenek Kabelac
2011-01-30 12:57 ` [PATCH 15/24] Remove fs_unlock after failed suspend Zdenek Kabelac
2011-01-30 12:57 ` [PATCH 16/24] Man pages reformating Zdenek Kabelac
2011-01-30 20:37   ` Milan Broz
2011-01-30 12:57 ` [PATCH 17/24] Void* arithmetic replaced with char* Zdenek Kabelac
2011-01-30 12:57 ` [PATCH 18/24] API change - support more const arg Zdenek Kabelac
2011-01-30 12:57 ` [PATCH 19/24] Use cleaner const * pointer Zdenek Kabelac
2011-01-30 12:57 ` [PATCH 20/24] Const fixing Zdenek Kabelac
2011-01-30 20:44   ` Milan Broz
2011-01-30 12:57 ` [PATCH 21/24] Testing: remove -q from grep Zdenek Kabelac
2011-01-30 20:50   ` Milan Broz
2011-01-30 12:57 ` [PATCH 22/24] Testing: Try to prioritize locking process Zdenek Kabelac
2011-01-30 12:57 ` [PATCH 23/24] Extend lvm2api with lvm_lv_rename Zdenek Kabelac
2011-01-30 12:57 ` [PATCH 24/24] Testing lvm_lv_rename 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.1296391340.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.