Messages in this thread |  | | | From | Nick Piggin <> | | Subject | Re: kmap_atomic_pfn for PCI BAR access? | | Date | Mon, 7 Jul 2008 16:53:54 +1000 | |
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... But anyway
if you really need the per-CPU mappings, it should be possible to
implement rather generically in vmap layer.
I would be very interested to know what sort of results you see with it
(compared to kmap_atomic and compared to vanilla ioremap)
Thanks,
Nick
|  |