[dpdk-dev] Poor device abstraction's
Neil Horman
nhorman at tuxdriver.com
Fri Apr 11 19:59:35 CEST 2014
On Fri, Apr 11, 2014 at 05:57:41PM +0000, Venkatesan, Venky wrote:
> Agree that the patch sets are a step towards fixing that, but there is a lot more to be done on this. Could we start discussion on what the "ideal" abstraction should be? I'd like to pool those into a formal proposal that we can discuss and drive through a series of patches to make that happen. Even semi-freezing anything prior to that would be premature.
>
Well, just to throw something out there, what about starting with the net_device
structure in the kernel, and removing things that are unnecessecary? That might
give us a good starting point to see what else is needed
Neil
> -Venky
>
> -----Original Message-----
> From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Neil Horman
> Sent: Friday, April 11, 2014 10:47 AM
> To: Stephen Hemminger
> Cc: dev at dpdk.org
> Subject: Re: [dpdk-dev] Poor device abstraction's
>
> On Fri, Apr 11, 2014 at 10:33:31AM -0700, Stephen Hemminger wrote:
> > One of my pet peeve's is that the device driver config does not
> > abstract the properties of the Ethernet device. The existing
> > parameters match those of Intel's Ethernet hardware but not much else.
> > It also makes it hard to write generic applications. If the
> > application has to query the device driver name string and insert
> > different parameters for igb, igbvf, ixgbe and vmxnet3 then the API was designed wrong.
> >
> I agree. I think the patches that recently got integrated from Olivier are a step toward fixing that, but theres some more work to be done.
>
> Neil
>
> > Specific examples:
> > * the "descriptors" argument to rx/tx is interpreted as a hardware resource
> > not the number of packets. An application really wants to say "you may buffer
> > up to 100us of packets" not have to guess what the underlying driver does.
> >
> > * the rthresh/wthresh/pthresh are PCI device artifacts and correct value is
> > different for each HW device shouldn't be exposed to application. The API
> > should be something like "device may burst up to N packets and/or T latency".
> >
> > These seems like issues of a transition from a cool toy to talk to
> > Intel hardware to a useful application infrastructure.
> >
> > That is why I would hate to see the existing Intel device centric API frozen.
> >
>
More information about the dev
mailing list