1
0
mirror of git://sourceware.org/git/lvm2.git synced 2024-12-21 13:34:40 +03:00
LVM2 mirror repository https://sourceware.org/lvm2/
Go to file
Bryn M. Reeves 2d1dbb9edd libdm: fix performance of failed filemap cleanup
While cleaning up the table of already created regions during a
failed dm_stats_create_regions_from_fd(), list the handle once,
and call _stats_delete_region() directly. This avoids sending a
@stats_list message for each region deleted, reducing runtime
from 6s to 0.7s when cleaning up ~250 out of ~10000 regions:

  # time dmstats create --filemap b.img
  device-mapper: message ioctl on (253:0) failed: Cannot allocate memory
  Failed to create region 246 of 309 at 9388032.
  Could not create regions from file /root/b.img
  << pauses here >>
  Command failed

  real	0m6.267s
  user	0m3.770s
  sys	0m2.487s

  # time dmstats create --filemap b.img
  device-mapper: message ioctl on (253:0) failed: Cannot allocate memory
  Failed to create region 246 of 309 at 9388032.
  Could not create regions from file /root/b.img
  Command failed

  real	0m0.716s
  user	0m0.034s
  sys	0m0.581s

Testing the error path requires region creation to start to
fail part way through the operation (in order to have regions
to clean up): the simplest way is to ensure the system is
close to the kernel limit of 1/4 RAM or 1/2 vmalloc space
consumed by dmstats data.
2016-12-10 11:59:16 +00:00
autoconf autoconf: Fix py-compile permissions 2016-02-18 01:05:05 +00:00
conf config: regenerate 2016-08-30 13:23:39 +01:00
coverity doc: change fsf address 2016-01-21 12:11:37 +01:00
daemons lvmetad: fix segfault in daemon_reply_simple 2016-12-09 15:22:30 -06:00
doc doc: Resync kernel docs. 2016-06-25 19:59:49 +01:00
include lib: Move lcm and gcd to lib/misc for wider use. 2016-08-18 14:06:13 +01:00
lib cleanup: zero baton in struct initilizer 2016-12-09 15:15:02 +01:00
libdaemon config: use config_tree_from_string_without_dup_node_check throughout code to construct metadata trees 2016-09-21 18:18:15 +02:00
libdm libdm: fix performance of failed filemap cleanup 2016-12-10 11:59:16 +00:00
liblvm lvmetad: two phase vg_update 2016-06-28 02:30:31 +01:00
man man: remove duplicate paragraph about selection criteria from lvm(8) man page 2016-11-22 13:20:52 +01:00
nix lockd: Clean up spec 2015-07-04 14:36:57 +02:00
old-tests doc: change fsf address 2016-01-21 12:11:37 +01:00
po doc: change fsf address 2016-01-21 12:11:37 +01:00
python python: move lvm_init 2016-05-16 14:36:55 -05:00
report-generators doc: change fsf address 2016-01-21 12:11:37 +01:00
reports [REPORT-GENERATORS] cut down stylsheet.css to what we actually use 2010-07-21 10:00:38 +00:00
scripts scripts: fix comment about blk-availability init script 2016-11-25 11:30:55 +01:00
spec spec: move dmeventd -R from post to posttrans script for device-mapper-event package 2016-10-12 13:52:13 +02:00
test tests: fix missing exclusive activation 2016-12-09 15:15:02 +01:00
tools activation: lv_info_with_seg_status API change 2016-12-05 17:09:47 +01:00
udev udev: rules: add comments explaining subsystem-specific rules 2016-04-26 12:57:37 +02:00
unit-tests doc: change fsf address 2016-01-21 12:11:37 +01:00
.gitignore lvmdbus: Add new daemon. 2016-02-17 23:53:35 +00:00
acinclude.m4 configure: detect st_ctim 2015-03-18 13:42:24 +01:00
aclocal.m4 lvmdbus: Add new daemon. 2016-02-17 23:53:35 +00:00
configure lvmdump: Use O_DIRECT to gather metadata. 2016-09-15 14:00:39 +01:00
configure.in lvmdump: Use O_DIRECT to gather metadata. 2016-09-15 14:00:39 +01:00
COPYING doc: change fsf address 2016-01-21 12:11:37 +01:00
COPYING.LIB Fix inconsistent licence notices: executables are GPLv2; libraries LGPLv2.1. 2007-08-20 20:55:30 +00:00
INSTALL quick review of docs 2008-11-04 17:49:22 +00:00
make.tmpl.in lvmdbus: Add new daemon. 2016-02-17 23:53:35 +00:00
Makefile.in makefiles: add more dirs for lcov output 2016-02-26 10:21:34 +01:00
README README: fix link to lvm-devel mailing list 2015-03-31 15:44:00 +02:00
VERSION post-release 2016-11-30 23:21:11 +00:00
VERSION_DM post-release 2016-11-30 23:21:11 +00:00
WHATS_NEW lvmetad: fix segfault in daemon_reply_simple 2016-12-09 15:22:30 -06:00
WHATS_NEW_DM post-release 2016-11-30 23:21:11 +00:00

This tree contains the LVM2 and device-mapper tools and libraries.

For more information about LVM2 read the changelog in the WHATS_NEW file.
Installation instructions are in INSTALL.

There is no warranty - see COPYING and COPYING.LIB.

Tarballs are available from:
  ftp://sources.redhat.com/pub/lvm2/

The source code is stored in git:
  http://git.fedorahosted.org/git/lvm2.git
  git clone git://git.fedorahosted.org/git/lvm2.git

Mailing list for general discussion related to LVM2:
  linux-lvm@redhat.com
  Subscribe from https://www.redhat.com/mailman/listinfo/linux-lvm

Mailing lists for LVM2 development, patches and commits:
  lvm-devel@redhat.com
  Subscribe from https://www.redhat.com/mailman/listinfo/lvm-devel

  lvm2-commits@lists.fedorahosted.org (Read-only archive of commits)
  Subscribe from https://fedorahosted.org/mailman/listinfo/lvm2-commits

Mailing list for device-mapper development, including kernel patches
and multipath-tools:
  dm-devel@redhat.com
  Subscribe from https://www.redhat.com/mailman/listinfo/dm-devel

The source code repository used until 7th June 2012 is accessible here:
  http://sources.redhat.com/cgi-bin/cvsweb.cgi/LVM2/?cvsroot=lvm2.