diff mbox series

lightnvm: pblk: fix incorrect min_write_pgs

Message ID 20180817143637.15943-1-mb@lightnvm.io (mailing list archive)
State New, archived
Headers show
Series lightnvm: pblk: fix incorrect min_write_pgs | expand

Commit Message

Matias Bjorling Aug. 17, 2018, 2:36 p.m. UTC
The calculation of pblk->min_write_pgs should only use the optimal
write size attribute provided by the drive, it does not correlate to
the memory page size of the system, which can be smaller or larger
than the LBA size reported.

Signed-off-by: Matias Bjørling <mb@lightnvm.io>
---
 drivers/lightnvm/pblk-init.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Javier Gonzalez Aug. 20, 2018, 7:45 a.m. UTC | #1
> On 17 Aug 2018, at 16.36, Matias Bjørling <mb@lightnvm.io> wrote:
> 
> The calculation of pblk->min_write_pgs should only use the optimal
> write size attribute provided by the drive, it does not correlate to
> the memory page size of the system, which can be smaller or larger
> than the LBA size reported.
> 
> Signed-off-by: Matias Bjørling <mb@lightnvm.io>
> ---
> drivers/lightnvm/pblk-init.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/lightnvm/pblk-init.c b/drivers/lightnvm/pblk-init.c
> index 9119c64d6f62..8adc8ac8b03c 100644
> --- a/drivers/lightnvm/pblk-init.c
> +++ b/drivers/lightnvm/pblk-init.c
> @@ -371,7 +371,7 @@ static int pblk_core_init(struct pblk *pblk)
> 	atomic64_set(&pblk->nr_flush, 0);
> 	pblk->nr_flush_rst = 0;
> 
> -	pblk->min_write_pgs = geo->ws_opt * (geo->csecs / PAGE_SIZE);
> +	pblk->min_write_pgs = geo->ws_opt;
> 	max_write_ppas = pblk->min_write_pgs * geo->all_luns;
> 	pblk->max_write_pgs = min_t(int, max_write_ppas, NVM_MAX_VLBA);
> 	pblk_set_sec_per_write(pblk, pblk->min_write_pgs);
> --
> 2.11.0

Looks good to me.


Reviewed-by: Javier González <javier@cnexlabs.com>
diff mbox series

Patch

diff --git a/drivers/lightnvm/pblk-init.c b/drivers/lightnvm/pblk-init.c
index 9119c64d6f62..8adc8ac8b03c 100644
--- a/drivers/lightnvm/pblk-init.c
+++ b/drivers/lightnvm/pblk-init.c
@@ -371,7 +371,7 @@  static int pblk_core_init(struct pblk *pblk)
 	atomic64_set(&pblk->nr_flush, 0);
 	pblk->nr_flush_rst = 0;
 
-	pblk->min_write_pgs = geo->ws_opt * (geo->csecs / PAGE_SIZE);
+	pblk->min_write_pgs = geo->ws_opt;
 	max_write_ppas = pblk->min_write_pgs * geo->all_luns;
 	pblk->max_write_pgs = min_t(int, max_write_ppas, NVM_MAX_VLBA);
 	pblk_set_sec_per_write(pblk, pblk->min_write_pgs);