![]() | |||||||||||||
Messages in this thread |
On Mon, 7 Jul 2008 16:53:54 +1000 Nick Piggin <nickpiggin@yahoo.com.au> wrote: > On Thursday 26 June 2008 13:11, Jeremy Fitzhardinge wrote: > > Dave Airlie wrote: > > > > doing tlb flush for iounmap is slow as all hell if you do it a > > > lot, and we can't afford to mmap the whole aperture it can 1GB. > > > > Maybe Nick's vmap reimplementation would help here. It effectively > > allows you to map stuff into the vmalloc space, and do lazy tlb > > flushes to mitigate the cost of map/unmap. He posted the patches > > week or so ago. > > Yeah, it can _really_ help. I'd posted some performance numbers with > the patch which might prompt you to take another look at ioremap. > > One thing I still haven't implemented in that patch are CPU-local > mappings (which only require a local flush to flush)... I found that > after the improvements I did implement, they didn't help much for > my workloads, so I suspect you might find the same thing... just to complicate things with ioremap() you have to deal with the various caching-coherency requirements.. making things lazy and per CPU complicates that a ton (and I suspect won't actually make things cheaper) -- If you want to reach me at my work email, use arjan@linux.intel.com For development, discussion and tips for power savings, visit http://www.lesswatts.org | ||||||||||||
| Last update: 2008-07-07 09:09 [from the cache] ©2003-2008 | |||||||||||||