Messages in this thread | | | Subject | Re: large page patch (fwd) (fwd) | From | Andi Kleen <> | Date | 04 Aug 2002 22:20:16 +0200 |
| |
Andrew Morton <akpm@zip.com.au> writes:
> If we instead clear out 4 or 8 pages, we trash a ton of cache and > the chances of userspace _using_ pages 1-7 in the short-term are > lower. We could clear the pages with 7,6,5,4,3,2,1,0 ordering, > but the cache implications of faultahead are still there.
What you could do on modern x86 and probably most other architectures as well is to clear the faulted page in cache and clear the other pages with a non temporal write. The non temporal write will go straight to main memory and not pollute any caches.
When the process accesses it later it has to fetch the zeroes from main memory. This is probably still faster than a page fault at least for the first few accesses. It could be more costly when walking the full page (then the added up cache miss costs could exceed the page fault cost), but then hopefully the CPU will help by doing hardware prefetch.
It could help or not help, may be worth a try at least :-)
-Andi
- 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/
| |