Re: [PATCH 05/10] uio_hv_generic: make ring size configurable

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

 



On Tue, Jan 09, 2018 at 11:14:11AM -0800, Stephen Hemminger wrote:
> On Tue, 9 Jan 2018 19:58:34 +0100
> Greg KH <gregkh@xxxxxxxxxxxxxxxxxxx> wrote:
> 
> > On Tue, Jan 09, 2018 at 10:53:10AM -0800, Stephen Hemminger wrote:
> > > On Tue, 9 Jan 2018 19:42:40 +0100
> > > Greg KH <gregkh@xxxxxxxxxxxxxxxxxxx> wrote:
> > >   
> > > > On Thu, Jan 04, 2018 at 02:13:29PM -0800, Stephen Hemminger wrote:  
> > > > > Allow setting size of ring buffer for host communication via
> > > > > module parameter.
> > > > > 
> > > > > Signed-off-by: Stephen Hemminger <sthemmin@xxxxxxxxxxxxx>
> > > > > ---
> > > > >  drivers/uio/uio_hv_generic.c | 25 +++++++++++++++++++++----
> > > > >  1 file changed, 21 insertions(+), 4 deletions(-)
> > > > > 
> > > > > diff --git a/drivers/uio/uio_hv_generic.c b/drivers/uio/uio_hv_generic.c
> > > > > index 8d5f529a1dc1..24f8689fdb14 100644
> > > > > --- a/drivers/uio/uio_hv_generic.c
> > > > > +++ b/drivers/uio/uio_hv_generic.c
> > > > > @@ -39,6 +39,13 @@
> > > > >  #define DRIVER_AUTHOR	"Stephen Hemminger <sthemmin at microsoft.com>"
> > > > >  #define DRIVER_DESC	"Generic UIO driver for VMBus devices"
> > > > >  
> > > > > +#define RING_SIZE_MIN 64
> > > > > +#define RING_SIZE_MAX 512
> > > > > +
> > > > > +static unsigned int ring_size = 128;
> > > > > +module_param(ring_size, uint, 0444);
> > > > > +MODULE_PARM_DESC(ring_size, "Ring buffer size (# of pages)");    
> > > > 
> > > > Ugh, really?  Module parameters suck rocks.  No other way to do this
> > > > dynamically?  This affects all devices for the driver, is that ok?
> > > > 
> > > > And how does anyone know to change this or not?  Why would it be
> > > > changed?  Why can't the kernel get this right on its own?  
> > > 
> > > You made UIO API so restrictive there is no parameterization available.  
> > 
> > _I_ did?  Heck, I don't remember what I did last month, let alone almost
> > a decade ago...
> > 
> > > The size of ring buffer is generally unchanged.   
> > 
> > Then why is this needed at all?
> 
> The default ring buffer is quite large, and wasteful with small VM's with network device driver
> we do autotuning now based on number of channels which is based on number of cpu's.
> 
> How about integrating that?

Autotuning is great, I would love to see that.

thanks,

greg k-h
_______________________________________________
devel mailing list
devel@xxxxxxxxxxxxxxxxxxxxxx
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel



[Index of Archives]     [Linux Driver Backports]     [DMA Engine]     [Linux GPIO]     [Linux SPI]     [Video for Linux]     [Linux USB Devel]     [Linux Coverity]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux