Messages in this thread |  | | Date | Fri, 21 Sep 2001 00:25:47 +0200 | From | Andrea Arcangeli <> | Subject | Re: flush_tlb_all in vmalloc_area_pages |
| |
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/
|  |