[Mesa-dev] [PATCH v4 1/2] intel/ppgtt: memory address alignment

Sergii Romantsov sergii.romantsov at globallogic.com
Tue Aug 14 11:28:35 UTC 2018


Hello,
seems some part of the World is still may waiting for a possibility to play
Dying Light... till pushed :)

On Mon, Aug 6, 2018 at 4:26 PM, Lionel Landwerlin <
lionel.g.landwerlin at intel.com> wrote:

> On 06/08/18 13:41, Sergii Romantsov wrote:
>
>> Kernel (for ppgtt) requires memory address to be
>> aligned to page size (4096).
>>
>> -v2: added marking that also fixes initial commit 01058a552294.
>> -v3: numbers replaced by PAGE_SIZE; buffer-object size is aligned
>> instead of alignment of offsets (Chris Wilson).
>> -v4: changes related to PAGE_SIZE moved to separate commit
>>
>> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=106997
>> Fixes: a363bb2cd0e2 (i965: Allocate VMA in userspace for full-PPGTT
>> systems.)
>> Fixes: 01058a552294 (i965: Add virtual memory allocator infrastructure to
>> brw_bufmgr.)
>> Signed-off-by: Sergii Romantsov <sergii.romantsov at globallogic.com>
>>
>
> Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
>
> Thanks!
>
>
> ---
>>   src/mesa/drivers/dri/i965/brw_bufmgr.c | 7 +++----
>>   1 file changed, 3 insertions(+), 4 deletions(-)
>>
>> diff --git a/src/mesa/drivers/dri/i965/brw_bufmgr.c
>> b/src/mesa/drivers/dri/i965/brw_bufmgr.c
>> index 09d45e3..8274c2e 100644
>> --- a/src/mesa/drivers/dri/i965/brw_bufmgr.c
>> +++ b/src/mesa/drivers/dri/i965/brw_bufmgr.c
>> @@ -496,7 +496,6 @@ bo_alloc_internal(struct brw_bufmgr *bufmgr,
>>                     uint32_t stride)
>>   {
>>      struct brw_bo *bo;
>> -   unsigned int page_size = getpagesize();
>>      int ret;
>>      struct bo_cache_bucket *bucket;
>>      bool alloc_from_cache;
>> @@ -522,12 +521,12 @@ bo_alloc_internal(struct brw_bufmgr *bufmgr,
>>       * allocation up.
>>       */
>>      if (bucket == NULL) {
>> -      bo_size = size;
>> -      if (bo_size < page_size)
>> -         bo_size = page_size;
>> +      unsigned int page_size = getpagesize();
>> +      bo_size = ALIGN(size, page_size);
>>      } else {
>>         bo_size = bucket->size;
>>      }
>> +   assert(bo_size);
>>        mtx_lock(&bufmgr->lock);
>>      /* Get a buffer out of the cache if available */
>>
>
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
>



-- 
Sergii Romantsov
GlobalLogic Inc.
www.globallogic.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20180814/69d992ee/attachment.html>


More information about the mesa-dev mailing list