All of lore.kernel.org
 help / color / mirror / Atom feed
From: Thierry Reding <thierry.reding@gmail.com>
To: Maarten Lankhorst <maarten.lankhorst@canonical.com>
Cc: "mesa-dev@lists.freedesktop.org" <mesa-dev@lists.freedesktop.org>,
	dri-devel <dri-devel@lists.freedesktop.org>
Subject: Re: [Mesa-dev] rules for merging patches to libdrm
Date: Mon, 18 Nov 2013 17:38:30 +0100	[thread overview]
Message-ID: <20131118163829.GA30416@ulmo.nvidia.com> (raw)
In-Reply-To: <528A40AA.3060300@canonical.com>


[-- Attachment #1.1: Type: text/plain, Size: 3778 bytes --]

On Mon, Nov 18, 2013 at 05:30:34PM +0100, Maarten Lankhorst wrote:
> op 09-11-13 22:26, Ian Romanick schreef:
> > On 11/09/2013 12:11 AM, Dave Airlie wrote:
> >>>> How does this interact with the rule that kernel interfaces require an
> >>>> open source userspace? Is "here are the mesa/libdrm patches that use
> >>>> it" sufficient to get the kernel interface merged?
> >>> That's my understanding: open source userspace needs to exist, but it
> >>> doesn't need to be merged upstream yet.
> >> Having an opensource userspace and having it committed to a final repo
> >> are different things, as Daniel said patches on the mesa-list were
> >> sufficient, they're was no hurry to merge them considering a kernel
> >> release with the code wasn't close, esp with a 3 month release window
> >> if the kernel merge window is close to that anyways.
> >>
> >>>> libdrm is easy to change and its releases are cheap. What problem does
> >>>> committing code that uses an in-progress kernel interface to libdrm
> >>>> cause? I guess I'm not understanding something.
> >> Releases are cheap, but ABI breaks aren't so you can't just go release
> >> a libdrm with an ABI for mesa then decide later it was a bad plan.
> >>
> >>> Introducing new kernel API usually involves assigning numbers for things
> >>> - a new ioctl number, new #defines for bitfield members, and so on.
> >>>
> >>> Multiple patches can be in flight at the same time.  For example, Abdiel
> >>> and I both defined execbuf2 flags:
> >>>
> >>> #define I915_EXEC_RS (1 << 13)     (Abdiel's code)
> >>> #define I915_EXEC_OA (1 << 13)     (my code)
> >>>
> >>> These obviously conflict.  One of the two will land, and the second
> >>> patch author will need to switch to (1 << 14) and resubmit.
> >>>
> >>> If we both decide to push to libdrm, we might get the order backwards,
> >>> or maybe one series won't get pushed at all (in this case, I'm planning
> >>> to drop my patch).  Waiting until one lands in the kernel avoids that
> >>> problem.  Normally, I believe we copy the kernel headers to userspace
> >>> and fix them up a bit.
> >>>
> >>> Dave may have other reasons; this is just the one I thought of.
> >> But mostly this, we've been stung by this exact thing happening
> >> before, and we made the process to stop it from happening again.
> > Then in all honestly, commits to libdrm should be controlled by either a
> > single person or a small cabal... just like the kernel and the xserver.
> >  We're clearly in an uncomfortable middle area where we have a stringent
> > set of restrictions but no way to actually enforce them.
> 
> Most of libdrm is hardware specific, so by necessity it is developed like that.

Most of the Linux kernel is hardware specific, yet it is developed
differently.

> I don't think robclark will touch libdrm/intel for example.

Certainly a subtree-oriented development model could work well for
libdrm. What I mean is that not a single person (or even a set of
people) would need to pick patches from a mailing list, but driver
maintainers could have separate trees which can be merged into the
upstream tree.

That could potentially lower the workload on the libdrm maintainer(s).

> I do not think explicit control is needed, just be more careful and don't cause
> unnecessary headaches by committing code to libdrm before it's in a upstream kernel.
> Preferably wait until it appears in torvalds/linux.git, but it seems airlied has a
> lower standard. :)
> 
> Sometimes software bugs might warrant a release too, so this middle area is needed.

Having a different development model doesn't exclude the possibility for
bugfix releases. Neither does explicit control of what patches are
merged.

Thierry

[-- Attachment #1.2: Type: application/pgp-signature, Size: 836 bytes --]

[-- Attachment #2: Type: text/plain, Size: 159 bytes --]

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel

  reply	other threads:[~2013-11-18 16:38 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-11-08 19:29 rules for merging patches to libdrm Dave Airlie
2013-11-08 22:32 ` Matt Turner
2013-11-08 22:59   ` [Mesa-dev] " Kenneth Graunke
2013-11-09  8:11     ` Dave Airlie
2013-11-09 21:26       ` Ian Romanick
2013-11-18 13:29         ` Thierry Reding
2013-11-18 15:17           ` Rob Clark
2013-11-18 15:23             ` [Mesa-dev] " Thierry Reding
2013-11-18 16:21               ` Rob Clark
2013-11-18 16:41                 ` Thierry Reding
2013-11-18 18:38                   ` [Mesa-dev] " Jerome Glisse
2013-11-19  8:18                     ` Thierry Reding
2013-11-18 16:30         ` [Mesa-dev] " Maarten Lankhorst
2013-11-18 16:38           ` Thierry Reding [this message]
2013-11-19 14:26   ` Marek Olšák
2013-11-19 15:04     ` [Mesa-dev] " Christian König
2013-11-19 15:14       ` Martin Peres

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=20131118163829.GA30416@ulmo.nvidia.com \
    --to=thierry.reding@gmail.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=maarten.lankhorst@canonical.com \
    --cc=mesa-dev@lists.freedesktop.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.