Re: [Intel-gfx] [PATCH 00/18] i915 HW Context Support

2012-03-29 Thread Daniel Vetter
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

2012-03-19 Thread Daniel Vetter
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

2012-03-18 Thread Ben Widawsky
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

2012-03-18 Thread Ben Widawsky
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