Re: [PATCH 7/7] zram/xvmalloc: combine duplicate block delete code

From: Nitin Gupta
Date: Mon Jan 31 2011 - 08:32:18 EST


On 01/28/2011 10:01 AM, Robert Jennings wrote:
This patch eliminates duplicate code. The remove_block_head function
is a special case of remove_block which can be contained in remove_block
without confusion.

The portion of code in remove_block_head which was noted as "DEBUG ONLY"
is now mandatory. Doing this provides consistent management of the double
linked list of blocks under a freelist and makes this consolidation
of delete block code safe. The first and last blocks will have NULL
pointers in their previous and next page pointers respectively.

Additionally, any time a block is removed from a free list the next and
previous pointers will be set to NULL to avoid misuse outside xvmalloc.

Signed-off-by: Robert Jennings<rcj@xxxxxxxxxxxxxxxxxx>

The reason for introducing remove_block_head() as a separate function was to make malloc slightly faster but since I lack any profiling data, I'm not very sure if this may impact performance. Ideally, some sort of data with some malloc heavy test would have been useful. Anyways, I think major allocator changes will happen when we make xvmalloc allocated memory reclaimable, so maybe we can defer profiling.

Acked-by: Nitin Gupta <ngupta@xxxxxxxxxx>

Thanks,
Nitin
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/