Re: [Intel-gfx] [PATCH 00/18] i915 HW Context Support
On Mon, Mar 19, 2012 at 11:14:32AM +0100, Daniel Vetter wrote: > On Sun, Mar 18, 2012 at 01:39:40PM -0700, Ben Widawsky wrote: > > The patches have changed quite a bit since the RFC, and therefore I > > didn't feel comfortable trying to do v2 information. I didn't feel > > comfortable taking the few r-bs that I had from the RFC except for the > > one patch that I applied wholesale. > > > > Summary: > > - Completely redid the patch splitting. > > I've only done a quick and cursory reading, but I like the new splitting > _much_ more. The storyline behind these patches is now much clearer. I'll > try to do a more in-depth review later this week. Ok, I've gone through it and noticed a few things - mostly stuff that are imo more complicated than necessary and that could be cut out. Safe for the tlb flush wa I haven't cross-checked anything with Bspec, but I don't expect any surprises there. I also haven't checked how good the test coverage is (safe for suggesting that one test for execbuf failure handling). But again, that's something which can be easily fixed. The last thing I'm wondering is: How ready is mesa for this? I'd like to merge this only when the mesa patches are ready to put it to good use. Otherwise we run the decent risk of shipping broken code, which could end up in a decent pain for userspace (worst case we have to add a new flag to claim 'fixed context support'). Cheers, Daniel -- Daniel Vetter Mail: dan...@ffwll.ch Mobile: +41 (0)79 365 57 48 ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] [PATCH 00/18] i915 HW Context Support
On Sun, Mar 18, 2012 at 01:39:40PM -0700, Ben Widawsky wrote: > The patches have changed quite a bit since the RFC, and therefore I > didn't feel comfortable trying to do v2 information. I didn't feel > comfortable taking the few r-bs that I had from the RFC except for the > one patch that I applied wholesale. > > Summary: > - Completely redid the patch splitting. I've only done a quick and cursory reading, but I like the new splitting _much_ more. The storyline behind these patches is now much clearer. I'll try to do a more in-depth review later this week. Cheers, Daniel > The number of patches increased, but LOC is about the same, and a > handful of the new patches are either because of more splitting, or > completely new bits. > - Reference counted context allows freeing the data structure and > freeing the BO independently. This is probably the most significant > change. > - Convert ILK RC6 code to use context code. I'm hopefuly this will make > things more stable, but have no proof. > - Added trace events for context create/destroy/switch. > - Only support render ring context switch (previous code supported any > ring, though media ring is the only other ring which *should* work). > > Testing summary. > ILK > RC6, just booted to desktop > SNB > module load/unload testing > 20 consecutive suspend resume cycles > nexuiz with experimental mesa > piglit quick.tests with experimental mesa > I've seen time-elapsed, and polygonOffset intermittently fail, I > believe this is caused by the following... > Missed IRQs now seem to occur once every other piglit run. > I have some new code to try to fix this... coming soon, I hope. > IVB > No testing done since RFC > > I'll respond to this email with links to what I used to test (code is > currently not in pushable form). > kernel > libdrm > mesa > intel-gpu-tools > > Thanks to Chris Wilson, Daniel Vetter, and Eric Anholt for providing > useful feedback in the RFC. > > Ben Widawsky (18): > drm/i915: CXT_SIZE register offsets added > drm/i915: preliminary context support > drm/i915: context basic create & destroy > drm/i915: add context information to objects > drm/i915: context switch implementation > drm/i915: trace events for contexts > drm/i915: Ivybridge MI_ARB_ON_OFF context w/a > drm/i915: PIPE_CONTROL_TLB_INVALIDATE > drm/i915: possibly invalidate TLB before context switch > drm/i915: use the default context > drm/i915: switch to default context on idle > drm/i915: try to reset the gpu before unload > drm/i915/context: create & destroy ioctls > drm/i915/context: switch contexts with execbuf2 > drm/i915/context: add params > drm/i915/context: anonymous context interfaces > drm/i915: Ironlake rc6 can use context interfaces > drm/i915: try to enable rc6 on Ironlake... again > > drivers/gpu/drm/i915/Makefile |1 + > drivers/gpu/drm/i915/i915_debugfs.c|8 +- > drivers/gpu/drm/i915/i915_dma.c|9 + > drivers/gpu/drm/i915/i915_drv.c|1 + > drivers/gpu/drm/i915/i915_drv.h| 43 ++- > drivers/gpu/drm/i915/i915_gem.c| 11 + > drivers/gpu/drm/i915/i915_gem_context.c| 513 > > drivers/gpu/drm/i915/i915_gem_execbuffer.c |6 + > drivers/gpu/drm/i915/i915_reg.h| 26 ++ > drivers/gpu/drm/i915/i915_trace.h | 59 > drivers/gpu/drm/i915/intel_display.c | 95 +- > drivers/gpu/drm/i915/intel_ringbuffer.c| 49 +++ > drivers/gpu/drm/i915/intel_ringbuffer.h| 11 + > include/drm/i915_drm.h | 21 +- > 14 files changed, 755 insertions(+), 98 deletions(-) > create mode 100644 drivers/gpu/drm/i915/i915_gem_context.c > > -- > 1.7.9.4 > > ___ > Intel-gfx mailing list > Intel-gfx@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/intel-gfx -- Daniel Vetter Mail: dan...@ffwll.ch Mobile: +41 (0)79 365 57 48 ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] [PATCH 00/18] i915 HW Context Support
On Sun, Mar 18, 2012 at 01:39:40PM -0700, Ben Widawsky wrote: > The patches have changed quite a bit since the RFC, and therefore I > didn't feel comfortable trying to do v2 information. I didn't feel > comfortable taking the few r-bs that I had from the RFC except for the > one patch that I applied wholesale. > > Summary: > - Completely redid the patch splitting. > The number of patches increased, but LOC is about the same, and a > handful of the new patches are either because of more splitting, or > completely new bits. > - Reference counted context allows freeing the data structure and > freeing the BO independently. This is probably the most significant > change. > - Convert ILK RC6 code to use context code. I'm hopefuly this will make > things more stable, but have no proof. > - Added trace events for context create/destroy/switch. > - Only support render ring context switch (previous code supported any > ring, though media ring is the only other ring which *should* work). > > Testing summary. > ILK > RC6, just booted to desktop > SNB > module load/unload testing > 20 consecutive suspend resume cycles > nexuiz with experimental mesa > piglit quick.tests with experimental mesa > I've seen time-elapsed, and polygonOffset intermittently fail, I > believe this is caused by the following... > Missed IRQs now seem to occur once every other piglit run. > I have some new code to try to fix this... coming soon, I hope. > IVB > No testing done since RFC > > I'll respond to this email with links to what I used to test (code is > currently not in pushable form). > kernel > libdrm > mesa > intel-gpu-tools Kernel: git://people.freedesktop.org/~bwidawsk/drm-intel context_support libdrm: git://people.freedesktop.org/~bwidawsk/drm context_support mesa: git://people.freedesktop.org/~bwidawsk/mesa context_support intel-gpu-tools git://people.freedesktop.org/~bwidawsk/intel-gpu-tools context_support ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] [PATCH 00/18] i915 HW Context Support
The patches have changed quite a bit since the RFC, and therefore I didn't feel comfortable trying to do v2 information. I didn't feel comfortable taking the few r-bs that I had from the RFC except for the one patch that I applied wholesale. Summary: - Completely redid the patch splitting. The number of patches increased, but LOC is about the same, and a handful of the new patches are either because of more splitting, or completely new bits. - Reference counted context allows freeing the data structure and freeing the BO independently. This is probably the most significant change. - Convert ILK RC6 code to use context code. I'm hopefuly this will make things more stable, but have no proof. - Added trace events for context create/destroy/switch. - Only support render ring context switch (previous code supported any ring, though media ring is the only other ring which *should* work). Testing summary. ILK RC6, just booted to desktop SNB module load/unload testing 20 consecutive suspend resume cycles nexuiz with experimental mesa piglit quick.tests with experimental mesa I've seen time-elapsed, and polygonOffset intermittently fail, I believe this is caused by the following... Missed IRQs now seem to occur once every other piglit run. I have some new code to try to fix this... coming soon, I hope. IVB No testing done since RFC I'll respond to this email with links to what I used to test (code is currently not in pushable form). kernel libdrm mesa intel-gpu-tools Thanks to Chris Wilson, Daniel Vetter, and Eric Anholt for providing useful feedback in the RFC. Ben Widawsky (18): drm/i915: CXT_SIZE register offsets added drm/i915: preliminary context support drm/i915: context basic create & destroy drm/i915: add context information to objects drm/i915: context switch implementation drm/i915: trace events for contexts drm/i915: Ivybridge MI_ARB_ON_OFF context w/a drm/i915: PIPE_CONTROL_TLB_INVALIDATE drm/i915: possibly invalidate TLB before context switch drm/i915: use the default context drm/i915: switch to default context on idle drm/i915: try to reset the gpu before unload drm/i915/context: create & destroy ioctls drm/i915/context: switch contexts with execbuf2 drm/i915/context: add params drm/i915/context: anonymous context interfaces drm/i915: Ironlake rc6 can use context interfaces drm/i915: try to enable rc6 on Ironlake... again drivers/gpu/drm/i915/Makefile |1 + drivers/gpu/drm/i915/i915_debugfs.c|8 +- drivers/gpu/drm/i915/i915_dma.c|9 + drivers/gpu/drm/i915/i915_drv.c|1 + drivers/gpu/drm/i915/i915_drv.h| 43 ++- drivers/gpu/drm/i915/i915_gem.c| 11 + drivers/gpu/drm/i915/i915_gem_context.c| 513 drivers/gpu/drm/i915/i915_gem_execbuffer.c |6 + drivers/gpu/drm/i915/i915_reg.h| 26 ++ drivers/gpu/drm/i915/i915_trace.h | 59 drivers/gpu/drm/i915/intel_display.c | 95 +- drivers/gpu/drm/i915/intel_ringbuffer.c| 49 +++ drivers/gpu/drm/i915/intel_ringbuffer.h| 11 + include/drm/i915_drm.h | 21 +- 14 files changed, 755 insertions(+), 98 deletions(-) create mode 100644 drivers/gpu/drm/i915/i915_gem_context.c -- 1.7.9.4 ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/intel-gfx