From 1ba93e61d498febbce04b197fd6859554eebc05e Mon Sep 17 00:00:00 2001 From: Jim Harris Date: Thu, 4 Jan 2018 17:44:02 -0700 Subject: [PATCH] bdev: eliminate memset in spdk_bdev_get_io Most relevant fields get initialized after the structure is returned to the caller, so this memset is just wasting CPU cycles. buf still needs to be set to NULL, so just set that field explicitly. bdevperf with null backend shows a 10% improvement with this patch. Signed-off-by: Jim Harris Change-Id: I92ef0ea887f1307abdcd4b80bc08b45ccefe27d9 Reviewed-on: https://review.gerrithub.io/393714 Reviewed-by: Changpeng Liu Reviewed-by: Reviewed-by: Daniel Verkamp Tested-by: SPDK Automated Test System --- lib/bdev/bdev.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/lib/bdev/bdev.c b/lib/bdev/bdev.c index 9cbcd9373..5127e423e 100644 --- a/lib/bdev/bdev.c +++ b/lib/bdev/bdev.c @@ -753,8 +753,6 @@ spdk_bdev_get_io(struct spdk_io_channel *_ch) } } - memset(bdev_io, 0, offsetof(struct spdk_bdev_io, u)); - return bdev_io; } @@ -826,6 +824,7 @@ spdk_bdev_io_init(struct spdk_bdev_io *bdev_io, bdev_io->cb = cb; bdev_io->status = SPDK_BDEV_IO_STATUS_PENDING; bdev_io->in_submit_request = false; + bdev_io->buf = NULL; } bool