lightnvm: dynamic DMA pool entry size
Currently lightnvm and pblk uses single DMA pool, for which the entry size always is equal to PAGE_SIZE. The contents of each entry allocated from the DMA pool consists of a PPA list (8bytes * 64), leaving 56bytes * 64 space for metadata. Since the metadata field can be bigger, such as 128 bytes, the static size does not cover this use-case. This patch adds support for I/O metadata above 56 bytes by changing DMA pool size based on device meta size and allows pblk to use OOB metadata >=16B. Reviewed-by:Javier González <javier@cnexlabs.com> Signed-off-by:
Igor Konopko <igor.j.konopko@intel.com> Signed-off-by:
Matias Bjørling <mb@lightnvm.io> Signed-off-by:
Jens Axboe <axboe@kernel.dk>
Showing
- drivers/lightnvm/core.c 7 additions, 2 deletionsdrivers/lightnvm/core.c
- drivers/lightnvm/pblk-core.c 4 additions, 4 deletionsdrivers/lightnvm/pblk-core.c
- drivers/lightnvm/pblk-init.c 1 addition, 1 deletiondrivers/lightnvm/pblk-init.c
- drivers/lightnvm/pblk-recovery.c 2 additions, 2 deletionsdrivers/lightnvm/pblk-recovery.c
- drivers/lightnvm/pblk.h 5 additions, 1 deletiondrivers/lightnvm/pblk.h
- drivers/nvme/host/lightnvm.c 3 additions, 2 deletionsdrivers/nvme/host/lightnvm.c
- include/linux/lightnvm.h 1 addition, 1 deletioninclude/linux/lightnvm.h
Loading
Please register or sign in to comment