[Intel-gfx] [PATCH] drm/i915: Handle request to map a very large buffer object
Paul Menzel
paulepanter at users.sourceforge.net
Tue Feb 28 09:09:36 CET 2012
Dear Anuj,
thank you for your patch with the great explanation in the commit
message. I found one typo in the code comment and while at it point out
some grammar issue in the commit message.
Am Montag, den 27.02.2012, 12:28 -0800 schrieb Anuj Phogat:
> This patch sets an upper limit on the size of buffer object which can be
> mapped safely. Following bugs reported segmentation fault / assertion
reported *a* segmentation fault / *an* assertion …
> failure with large textures:
>
> https://bugs.freedesktop.org/show_bug.cgi?id=44970
> https://bugs.freedesktop.org/show_bug.cgi?id=46303
>
> This patch along with another patch which I posted on mesa-dev
> (intel: Fix a case when mapping large texture fails) [1] resolve
You could add the URL.
> above mentioned bugs. Recently posted piglit test case (large-textures)
*The* recently …
> also passes with these patches.
[1] http://lists.freedesktop.org/archives/mesa-dev/2012-February/019488.html
> Signed-off-by: Anuj Phogat <anuj.phogat at gmail.com>
> ---
> This fix doesn't limit developers to create very large texture but it
> restricts them to map it. I am not very confident about this patch and
> setting 128 MB as the upper limit on size of buffer object. So, please
> provide your views.
>
> Chris Wilson's views on this issue:
> http://www.mail-archive.com/intel-gfx@lists.freedesktop.org/msg08585.html
>
> intel/intel_bufmgr_gem.c | 11 +++++++++++
> 1 files changed, 11 insertions(+), 0 deletions(-)
>
> diff --git a/intel/intel_bufmgr_gem.c b/intel/intel_bufmgr_gem.c
> index 0f33b71..8b05de9 100644
> --- a/intel/intel_bufmgr_gem.c
> +++ b/intel/intel_bufmgr_gem.c
> @@ -1191,6 +1191,17 @@ int drm_intel_gem_bo_map_gtt(drm_intel_bo *bo)
>
> pthread_mutex_lock(&bufmgr_gem->lock);
>
> + /* Set am upper limit on the size of buffer which can be mapped
> + safely
s/am/an/
Maybe add full stop ».« at the end of the sentence.
> + */
> + if (bo->size > 128 * 1024 * 1024) {
It seems strange for me that the upper buffer size is always the same
and not dependent on the chipset(?). But I guess you have checked that.
> + DBG("%s:%d: Reached buffer map limit.\n",
> + __FILE__, __LINE__);
> + bo->virtual = NULL;
> + pthread_mutex_unlock(&bufmgr_gem->lock);
> + return -1;
> + }
> +
> if (bo_gem->map_count++ == 0)
> drm_intel_gem_bo_open_vma(bufmgr_gem, bo_gem);
Reviewed-by: Paul Menzel <paulepanter at users.sourceforge.net>
Thanks,
Paul
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part
URL: <http://lists.freedesktop.org/archives/intel-gfx/attachments/20120228/d04e6640/attachment.sig>
More information about the Intel-gfx
mailing list