Performance improvements
Get series with b4
b4 am [email protected]Versions newest first
- v1 Latest24 patches 0 repliesNew
Patches in v1 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/24 | Add find_config_tree_int64 functionlib/ lib/ | +8 | 0 replies | |
| 2/24 | Replace PV_MIN_SIZE with function pv_min_size()doc/ lib/ lib/ +6 more | +38 | 1 reply | |
| 2/24 | Replace PV_MIN_SIZE with function pv_min_size() | +0 | 1 reply | |
| 2/24 | Replace PV_MIN_SIZE with function pv_min_size() | +0 | 0 replies | |
| 3/24 | Test pv_min_size functionalitytest/ | +31 | 0 replies | |
| 4/24 | Move add_dev_node to DM_DEVICE_RESUMElibdm/ | +4 | 1 reply | |
| 5/24 | Perf: Fix multiple operations on the same nodelib/ libdm/ | +121 | 0 replies | |
| 5/24 | Perf: Fix multiple operations on the same node | +0 | 0 replies | |
| 6/24 | lv_info handle udev_synclib/ lib/ lib/ | +18 | 1 reply | |
| 6/24 | lv_info handle udev_sync | +0 | 0 replies | |
| 7/24 | Remove open_count read from some lv_info callslib/ liblvm/ tools/ +1 more | +5 | 0 replies | |
| 8/24 | Perf: optimize _eat_space and _get_tokenlib/ | +18 | 0 replies | |
| 9/24 | Align orphan stringslib/ lib/ lib/ +2 more | +32 | 0 replies | |
| 10/24 | Perf: speed up hash tableslibdm/ libdm/ | +57 | 0 replies | |
| 11/24 | Perf: New HASH functionlibdm/ | +104 | 1 reply | |
| 12/24 | Perf: Increase hash sizesdaemons/ lib/ lib/ +7 more | +15 | 1 reply | |
| 12/24 | Perf: Increase hash sizes | +0 | 0 replies | |
| 13/24 | Memory unlock allows 1 page differencelib/ | +9 | 0 replies | |
| 14/24 | Critical sectiondaemons/ lib/ lib/ +9 more | +93 | 0 replies | |
| 15/24 | Remove fs_unlock after failed suspendlib/ | +0 | 0 replies | |
| 16/24 | Man pages reformatingman/ man/ man/ +2 more | +148 | 1 reply | |
| 17/24 | Void* arithmetic replaced with char*daemons/ lib/ | +3 | 0 replies | |
| 18/24 | API change - support more const arglibdm/ libdm/ | +2 | 0 replies | |
| 19/24 | Use cleaner const * pointerlib/ | +3 | 0 replies | |
| 20/24 | Const fixingdaemons/ daemons/ lib/ +21 more | +62 | 1 reply | |
| 21/24 | Testing: remove -q from greptest/ test/ test/ +3 more | +10 | 1 reply | |
| 22/24 | Testing: Try to prioritize locking processtest/ | +5 | 0 replies | |
| 23/24 | Extend lvm2api with lvm_lv_renameliblvm/ liblvm/ | +26 | 0 replies | |
| 24/24 | Testing lvm_lv_renametest/ test/ test/ | +86 | 0 replies |
Reviews trailers per patch
No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.
Cover letter [PATCH 00/24] Performance improvements
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