> ^^^ Luca, I've never seen this show up high on a profile (yet). Do you see
> that with Nouveau? I used to have an rb-tree implementation of drm_mm_xxx
> lying around, but I didn't use it because I didn't have a case where it
> showed up?

Yes, before I did userspace allocation, in doom3 profiles,
get_unmapped_area and function called by it (all coming from sys_mmap)
consumed around 10% of the time.

Note that this is not DRM-specific code, but rather the generic Linux
code for finding free virtual address space, which walks over all the
vmas in the process and, in the default x86 variant, does an rb-tree
lookup for each vma!

It could be fixed by either in the kernel with better data structures
and algorithms or in userspace by using MAP_FIXED.
However, this will still leave significant kernel overhead (e.g. just
drm_mm_search_free_in_range takes 1%).

------------------------------------------------------------------------------
Download Intel® Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
--
_______________________________________________
Dri-devel mailing list
Dri-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dri-devel

Reply via email to