mirror of
git://sourceware.org/git/lvm2.git
synced 2025-03-22 06:50:52 +03:00
The function find_peg_by_pe is incredibly inefficient for Pvs with many segments. In shiny future there should be binary (or interval) tree instead of sorted linked list (volunteers?). Anyway, for now, we can use dirty trick here to optimise this case: - Allocations are usually applied from the beginning of PV (we have no alloocation policy which allocates areas "backwards") - The only user of find_peg_by_pe is pv_split_segment() call. In *most* cases it need to split *last* PV segment. So if we search sorted pv segment list backwards, we hit the requested segment immediatelly. This patch applies this tiny change. (and saves >30% of processing time when >3000LVs segments are on one PV!) To discourage using this inefficient function from other code, it is moved to pv_manip.c and used static for now:-)
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/ To access the CVS tree use: cvs -d :pserver:cvs@sources.redhat.com:/cvs/lvm2 login CVS password: cvs cvs -d :pserver:cvs@sources.redhat.com:/cvs/lvm2 co LVM2 Mailing list for general discussion related to LVM2: linux-lvm@redhat.com Subscribe from https://www.redhat.com/mailman/listinfo/linux-lvm Mailing list for LVM2 development, patches and commits: lvm-devel@redhat.com Subscribe from https://www.redhat.com/mailman/listinfo/linux-lvm 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
Description
Languages
C
75.5%
Shell
18.7%
Python
2.9%
M4
1%
Makefile
0.8%
Other
1%