>>>>> "David" == David Miller <davem@xxxxxxxxxxxxx> writes: David> From: Christoph Lameter <clameter@xxxxxxx> Date: Tue, 25 Mar David> 2008 10:48:19 -0700 (PDT) >> On Mon, 24 Mar 2008, David Miller wrote: >> >> > There are ways to get large pages into the process address space >> for > compute bound tasks, without suffering the well known >> negative side > effects of using larger pages for everything. >> >> These hacks have limitations. F.e. they do not deal with I/O and >> require application changes. David> Transparent automatic hugepages are definitely doable, I don't David> know why you think this requires application changes. It's actually harder than it looks. Ian Wienand just finished his Master's project in this area, so we have *lots* of data. The main issue is that, at least on Itanium, you have to turn off the hardware page table walker for hugepages if you want to mix superpages and standard pages in the same region. (The long format VHPT isn't the panacea we'd like it to be because the hash function it uses depends on the page size). This means that although you have fewer TLB misses with larger pages, the cost of those TLB misses is three to four times higher than with the standard pages. In addition, to set up a large page takes more effort... and it turns out there are few applications where the cost is amortised enough, so on SpecCPU for example, some tests improved performance slightly, some got slightly worse. What we saw was essentially that we could almost eliminate DTLB misses, other than the first, for a huge page. For most applications, though, the extra cost of that first miss, plus the cost of setting up the huge page, was greater than the few hundred DTLB misses we avoided. I'm expecting Ian to publish the full results soon. Other architectures (where the page size isn't tied into the hash function, so the hardware walked can be used for superpages) will have different tradeoffs. -- Dr Peter Chubb http://www.gelato.unsw.edu.au peterc AT gelato.unsw.edu.au http://www.ertos.nicta.com.au ERTOS within National ICT Australia -- To unsubscribe from this list: send the line "unsubscribe linux-ia64" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html
![]() |