From 3505d3a65c837cd0f89e9c5531b19fd68e65d801 Mon Sep 17 00:00:00 2001 From: Wojciech Malikowski Date: Fri, 15 Nov 2019 04:55:58 -0500 Subject: [PATCH] lib/ftl: Set l2p table initial state with memset() This patch improve FTL initialization time. For 16TB volume it reduces init/restore time by about 30 seconds. Change-Id: I76463c5447b983eb9428c0317933d06c40b2974e Signed-off-by: Wojciech Malikowski Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/546 Tested-by: SPDK CI Jenkins Reviewed-by: Shuhei Matsumoto Reviewed-by: Jim Harris Reviewed-by: Maciej Szczepaniak Reviewed-by: Konrad Sztyber --- lib/ftl/ftl_init.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/lib/ftl/ftl_init.c b/lib/ftl/ftl_init.c index c56ec8949..f62eac025 100644 --- a/lib/ftl/ftl_init.c +++ b/lib/ftl/ftl_init.c @@ -555,7 +555,6 @@ static int ftl_dev_l2p_alloc(struct spdk_ftl_dev *dev) { size_t addr_size; - uint64_t i; if (dev->num_lbas == 0) { SPDK_DEBUGLOG(SPDK_LOG_FTL_INIT, "Invalid l2p table size\n"); @@ -574,9 +573,7 @@ ftl_dev_l2p_alloc(struct spdk_ftl_dev *dev) return -1; } - for (i = 0; i < dev->num_lbas; ++i) { - ftl_l2p_set(dev, i, ftl_to_addr(FTL_ADDR_INVALID)); - } + memset(dev->l2p, FTL_ADDR_INVALID, dev->num_lbas * addr_size); return 0; }