[dpdk-dev] [PATCH net-next v2] hyper-v: allow access to vmbus from userspace driver

Stephen Hemminger stephen at networkplumber.org
Thu Feb 5 17:50:18 CET 2015


On Thu, 05 Feb 2015 12:01:03 +0100
Vitaly Kuznetsov <vkuznets at redhat.com> wrote:

> Stephen Hemminger <stephen at networkplumber.org> writes:
> 
> > This is enables the hyper-v driver for DPDK <dev at dpdk.org>.
> > The hv_uio driver needs to access the shared vmbus monitor
> > pages.
> 
> Why can't we just make vmbus_connection struct public?
> 
> >
> > I would also like to put hv_uio in upstream kernel like other
> > uio drivers, but need to get API accepted with DPDK first.
> >
> > Signed-off-by: Stas Egorov <segorov at mirantis.com>
> > Signed-off-by: Stephen Hemminger <stephen at networkplumber.org>
> >
> > ---
> > v2 - simplify and rename to vmbus_get_monitor_pages
> >
> >  drivers/hv/connection.c |   20 +++++++++++++++++---
> >  include/linux/hyperv.h  |    3 +++
> >  2 files changed, 20 insertions(+), 3 deletions(-)
> >
> > --- a/drivers/hv/connection.c	2015-02-03 10:58:51.751752450 -0800
> > +++ b/drivers/hv/connection.c	2015-02-04 14:59:51.636194383 -0800
> > @@ -64,6 +64,15 @@ static __u32 vmbus_get_next_version(__u3
> >  	}
> >  }
> >
> > +void vmbus_get_monitor_pages(unsigned long *int_page,
> > +			     unsigned long monitor_pages[2])
> > +{
> 
> Too weird to be a public interface in my opinion.
> 
> > +	*int_page = (unsigned long)vmbus_connection.int_page;
> > +	monitor_pages[0] = (unsigned long)vmbus_connection.monitor_pages[0];
> > +	monitor_pages[1] = (unsigned long)vmbus_connection.monitor_pages[1];
> > +}
> > +EXPORT_SYMBOL_GPL(vmbus_get_monitor_pages);
> > +
> >  static int vmbus_negotiate_version(struct vmbus_channel_msginfo *msginfo,
> >  					__u32 version)
> >  {
> > @@ -347,10 +356,7 @@ static void process_chn_event(u32 relid)
> >  			else
> >  				bytes_to_read = 0;
> >  		} while (read_state && (bytes_to_read != 0));
> > -	} else {
> > -		pr_err("no channel callback for relid - %u\n", relid);
> >  	}
> > -
> >  }
> 
> This change wasn't mentioned in your commit msg.

Was in earlier commit. Need to prevent driver from logging error
when device is not claimed directly by existing kernel devices.


More information about the dev mailing list