[lvm-devel] LVM2 ./WHATS_NEW_DM libdm/mm/pool-debug.c libd ...

zkabelac at sourceware.org zkabelac at sourceware.org
Wed Mar 30 12:57:04 UTC 2011


CVSROOT:	/cvs/lvm2
Module name:	LVM2
Changes by:	zkabelac at sourceware.org	2011-03-30 12:57:03

Modified files:
	.              : WHATS_NEW_DM 
	libdm/mm       : pool-debug.c pool.c 

Log message:
	Word alignment for strings
	
	Align strdup char* allocation just on 2 bytes.
	It looks like wasting space to align strings on 8 bytes.
	(Could be even 1byte - but for hashing it might eventually get better
	perfomance - but probably hardly measurable).
	
	TODO: check on various architectures it's not making any problems.

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/WHATS_NEW_DM.diff?cvsroot=lvm2&r1=1.460&r2=1.461
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/libdm/mm/pool-debug.c.diff?cvsroot=lvm2&r1=1.11&r2=1.12
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/libdm/mm/pool.c.diff?cvsroot=lvm2&r1=1.6&r2=1.7

--- LVM2/WHATS_NEW_DM	2011/03/30 12:14:36	1.460
+++ LVM2/WHATS_NEW_DM	2011/03/30 12:57:03	1.461
@@ -1,5 +1,6 @@
 Version 1.02.64 - 
 ===================================
+  Use word alignment for dm_pool_strdup() and dm_pool_strndup().
   Use dm_snprintf() to fix signess warning in dm_set_dev_dir().
   Use unsigned loop counter to fix signess warning in _other_node_ops().
   Fix const cast in dmsetup calls of dm_report_field_string().
--- LVM2/libdm/mm/pool-debug.c	2011/03/30 12:16:15	1.11
+++ LVM2/libdm/mm/pool-debug.c	2011/03/30 12:57:03	1.12
@@ -136,7 +136,7 @@
 	 * I don't think LVM will use anything but default
 	 * align.
 	 */
-	assert(alignment == DEFAULT_ALIGNMENT);
+	assert(alignment <= DEFAULT_ALIGNMENT);
 
 	if (!b) {
 		log_error("Out of memory");
--- LVM2/libdm/mm/pool.c	2011/03/10 14:49:01	1.6
+++ LVM2/libdm/mm/pool.c	2011/03/30 12:57:03	1.7
@@ -27,7 +27,7 @@
 
 char *dm_pool_strdup(struct dm_pool *p, const char *str)
 {
-	char *ret = dm_pool_alloc(p, strlen(str) + 1);
+	char *ret = dm_pool_alloc_aligned(p, strlen(str) + 1, 2);
 
 	if (ret)
 		strcpy(ret, str);
@@ -37,7 +37,7 @@
 
 char *dm_pool_strndup(struct dm_pool *p, const char *str, size_t n)
 {
-	char *ret = dm_pool_alloc(p, n + 1);
+	char *ret = dm_pool_alloc_aligned(p, n + 1, 2);
 
 	if (ret) {
 		strncpy(ret, str, n);




More information about the lvm-devel mailing list