Re: [MAINTAINER SUMMIT] User-space requirements for accelerator drivers

Leon Romanovsky
2021-09-11T12:04:11Z

On Sat, Sep 11, 2021 at 02:41:52PM +0300, Laurent Pinchart wrote:
> On Sat, Sep 11, 2021 at 01:31:02PM +0300, Leon Romanovsky wrote:
> > On Sat, Sep 11, 2021 at 01:55:16AM +0200, Thomas Gleixner wrote:
> > > On Fri, Sep 10 2021 at 16:45, Josh Triplett wrote:
> > >
> > > > On Sat, Sep 11, 2021 at 12:52:14AM +0200, Mauro Carvalho Chehab wrote:
> > > >> On media, enforcing userspace to always be open source would
> > > >> have been very bad, as it would prevent several videoconferencing
> > > >> software to exist on Linux.
> > > >
> > > > I don't think we should enforce that all userspace users of an interface
> > > > be Open Source. I do think we should enforce that *some* userspace user
> > > > of an interface be Open Source before we add the interface.
> > >
> > > The real question is whether the interface is documented in a way that
> > > an Open Source implementation is possible. It does not matter whether it
> > > exists at that point in time or not. Even if it exists there is no
> > > guarantee that it is feature complete.
> > >
> > > Freely accessible documentation is really the key.
> >
> > I have more radical view than you and think that documentation is far
> > from being enough. I would like to see any userspace API used (or to be
> > used) in any package which exists in Debiam/Fedora/SuSE.
>
> We probably need to add Android AOSP to that list, as we have
> Android-specific APIs (not that I believe we *should* have
> Android-specific APIs, there's been lots of efforts over the past years
> to develop standard APIs for use cases that stem from Android, slowly
> replacing Android-specific APIs in some area, but I don't believe we can
> realisticly bridge that gap completely overnight, if ever).

Maybe.

>
> > Only this will give us some sort of confidence that API and device are usable
> > to some level. As a side note, we will be able to estimate possible API
> > deprecation/fix/extension based on simple search in package databases.
>
> Linux supports devices from very diverse markets, from very tiny
> embedded devices to supercomputers. We have drivers for devices that
> exist in data centres of a single company only, or for which only a
> handful of units exist through the world. The set of rules that we'll
> decide on, if any, should take this into account.

I'm part of that group (RDMA) who cares about enterprise, cloud and supercomputers. :)
So for us, working out-of-the box (distro packages and not github code drops) is
the key to the scalability.

Regarding "embedded devices", I remind that we are talking about
userspace API and most likely busybox will be used for them, which is
also part of larger distro anyway, so fails under category "exists in
Debian/Fedora/SuSE".

>
> > IMHO, github projects to show API usage are the worst possible way to
> > allow acceptance for new userspace API.
>
> --
> Regards,
>
> Laurent Pinchart