Luca Barbieri wrote: >> ^^^ 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! >
Ah, OK. I thought this was the drm linear search for device address space for each bo. > 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%). > /Thomas ------------------------------------------------------------------------------ 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