diff mbox

[4/8] dm-bufio: fix slab cache attributes

Message ID 20180326183056.234137097@debian.vm (mailing list archive)
State Superseded, archived
Delegated to: Mike Snitzer
Headers show

Commit Message

Mikulas Patocka March 26, 2018, 6:29 p.m. UTC
The I/O buffer doesn't have to be aligned, so we can drop the alignment on
the slab cache. This patch also sets SLAB_RECLAIM_ACCOUNT, so that the
memory allocated from the cache is accounted as reclaimable and doesn't
inflate the 'used' entry in the free command.

Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>

---
 drivers/md/dm-bufio.c |    3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)


--
dm-devel mailing list
dm-devel@redhat.com
https://www.redhat.com/mailman/listinfo/dm-devel
diff mbox

Patch

Index: linux-2.6/drivers/md/dm-bufio.c
===================================================================
--- linux-2.6.orig/drivers/md/dm-bufio.c	2018-03-21 12:33:34.928416000 +0100
+++ linux-2.6/drivers/md/dm-bufio.c	2018-03-21 12:35:14.938416000 +0100
@@ -618,7 +618,6 @@  static void use_inline_bio(struct dm_buf
 		unsigned this_step = min((unsigned)(PAGE_SIZE - offset_in_page(ptr)), len);
 		if (!bio_add_page(&b->bio, virt_to_page(ptr), this_step,
 				  offset_in_page(ptr))) {
-			BUG_ON(b->c->block_size <= PAGE_SIZE);
 			use_dmio(b, rw, sector, n_sectors, offset, end_io);
 			return;
 		}
@@ -1686,7 +1685,7 @@  struct dm_bufio_client *dm_bufio_client_
 	if (block_size < PAGE_SIZE) {
 		char name[26];
 		snprintf(name, sizeof name, "dm_bufio_cache-%u", c->block_size);
-		c->slab_cache = kmem_cache_create(name, c->block_size, c->block_size, 0, NULL);
+		c->slab_cache = kmem_cache_create(name, c->block_size, ARCH_KMALLOC_MINALIGN, SLAB_RECLAIM_ACCOUNT, NULL);
 		if (!c->slab_cache) {
 			r = -ENOMEM;
 			goto bad;