[Intel-gfx] [PATCH] drm/i915: Batch copy_from_user for relocation processing
Daniel Vetter
daniel at ffwll.ch
Mon Mar 26 09:59:55 CEST 2012
On Sat, Mar 24, 2012 at 08:12:53PM +0000, Chris Wilson wrote:
> Originally the code tried to allocate a large enough array to perform
> the copy using vmalloc, performance wasn't great and throughput was
> improved by processing each individual relocation entry separately.
> This too is not as efficient as one would desire. A compromise would be
> to allocate a single page, or to allocate a few entries on the stack,
> and process the copy in batches. The latter gives simpler code and more
> consistent performance due to a lack of heuristic.
>
> x11perf -copywinwin10: n450/pnv i3-330m i5-2520m (cpu)
> before: 249000 785000 1280000 (80%)
> page: 264000 896000 1280000 (65%)
> on-stack: 264000 902000 1280000 (67%)
>
> v2: Use 512-bytes of stack for batching rather than allocate a page.
> v3: Tidy the code slightly with more descriptive variable names
>
> Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
Reviewed-by: Daniel Vetter <daniel.vetter at ffwll.ch>
... and also queued up for -next, thanks for the patch.
-Daniel
--
Daniel Vetter
Mail: daniel at ffwll.ch
Mobile: +41 (0)79 365 57 48
More information about the Intel-gfx
mailing list