Re: [PATCH 1/2] drm/i915: Process page flags once rather than per pwrite/pread

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Reviewed-by: Brad Volkin <bradley.d.volkin@xxxxxxxxx>

On Fri, Mar 07, 2014 at 12:30:36AM -0800, Chris Wilson wrote:
> We used to lock individual pages inside the buffer object and so needed
> to update the page flags every time. However, we now pin the pages into
> the object for the duration of the pwrite/pread (and hopefully much
> longer) and so we can forgo the flag updates until we release all the
> pages.
> 
> Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx>
> ---
>  drivers/gpu/drm/i915/i915_gem.c | 9 ++-------
>  1 file changed, 2 insertions(+), 7 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
> index ba7dc4868066..877afb2c576d 100644
> --- a/drivers/gpu/drm/i915/i915_gem.c
> +++ b/drivers/gpu/drm/i915/i915_gem.c
> @@ -627,12 +627,10 @@ i915_gem_shmem_pread(struct drm_device *dev,
>  
>  		mutex_lock(&dev->struct_mutex);
>  
> -next_page:
> -		mark_page_accessed(page);
> -
>  		if (ret)
>  			goto out;
>  
> +next_page:
>  		remain -= page_length;
>  		user_data += page_length;
>  		offset += page_length;
> @@ -950,13 +948,10 @@ i915_gem_shmem_pwrite(struct drm_device *dev,
>  
>  		mutex_lock(&dev->struct_mutex);
>  
> -next_page:
> -		set_page_dirty(page);
> -		mark_page_accessed(page);
> -
>  		if (ret)
>  			goto out;
>  
> +next_page:
>  		remain -= page_length;
>  		user_data += page_length;
>  		offset += page_length;
> -- 
> 1.9.0
> 
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@xxxxxxxxxxxxxxxxxxxxx
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx
_______________________________________________
Intel-gfx mailing list
Intel-gfx@xxxxxxxxxxxxxxxxxxxxx
http://lists.freedesktop.org/mailman/listinfo/intel-gfx




[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux