From: Eric A. <er...@an...> - 2008-03-04 04:36:23
|
On Fri, 2008-02-29 at 16:03 +0100, Thomas Hellström wrote: > Hi. > > I've pushed the intel-post-reloc branch with the following stuff: > > 1) Full backwards compatibility. > 2) A new reloc type 1, which is applied _after_ all validations and with > slightly different format. > 3) If the buffer is idle, type 1 relocations are performed using the new > kmap_atomic_prot_pfn if it's available. > 4) If the buffer is busy, It's never mapped, and relocations are > performed using a single dword 2D blit, and we never have to idle the > buffer. This comes at a cost of an additional single MI_FLUSH after all > blit-relocations have been performed. > > This could help avoid pre-validation relocation processing, race > conditions due to the relocatee not being on the unfenced list when > relocs are applied and unnecessary buffer idling. What are the performance results of using this? We've thought about doing this before, but cworth's experiments with it in the 2d driver were supposedly not too impressive. (but then, applying relocations to currently in-flight buffers is sufficiently rare I think that it probably doesn't matter) -- Eric Anholt anholt@FreeBSD.org er...@an... eri...@in... |