Re: [PATCH 10/11] drm/i915: Mark the context and address space as closed

Tvrtko Ursulin
2015-12-17T12:39:39Z

On 17/12/15 12:37, Tvrtko Ursulin wrote:
>
> Hi,
>
> On 14/12/15 11:36, Chris Wilson wrote:
>> When the user closes the context mark it and the dependent address space
>> as closed. As we use an asynchronous destruct method, this has two
>> purposes.
>> First it allows us to flag the closed context and detect internal
>> errors if
>> we to create any new objects for it (as it is removed from the user's
>> namespace, these should be internal bugs only). And secondly, it allows
>> us to immediately reap stale vma.
>>
>> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
>> ---
>> drivers/gpu/drm/i915/i915_drv.h | 4 ++++
>> drivers/gpu/drm/i915/i915_gem.c | 15 ++++++++-----
>> drivers/gpu/drm/i915/i915_gem_context.c | 39
>> +++++++++++++++++++++++++++++----
>> drivers/gpu/drm/i915/i915_gem_gtt.c | 11 +++++++---
>> drivers/gpu/drm/i915/i915_gem_gtt.h | 9 ++++++++
>> drivers/gpu/drm/i915/i915_gem_stolen.c | 2 +-
>> 6 files changed, 66 insertions(+), 14 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/i915/i915_drv.h
>> b/drivers/gpu/drm/i915/i915_drv.h
>> index 696469a06715..66ecd6b3df95 100644
>> --- a/drivers/gpu/drm/i915/i915_drv.h
>> +++ b/drivers/gpu/drm/i915/i915_drv.h
>> @@ -892,6 +892,8 @@ struct intel_context {
>> } engine[I915_NUM_RINGS];
>>
>> struct list_head link;
>> +
>> + bool closed:1;
>> };
>>
>> enum fb_op_origin {
>> @@ -2720,6 +2722,8 @@ int __must_check i915_vma_unbind(struct i915_vma
>> *vma);
>> * _guarantee_ VMA in question is _not in use_ anywhere.
>> */
>> int __must_check __i915_vma_unbind_no_wait(struct i915_vma *vma);
>> +void i915_vma_close(struct i915_vma *vma);
>> +
>> int i915_gem_object_put_pages(struct drm_i915_gem_object *obj);
>> void i915_gem_release_all_mmaps(struct drm_i915_private *dev_priv);
>> void i915_gem_release_mmap(struct drm_i915_gem_object *obj);
>> diff --git a/drivers/gpu/drm/i915/i915_gem.c
>> b/drivers/gpu/drm/i915/i915_gem.c
>> index 7c13c27a6470..08ea0b7eda8b 100644
>> --- a/drivers/gpu/drm/i915/i915_gem.c
>> +++ b/drivers/gpu/drm/i915/i915_gem.c
>> @@ -2367,12 +2367,13 @@ i915_gem_object_flush_active(struct
>> drm_i915_gem_object *obj)
>> return 0;
>> }
>>
>> -static void i915_vma_close(struct i915_vma *vma)
>
> Can't find this in this series?

Ooops it is in a different mail folder, I did not sport the break in
patch numbers...

Regards,

Tvrtko