Re: [RFC][PATCH 4/5] libdrm: reduce number of reallocations in drmModeAtomicAddProperty

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

 



On Sat, 20 Apr 2019 at 05:25, John Stultz <john.stultz@xxxxxxxxxx> wrote:
>
> From: Adrian Salido <salidoa@xxxxxxxxxx>
>
> When calling drmModeAtomicAddProperty allocation of memory happens as
> needed in increments of 16 elements. This can be very slow if there are
> multiple properties to be updated in an Atomic Commit call.
>
> Increase this to as many as can fit in a memory PAGE to avoid having to
> reallocate memory too often.
>
> Cc: Emil Velikov <emil.velikov@xxxxxxxxxxxxx>
> Cc: Sean Paul <seanpaul@xxxxxxxxxxxx>
> Cc: Alistair Strachan <astrachan@xxxxxxxxxx>
> Cc: Marissa Wall <marissaw@xxxxxxxxxx>
> Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx>
> ---
>  xf86drmMode.c | 7 ++++---
>  1 file changed, 4 insertions(+), 3 deletions(-)
>
> diff --git a/xf86drmMode.c b/xf86drmMode.c
> index 8f8633e..c878d9e 100644
> --- a/xf86drmMode.c
> +++ b/xf86drmMode.c
> @@ -1259,7 +1259,7 @@ drm_public drmModeAtomicReqPtr drmModeAtomicDuplicate(drmModeAtomicReqPtr old)
>                         return NULL;
>                 }
>                 memcpy(new->items, old->items,
> -                      old->size_items * sizeof(*new->items));
> +                      old->cursor * sizeof(*new->items));
This seems like another (unrelated) perf. tweak. Splitting to separate
patch may be an overkill, so a trivial mention in the commit message
will do.

With that:
Reviewed-by: Emil Velikov <emil.velikov@xxxxxxxxxxxxx>

-Emil
_______________________________________________
dri-devel mailing list
dri-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/dri-devel




[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux