• Mikulas Patocka's avatar
    dm raid1: switch read_record from kmalloc to slab to save memory · 95f8fac8
    Mikulas Patocka authored
    With my previous patch to save bi_io_vec, the size of dm_raid1_read_record
    is significantly increased (the vector list takes 3072 bytes on 32-bit machines
    and 4096 bytes on 64-bit machines).
    
    The structure dm_raid1_read_record used to be allocated with kmalloc,
    but kmalloc aligns the size on the next power-of-two so an object
    slightly greater than 4096 will allocate 8192 bytes of memory and half of
    that memory will be wasted.
    
    This patch turns kmalloc into a slab cache which doesn't have this
    padding so it will reduce the memory consumed.
    
    Cc: stable@kernel.org
    Signed-off-by: default avatarMikulas Patocka <mpatocka@redhat.com>
    Signed-off-by: default avatarAlasdair G Kergon <agk@redhat.com>
    95f8fac8
dm-raid1.c 30.6 KB