[Mesa-dev] [PATCH] anv: anv_gem_mmap() returns MAP_FAILED as mapping error

Samuel Iglesias Gonsálvez siglesias at igalia.com
Wed May 3 11:33:00 UTC 2017


On Wed, 2017-05-03 at 11:50 +0100, Emil Velikov wrote:
> Hi Samuel,
> 
> On 3 May 2017 at 08:57, Samuel Iglesias Gonsálvez <siglesias at igalia.c
> om> wrote:
> > Take it into account when checking if the mapping failed.
> > 
> > Signed-off-by: Samuel Iglesias Gonsálvez <siglesias at igalia.com>
> > ---
> >  src/intel/vulkan/anv_allocator.c | 2 +-
> >  src/intel/vulkan/anv_image.c     | 4 ++++
> >  2 files changed, 5 insertions(+), 1 deletion(-)
> > 
> > diff --git a/src/intel/vulkan/anv_allocator.c
> > b/src/intel/vulkan/anv_allocator.c
> > index 554ca4ac5f..6ab2da5d64 100644
> > --- a/src/intel/vulkan/anv_allocator.c
> > +++ b/src/intel/vulkan/anv_allocator.c
> > @@ -889,7 +889,7 @@ anv_bo_pool_alloc(struct anv_bo_pool *pool,
> > struct anv_bo *bo, uint32_t size)
> >     assert(new_bo.size == pow2_size);
> > 
> >     new_bo.map = anv_gem_mmap(pool->device, new_bo.gem_handle, 0,
> > pow2_size, 0);
> > -   if (new_bo.map == NULL) {
> > +   if (new_bo.map == MAP_FAILED) {
> >        anv_gem_close(pool->device, new_bo.gem_handle);
> >        return vk_error(VK_ERROR_MEMORY_MAP_FAILED);
> >     }
> > diff --git a/src/intel/vulkan/anv_image.c
> > b/src/intel/vulkan/anv_image.c
> > index 4874f2f3d3..d7d53f96a4 100644
> > --- a/src/intel/vulkan/anv_image.c
> > +++ b/src/intel/vulkan/anv_image.c
> > @@ -26,6 +26,7 @@
> >  #include <string.h>
> >  #include <unistd.h>
> >  #include <fcntl.h>
> > +#include <sys/mman.h>
> > 
> >  #include "anv_private.h"
> >  #include "util/debug.h"
> > @@ -369,6 +370,9 @@ VkResult anv_BindImageMemory(
> >        if (map == NULL)
> >           return vk_error(VK_ERROR_OUT_OF_HOST_MEMORY);
> > 
> 
> Shouldn't we drop this check alongside its comment? There's a another
> comment a few lines further up which should be updated as well.

I thought about doing the same when writing the patch. However, that
comment gave me some doubts which is the reason I added Jason in Cc.
Let's see if he agrees that it is safe to remove this check (and its
comment), as he was the author of those lines.

> With that
> Reviewed-by: Emil Velikov <emil.velikov at collabora.com>
> 
> Some suggestions for follow-up patches:
>  - check if anv_gem_mmap in genX_query.c fails
>  - document the anv_gem_mmap return value
> 
> -Emil

Thanks,

Sam
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: This is a digitally signed message part
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20170503/026eae90/attachment.sig>


More information about the mesa-dev mailing list