Re: flush_tlb_all in vmalloc_area_pages

Andrea Arcangeli (andrea@suse.de)
Fri, 21 Sep 2001 00:25:47 +0200


On Thu, Sep 20, 2001 at 02:26:38PM -0700, David S. Miller wrote:
> From: Andrea Arcangeli <andrea@suse.de>
> Date: Fri, 7 Sep 2001 16:56:12 +0200
>
> For the flush_cache_all for the virtually indexed caches should be the
> same issue in theory (at least the kmap logic only needs to flush the
> caches before the unmapping [not before the mapping] too)
>
> Am I missing something, Dave?
>
> Anything that creates or takes away vmalloc() mappings needs to flush
> the data cache if it is virtuall indexed.

The only question I'd like to get a answer is "what is actually the
data that can be virtually indexed) in the vmalloc range at the time we
run vmalloc?" Where does it cames from?

If there is no such data (as I think), we obviously don't need to flush
the virtually indexed caches at vmalloc time (but just at vfree).

Furthmore I recall on sparc you cannot flush the cache if you don't have
a mapping in place, and when you run vmalloc there should be no mapping
in place for the region of cache that you're trying to flush (or we
wouldn't trap the invalid faults there).

If anybody is using at boot time the vmalloc range for whatever purpuse
it should be its own business to flush the cache before dropping the
mappings from there.

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