Re: kmap_atomic_pfn for PCI BAR access?

From: Nick Piggin
Date: Mon Jul 07 2008 - 02:54:31 EST


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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/