ksummit.lists.linux.dev archive mirror
 help / color / mirror / Atom feed
From: Darren Hart <dvhart@infradead.org>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: ksummit-discuss@lists.linux-foundation.org
Subject: Re: [Ksummit-discuss] [MAINTAINERS SUMMIT] Driver and/or module versions
Date: Fri, 30 Jun 2017 09:21:55 -0700	[thread overview]
Message-ID: <20170630162155.GB26257@fury> (raw)
In-Reply-To: <CA+55aFx9A=5cc0QZ7CySC4F2K7eYaEfzkdYEc9JaNgCcV25=rg@mail.gmail.com>

On Sun, Jun 25, 2017 at 10:32:52AM -0700, Linus Torvalds wrote:
> On Sun, Jun 25, 2017 at 12:24 AM, Leon Romanovsky <leon@kernel.org> wrote:
> > There is a steady flow of patches which bump driver and module versions.
> >
> >  * Can we come with unified policy about those patches?
> 
> We pretty much *have* a unified policy, it's just that I think rdma is crazy.
> 
> The unified policy is pretty much that version codes do not matter, do
> not exist, and do not get updated.
> 

I make the point internally that without a stable-abi, the driver is not
stand-alone, and so the "version" is easily shown to not be independent
from the kernel version (or the distro package version).

> Things are supposed to be backwards and forwards compatible, because
> we don't accept breakage in user space anyway. So versioning is
> pointless, and only causes problems.
> 
> It causes problems not just because of the conflict issues, but
> because it's fundamentally wrong, and makes driver writers think that
> it's ok to change interfaces and use versioning to show they changed.
> It's *not* OK.
> 
> Sometimes you have feature masks (which just mean that it's ok to
> _add_ interfaces rather than change them, and make it possible for
> user space to check if the new interface exists), but even that is
> generally the exception rather than the rule and should be used very
> very carefully and preferably not at all.
> 

While the module version is clearly a flawed concept for Linux drivers,
I do think we should discuss the problem they are intended to address:
knowing what's in a particular instance of a driver.

I see three categories of changes vendors need to be able to track:

1. Bug Fixes
2. Performance enhancements
3. New Features

The first is easily managed through the stable kernel process. Vendors
ensure bug fixes are pushed back to stable, distros pick them up from
there, done.

The second is split into two categories. Many performance regressions
can be accommodated via the stable kernel rules. Regressions with large
mitigation patches and performance enhancements currently need to be
tracked independently from kernel version as they are backported to
distro / product kernels.

New features also fall into the independent tracking bucket, although
your point about feature masks could reduce that need. Is there a
definitive mechanism for the feature mask approach? I see a lot of
sysfs_filename:value key:value pairs for this kind of thing.

-- 
Darren Hart
VMware Open Source Technology Center

  parent reply	other threads:[~2017-06-30 16:21 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-06-25  7:24 Leon Romanovsky
2017-06-25 17:32 ` Linus Torvalds
2017-06-25 18:19   ` Leon Romanovsky
2017-06-25 18:37     ` Linus Torvalds
2017-06-25 19:05       ` Leon Romanovsky
2017-06-25 21:32         ` Alexandre Belloni
2017-06-26  4:51           ` Leon Romanovsky
2017-06-26  6:47             ` Geert Uytterhoeven
2017-06-26  5:00         ` Greg KH
2017-06-26  6:03           ` Leon Romanovsky
2017-06-26 15:21             ` Levin, Alexander (Sasha Levin)
2017-06-26 18:25               ` Leon Romanovsky
2017-06-30 16:21   ` Darren Hart [this message]
2017-07-03 20:41     ` Jiri Kosina
2017-07-03 21:25       ` Darren Hart

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20170630162155.GB26257@fury \
    --to=dvhart@infradead.org \
    --cc=ksummit-discuss@lists.linux-foundation.org \
    --cc=torvalds@linux-foundation.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox