RE: [PATCH 1/2] lightnvm: pblk: add possibility to set write buffer size manually

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Thanks for the review, that’s good point. Improved patch is on its way.

Marcin Dzięgielewski

> -----Original Message-----
> From: Matias Bjørling [mailto:mb@xxxxxxxxxxx]
> Sent: Thursday, May 24, 2018 10:20 AM
> To: Dziegielewski, Marcin <marcin.dziegielewski@xxxxxxxxx>
> Cc: linux-block@xxxxxxxxxxxxxxx; Konopko, Igor J
> <igor.j.konopko@xxxxxxxxx>
> Subject: Re: [PATCH 1/2] lightnvm: pblk: add possibility to set write buffer
> size manually
> 
> On 05/23/2018 05:17 PM, Marcin Dziegielewski wrote:
> > In some cases, users can want set write buffer size manually, e.g. to
> > adjust it to specific workload. This patch provides the possibility to
> > set write buffer size via module parameter feature.
> >
> > Signed-off-by: Marcin Dziegielewski <marcin.dziegielewski@xxxxxxxxx>
> > Signed-off-by: Igor Konopko <igor.j.konopko@xxxxxxxxx>
> > ---
> >   drivers/lightnvm/pblk-init.c | 14 ++++++++++++--
> >   1 file changed, 12 insertions(+), 2 deletions(-)
> >
> > diff --git a/drivers/lightnvm/pblk-init.c
> > b/drivers/lightnvm/pblk-init.c index d65d2f9..9a7213e 100644
> > --- a/drivers/lightnvm/pblk-init.c
> > +++ b/drivers/lightnvm/pblk-init.c
> > @@ -20,6 +20,11 @@
> >
> >   #include "pblk.h"
> >
> > +unsigned int write_buffer_size;
> > +
> > +module_param(write_buffer_size, uint, 0644);
> > +MODULE_PARM_DESC(write_buffer_size, "number of entries in a write
> > +buffer");
> > +
> >   static struct kmem_cache *pblk_ws_cache, *pblk_rec_cache,
> *pblk_g_rq_cache,
> >   				*pblk_w_rq_cache;
> >   static DECLARE_RWSEM(pblk_lock);
> > @@ -172,10 +177,15 @@ static int pblk_rwb_init(struct pblk *pblk)
> >   	struct nvm_tgt_dev *dev = pblk->dev;
> >   	struct nvm_geo *geo = &dev->geo;
> >   	struct pblk_rb_entry *entries;
> > -	unsigned long nr_entries;
> > +	unsigned long nr_entries, buffer_size;
> >   	unsigned int power_size, power_seg_sz;
> >
> > -	nr_entries = pblk_rb_calculate_size(pblk->pgs_in_buffer);
> > +	if (write_buffer_size)
> > +		buffer_size = write_buffer_size;
> > +	else
> > +		buffer_size = pblk->pgs_in_buffer;
> > +
> > +	nr_entries = pblk_rb_calculate_size(buffer_size);
> 
> Would it make sense to include a check to make sure that buffer size does
> not become less than pblk->pgs_in_buffer?
> 
> >
> >   	entries = vzalloc(nr_entries * sizeof(struct pblk_rb_entry));
> >   	if (!entries)
> >





[Index of Archives]     [Linux RAID]     [Linux SCSI]     [Linux ATA RAID]     [IDE]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Device Mapper]

  Powered by Linux