All of lore.kernel.org
 help / color / mirror / Atom feed
From: Eric Anholt <eric@anholt.net>
To: Alan Cox <alan@lxorguk.ukuu.org.uk>, Jeff Garzik <jeff@garzik.org>
Cc: Matthew Garrett <mjg59@srcf.ucam.org>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Dave Airlie <airlied@linux.ie>,
	linux-kernel@vger.kernel.org, dri-devel@lists.sf.net
Subject: Re: [git pull] drm request 3
Date: Fri, 05 Mar 2010 11:30:36 -0800	[thread overview]
Message-ID: <877hpq36sj.fsf@pollan.anholt.net> (raw)
In-Reply-To: <20100305122129.0c99adf3@lxorguk.ukuu.org.uk>

[-- Attachment #1: Type: text/plain, Size: 3163 bytes --]

On Fri, 5 Mar 2010 12:21:29 +0000, Alan Cox <alan@lxorguk.ukuu.org.uk> wrote:
> Serious discussion point perhaps should be: is the libdrm so close to the
> kernel it ought to be in the same git tree ? Alternatively does it need
> to be easier to have multiple Nouveau libdrms autoselected according to
> the kernel side versioning. ELF library versioning is not rocket science
> and both the old and new libraries exist and can be installed so all the
> bits are present except for the wrapper to load the right sublibrary yes ?

That *would* make versioning impossible.

To make the difficulty of improving ABI at the moment concrete, I just
got done merging the patches for execbuf2 in userland and enabling i915
texture tiling.  This was a 3% performance win in one test I was looking
at, and 1% in another -- less than hoped, but important nonetheless
(there are other cases that should see 30% or so wins hopefully).  The
patches got written back in July, and revved several times as they broke
various combinations of compatibility.  At the point that I merged eb2
to the kernel for 2.6.33, it wasn't *really* tested -- the userland side
was broken all to hell it looked like, but at least it wasn't regressing
execbuf1 any more, right?  I spent this week getting userland working,
including a new libdrm release (already obsolete because a bug in the
libdrm violated what the ABI between libdrm <-> msea was supposed to
be).  So overall, I'd say that we spent about a month of developer time
at least between jbarnes, ickle, and myself, on extending the execbuf
interface to add a flag saying "dear kernel, please don't do this bit of
work on this buffer, because I don't need it and it makes things slow."

This is not that bad for Intel folks.  We're paid to hack on it, and can
justify spending ridiculous amounts of time for small wins.  I actually
enjoy this.

Right now all the userland -- whether it's Mesa, xf86-video-intel,
libva, cairo-drm, stand-alone DRM testcases, etc., gets to move to the
new libdrm API, declare its dependency in PKG_CHECK_MODULES, and hand
that new flag to libdrm as if the kernel supported the new interface.
Inside libdrm, it looks at the kernel version and uses the new interface
or old as appropriate.  The ugly versioning stuff stays in one
easy-to-review 5kloc component, and the complicated 50kloc driver
components get to pretend they have a fancy new kernel.

But if libdrm's in the kernel, all those userland components no longer
get to rely on the version of libdrm, because distros will ship
whatever's with the kernel they're using and our userland does have to
work on (relatively recent) distros.  Each of those userland components
would have to grow a compatibility layer to work with whatever kernel
libdrm is available, passing the flag in the new API or using the old
API.  Userland would even buggier for having to replicate all that logic
everywhere, and we probably wouldn't have execbuf2 landed yet.

Well, OK.  What I'd really do instead is make the kernel libdrm be a
thin ioctl wrapper, and build a librealdrm that does what libdrm does
today.  But I don't think that's what you were suggesting.

[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]

  reply	other threads:[~2010-03-05 19:30 UTC|newest]

Thread overview: 290+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-03-02 23:56 [git pull] drm request 3 Dave Airlie
2010-03-04 18:18 ` Linus Torvalds
2010-03-04 18:18 ` Linus Torvalds
2010-03-04 18:27   ` Matt Turner
2010-03-04 18:27   ` Matt Turner
2010-03-04 18:36   ` Jesse Barnes
2010-03-04 18:39     ` Jesse Barnes
2010-03-04 18:51       ` Linus Torvalds
2010-03-04 18:56         ` Jesse Barnes
2010-03-04 18:56         ` Jesse Barnes
2010-03-04 19:08           ` Linus Torvalds
2010-03-04 19:08           ` Linus Torvalds
2010-03-04 19:25             ` Dave Airlie
2010-03-04 19:25             ` Dave Airlie
2010-03-04 20:01               ` Linus Torvalds
2010-03-04 22:06                 ` Dave Airlie
2010-03-04 22:06                 ` Dave Airlie
2010-03-05  0:08                   ` Linus Torvalds
2010-03-05  0:28                     ` Ben Skeggs
2010-03-05  0:28                     ` Ben Skeggs
2010-03-05  0:41                       ` Linus Torvalds
2010-03-05  0:41                         ` Linus Torvalds
2010-03-05  0:56                         ` Luc Verhaegen
2010-03-05  1:08                           ` Linus Torvalds
2010-03-05  1:08                           ` Linus Torvalds
2010-03-05  1:16                             ` Luc Verhaegen
2010-03-05  1:16                               ` Luc Verhaegen
2010-03-05  1:22                               ` Linus Torvalds
2010-03-05  1:22                               ` Linus Torvalds
2010-03-05  1:20                             ` Linus Torvalds
2010-03-05  1:20                             ` Linus Torvalds
2010-03-05  1:28                               ` Dave Airlie
2010-03-05  1:28                                 ` Dave Airlie
2010-03-05  5:17                                 ` Linus Torvalds
2010-03-05  5:17                                 ` Linus Torvalds
2010-03-05  5:22                                   ` Dave Airlie
2010-03-05  5:22                                   ` Dave Airlie
2010-03-05  5:30                                     ` Linus Torvalds
2010-03-05  5:30                                       ` Linus Torvalds
2010-03-05  5:42                                       ` Linus Torvalds
2010-03-05  5:42                                       ` Linus Torvalds
2010-03-05  0:56                         ` Luc Verhaegen
2010-03-05  1:19                         ` Upstream first policy Kyle McMartin
2010-03-05  1:28                           ` Linus Torvalds
2010-03-05  2:00                         ` [git pull] drm request 3 Tony Luck
2010-03-05  2:00                         ` Tony Luck
2010-03-05 20:34                         ` Felipe Contreras
2010-03-05 20:34                         ` Felipe Contreras
2010-03-05  6:49                       ` Ingo Molnar
2010-03-05  6:49                         ` Ingo Molnar
2010-03-05  7:06                         ` Pekka Enberg
2010-03-05  7:06                           ` Pekka Enberg
2010-03-05  7:17                           ` "C. Bergström"
2010-03-05  7:53                             ` Ingo Molnar
2010-03-05  7:53                             ` Ingo Molnar
2010-03-05 15:18                             ` Linus Torvalds
2010-03-05 15:18                             ` Linus Torvalds
2010-03-05  7:17                           ` "C. Bergström"
2010-03-05  7:44                           ` Ingo Molnar
2010-03-05  7:44                           ` Ingo Molnar
2010-03-05  7:58                             ` Dave Airlie
2010-03-05  7:58                             ` Dave Airlie
2010-03-05  8:16                             ` Stephane Marchesin
2010-03-05  8:16                             ` Stephane Marchesin
2010-03-05 10:00                             ` Making Xorg easier to test (was Re: [git pull] drm request 3) Carlos R. Mafra
2010-03-05 12:54                               ` Valdis.Kletnieks
2010-03-05 12:54                               ` Valdis.Kletnieks
2010-03-05 15:22                               ` Matt Turner
2010-03-05 15:22                               ` Matt Turner
2010-03-05 15:41                                 ` Daniel Stone
2010-03-05 15:49                                   ` Making Xorg easier to test David Miller
2010-03-05 16:03                                     ` Alan Cox
2010-03-05 16:03                                     ` Alan Cox
2010-03-05 16:06                                     ` Daniel Stone
2010-03-05 16:06                                     ` Daniel Stone
2010-03-05 17:50                                     ` Xavier Bestel
2010-03-05 17:54                                       ` David Miller
2010-03-05 17:54                                       ` David Miller
2010-03-05 18:02                                         ` Jesse Barnes
2010-03-05 18:05                                           ` David Miller
2010-03-05 18:05                                           ` David Miller
2010-03-05 18:02                                         ` Jesse Barnes
2010-03-05 17:50                                     ` Xavier Bestel
2010-03-05 15:49                                   ` David Miller
2010-03-05 15:41                                 ` Making Xorg easier to test (was Re: [git pull] drm request 3) Daniel Stone
2010-03-05 15:53                               ` Linus Torvalds
2010-03-05 15:53                               ` Linus Torvalds
2010-03-05 16:11                                 ` Daniel Stone
2010-03-05 16:30                                   ` Linus Torvalds
2010-03-08  8:57                                     ` Daniel Stone
2010-03-08  8:57                                     ` Daniel Stone
2010-03-05 16:30                                   ` Linus Torvalds
2010-03-05 16:11                                 ` Daniel Stone
2010-03-05 16:26                                 ` Jesse Barnes
2010-03-05 16:26                                 ` Jesse Barnes
2010-03-05 10:00                             ` Carlos R. Mafra
2010-03-05 13:55                             ` [git pull] drm request 3 Luc Verhaegen
2010-03-05 13:55                             ` Luc Verhaegen
2010-03-05 16:21                             ` Jesse Barnes
2010-03-05 16:21                             ` Jesse Barnes
2010-03-05 12:38                         ` Alan Cox
2010-03-05 12:38                         ` Alan Cox
2010-03-05 14:37                           ` David Miller
2010-03-05 14:37                           ` David Miller
2010-03-05 14:46                             ` Mike Galbraith
2010-03-05 18:05                               ` Ingo Molnar
2010-03-05 18:05                               ` Ingo Molnar
2010-03-05 14:46                             ` Mike Galbraith
2010-03-05 15:09                             ` Alan Cox
2010-03-05 15:09                             ` Alan Cox
2010-03-05 15:11                               ` David Miller
2010-03-05 15:11                               ` David Miller
2010-03-05 15:17                             ` Daniel Stone
2010-03-05 15:17                               ` Daniel Stone
2010-03-05 15:26                               ` David Miller
2010-03-05 15:26                               ` David Miller
2010-03-05 15:40                                 ` Daniel Stone
2010-03-05 15:40                                 ` Daniel Stone
2010-03-05 15:48                                   ` David Miller
2010-03-05 16:02                                     ` Alan Cox
2010-03-05 16:05                                       ` David Miller
2010-03-05 16:05                                       ` David Miller
2010-03-05 17:58                                         ` Younes Manton
2010-03-05 17:58                                         ` Younes Manton
2010-03-05 16:13                                       ` Linus Torvalds
2010-03-05 16:13                                       ` Linus Torvalds
2010-03-05 16:23                                         ` Alan Cox
2010-03-05 16:23                                         ` Alan Cox
2010-03-05 16:44                                           ` Linus Torvalds
2010-03-05 16:44                                           ` Linus Torvalds
2010-03-05 17:04                                             ` Alan Cox
2010-03-05 17:10                                               ` "C. Bergström"
2010-03-05 17:19                                               ` tytso
2010-03-05 23:54                                                 ` Garry Hurley
2010-03-05 17:19                                               ` tytso
2010-03-05 17:04                                             ` Alan Cox
2010-03-05 16:02                                     ` Alan Cox
2010-03-05 16:04                                     ` Daniel Stone
2010-03-05 16:06                                       ` David Miller
2010-03-05 16:06                                       ` David Miller
2010-03-05 16:31                                         ` Alan Cox
2010-03-05 16:31                                         ` Alan Cox
2010-03-05 17:36                                           ` Jerome Glisse
2010-03-05 17:36                                           ` Jerome Glisse
2010-03-05 16:46                                       ` tytso
2010-03-05 19:38                                         ` Corbin Simpson
2010-03-05 19:38                                           ` Corbin Simpson
2010-03-05 21:01                                           ` Corbin Simpson
2010-03-05 21:01                                           ` Corbin Simpson
2010-03-05 21:51                                           ` tytso
2010-03-05 21:51                                           ` tytso
     [not found]                                             ` <e7bd23c31003051452i117eadc1m5284ac5d14b6465d@mail.gmail.com>
2010-03-05 22:59                                               ` Corbin Simpson
2010-03-05 23:50                                             ` Tilman Schmidt
2010-03-05 23:50                                             ` Tilman Schmidt
2010-03-05 16:46                                       ` tytso
2010-03-05 17:23                                       ` Linus Torvalds
2010-03-05 17:23                                       ` Linus Torvalds
     [not found]                                       ` <hmra63$898$1@xyzzy.farnsworth.org>
2010-03-06  6:17                                         ` Dale Farnsworth
2010-03-06 17:21                                       ` Valdis.Kletnieks
2010-03-06 17:21                                         ` Valdis.Kletnieks
2010-03-05 16:04                                     ` Daniel Stone
2010-03-05 15:48                                   ` David Miller
2010-03-05 15:56                                   ` Luca Barbieri
2010-03-05 15:56                                   ` Luca Barbieri
2010-03-05 16:13                                     ` Alan Cox
2010-03-05 16:13                                     ` Alan Cox
2010-03-05 16:19                                       ` Linus Torvalds
2010-03-05 16:38                                         ` Alan Cox
2010-03-05 16:38                                         ` Alan Cox
2010-03-05 20:59                                         ` Felipe Contreras
2010-03-05 20:59                                         ` Felipe Contreras
2010-03-05 16:19                                       ` Linus Torvalds
2010-03-05 16:25                                       ` Luca Barbieri
2010-03-05 16:25                                       ` Luca Barbieri
2010-03-05 15:42                                 ` Alan Cox
2010-03-05 15:42                                 ` Alan Cox
2010-03-05 16:07                                 ` Linus Torvalds
2010-03-05 16:07                                 ` Linus Torvalds
2010-03-05 17:42                               ` Jeff Garzik
2010-03-05 19:11                                 ` Justin P. mattock
2010-03-05 19:11                                 ` Justin P. mattock
2010-03-05 17:42                               ` Jeff Garzik
2010-03-05  0:08                   ` Linus Torvalds
2010-03-04 19:33             ` Jesse Barnes
2010-03-04 19:33             ` Jesse Barnes
2010-03-04 19:12         ` Matthew Garrett
2010-03-04 19:12         ` Matthew Garrett
2010-03-04 18:51       ` Linus Torvalds
2010-03-04 18:39     ` Jesse Barnes
2010-03-04 18:45     ` Linus Torvalds
2010-03-04 18:45     ` Linus Torvalds
2010-03-04 18:36   ` Jesse Barnes
2010-03-04 18:43   ` Linus Torvalds
2010-03-04 18:50     ` Matthew Garrett
2010-03-04 18:50     ` Matthew Garrett
2010-03-04 18:55       ` Linus Torvalds
2010-03-04 19:01         ` Linus Torvalds
2010-03-04 19:01         ` Linus Torvalds
2010-03-04 19:04         ` Matthew Garrett
2010-03-04 19:14           ` Linus Torvalds
2010-03-04 19:25             ` Matthew Garrett
2010-03-04 19:41               ` Linus Torvalds
2010-03-04 19:41               ` Linus Torvalds
2010-03-04 19:53                 ` Matthew Garrett
2010-03-04 19:53                 ` Matthew Garrett
2010-03-04 20:07                   ` Linus Torvalds
2010-03-04 20:46                     ` Matthew Garrett
2010-03-04 20:46                     ` Matthew Garrett
2010-03-04 20:57                     ` Stephane Marchesin
2010-03-04 20:57                       ` Stephane Marchesin
2010-03-04 22:54                       ` Linus Torvalds
2010-03-04 23:03                         ` Dave Airlie
2010-03-04 23:19                           ` Linus Torvalds
2010-03-04 23:19                             ` Linus Torvalds
2010-03-04 23:27                             ` Michel Dänzer
2010-03-04 23:27                               ` Michel Dänzer
2010-03-04 23:28                             ` Linus Torvalds
2010-03-04 23:28                             ` Linus Torvalds
2010-03-04 23:35                               ` Dave Airlie
2010-03-04 23:35                                 ` Dave Airlie
2010-03-04 23:53                                 ` Linus Torvalds
2010-03-04 23:53                                   ` Linus Torvalds
2010-03-05  0:24                                   ` Ed Tomlinson
2010-03-05  0:24                                   ` Ed Tomlinson
2010-03-05  0:24                                   ` Kyle McMartin
2010-03-05  0:24                                   ` Kyle McMartin
2010-03-04 23:28                             ` Dave Airlie
2010-03-04 23:28                               ` Dave Airlie
2010-03-04 23:03                         ` Dave Airlie
2010-03-04 23:05                         ` Jesse Barnes
2010-03-04 23:05                           ` Jesse Barnes
2010-03-05 12:26                         ` Alan Cox
2010-03-05 12:26                         ` Alan Cox
2010-03-04 22:54                       ` Linus Torvalds
2010-03-04 19:25             ` Matthew Garrett
2010-03-04 22:28             ` Adam Jackson
2010-03-04 22:28               ` Adam Jackson
2010-03-04 23:03               ` Linus Torvalds
2010-03-04 23:14                 ` Stephane Marchesin
2010-03-04 23:14                 ` Stephane Marchesin
2010-03-05 12:29                 ` Alan Cox
2010-03-05 12:29                 ` Alan Cox
2010-03-05 16:18                 ` Adam Jackson
2010-03-05 16:18                 ` Adam Jackson
2010-03-04 23:03               ` Linus Torvalds
2010-03-04 19:14           ` Linus Torvalds
2010-03-04 19:32           ` Jeff Garzik
2010-03-04 19:32           ` Jeff Garzik
2010-03-04 22:18             ` Adam Jackson
2010-03-04 22:18             ` Adam Jackson
2010-03-04 22:21               ` Jeff Garzik
2010-03-04 22:21               ` Jeff Garzik
2010-03-04 22:59                 ` Adam Jackson
2010-03-04 22:59                 ` Adam Jackson
2010-03-05 11:24                   ` Jeff Garzik
2010-03-05 11:24                   ` Jeff Garzik
2010-03-05 15:46                     ` Adam Jackson
2010-03-05 15:46                     ` Adam Jackson
2010-03-05  1:47             ` Robert Hancock
2010-03-05  1:47             ` Robert Hancock
2010-03-05 12:21             ` Alan Cox
2010-03-05 19:30               ` Eric Anholt [this message]
2010-03-05 20:39                 ` Luca Barbieri
2010-03-05 20:39                 ` Luca Barbieri
2010-03-05 19:30               ` Eric Anholt
2010-03-05 12:21             ` Alan Cox
2010-03-04 19:04         ` Matthew Garrett
2010-03-04 18:55       ` Linus Torvalds
2010-03-06 15:23     ` Sergio Monteiro Basto
2010-03-06 17:40       ` Linus Torvalds
2010-03-06 17:40         ` Linus Torvalds
2010-03-06 19:06         ` Sergio Monteiro Basto
2010-03-06 19:06           ` Sergio Monteiro Basto
2010-03-06 19:28           ` Linus Torvalds
2010-03-06 19:28             ` Linus Torvalds
2010-03-06 20:49             ` tytso
2010-03-06 20:49               ` tytso
2010-03-06 20:52               ` Alan Cox
2010-03-06 22:38                 ` tytso
2010-03-06 22:38                   ` tytso
2010-03-06 20:52               ` Alan Cox
2010-03-04 18:43   ` Linus Torvalds
2010-03-04 21:21   ` Maarten Maathuis
2010-03-04 21:21     ` Maarten Maathuis
2010-03-04 21:22     ` Maarten Maathuis
2010-03-04 21:22     ` Maarten Maathuis
2010-03-04 21:27   ` Maarten Maathuis
2010-03-04 21:27   ` Maarten Maathuis
  -- strict thread matches above, loose matches on Subject: below --
2010-03-05 22:18 Jonas Ritz
2010-03-02 23:56 Dave Airlie

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=877hpq36sj.fsf@pollan.anholt.net \
    --to=eric@anholt.net \
    --cc=airlied@linux.ie \
    --cc=alan@lxorguk.ukuu.org.uk \
    --cc=dri-devel@lists.sf.net \
    --cc=jeff@garzik.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mjg59@srcf.ucam.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 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.