On Thu, 2008-10-23 at 10:54 +0200, Michel Dänzer wrote: > On Thu, 2008-10-23 at 04:52 +0100, Dave Airlie wrote: > > > > commit 9e44af790f8bf8c3aa8a3101fd4f9bca2e932baa > > Author: Keith Packard <[EMAIL PROTECTED]> > > Date: Thu Oct 16 21:18:27 2008 -0700 > > > > drm/i915: hold dev->struct_mutex and DRM lock during vblank ring > > operations > > > > To synchronize clip lists with the X server, the DRM lock must be held > > while > > looking at drawable clip lists. To synchronize with other ring access, > > the > > ring mutex must be held while inserting commands into the ring. > > Failure to > > do the first resulted in easy visual corruption when moving windows, > > and the > > second could have corrupted the ring with DRI2. > > > > Grabbing the DRM lock involves using the DRM tasklet mechanism, > > grabbing the > > ring mutex means potentially sleeping. Deal with both of these by always > > running the tasklet from a work handler. > > Does that still provide good enough latency to prevent tearing though, > e.g. with reduced blanking modes?
In my limited testing, yes. But I'm sure in more extensive testing I would have run into the things that doom the old vblank API: - Anybody else having queued up rendering leaves your swap at the end of the queue, so you miss the vblank. - Anybody else hanging onto the lock prevents you from queueing your vblank swap. (And given how long the X Server could hold the lock...) We're going to be writing new vblank swap support for DRI2, where the plan is to use the high priority ring if available or throttle access to the main ring, solving problem 1. And with DRI2 the kernel's the only one in charge of the locking, so #2 should be OK as well (and if it isn't, then we finally have a reason to go finer-grained with our locking). > > commit 35ad68c18148a18938ff4f40e945c9734e7d2265 > > Author: Eric Anholt <[EMAIL PROTECTED]> > > Date: Fri Oct 17 11:03:53 2008 -0700 > > > > drm: Remove two leaks of vblank reference count in error paths. > > > > If the failing paths were hit, the vblank IRQ would never get turned off > > again. > > > > Signed-off-by: Eric Anholt <[EMAIL PROTECTED]> > > Acked-by: Keith Packard <[EMAIL PROTECTED]> > > Signed-off-by: Dave Airlie <[EMAIL PROTECTED]> > > > > commit 786225eb2f4e55b5dda3cf8c62a145e824aae199 > > Author: Zhenyu Wang <[EMAIL PROTECTED]> > > Date: Fri Oct 17 15:48:44 2008 +0800 > > > > drm: fix leak of cliprects in drm_rmdraw() > > > > Signed-off-by: Zhenyu Wang <[EMAIL PROTECTED]> > > Signed-off-by: Eric Anholt <[EMAIL PROTECTED]> > > Signed-off-by: Dave Airlie <[EMAIL PROTECTED]> > > Will changes like these outside of the i915 driver still be merged to > drm Git? We don't have any plans to. -- Eric Anholt [EMAIL PROTECTED] [EMAIL PROTECTED]
signature.asc
Description: This is a digitally signed message part
------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/
-- _______________________________________________ Dri-devel mailing list Dri-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel