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 <wojciech.malikowski@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/546
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Maciej Szczepaniak <maciej.szczepaniak@intel.com>
Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com>
This commit is contained in:
Wojciech Malikowski 2019-11-15 04:55:58 -05:00 committed by Tomasz Zawadzki
parent a6a040eb86
commit 3505d3a65c

View File

@ -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;
}