[Mesa-dev] [PATCH v5 1/2] intel/ppgtt: memory address alignment
Sergii Romantsov
sergii.romantsov at globallogic.com
Thu Aug 16 13:42:01 UTC 2018
And also thanks to you :).
On Thu, Aug 16, 2018 at 4:16 PM, Lionel Landwerlin <
lionel.g.landwerlin at intel.com> wrote:
> Both patches pushed to master.
>
> Thanks!
>
> -
> Lionel
>
>
> On 15/08/18 16:03, Lionel Landwerlin wrote:
>
>> On 15/08/18 12:23, 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
>>> -v5: restored alignment to page-size for 0-size.
>>>
>>> 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>
>>>
>>
>> CI seems happy this time :
>>
>> Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
>>
>> ---
>>> 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..19e2d14 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 = size == 0 ? page_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
>>
>
>
> _______________________________________________
> 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/20180816/7a9071d0/attachment-0001.html>
More information about the mesa-dev
mailing list