BTLBs usable as HUGHTLBs ?
Maybe a stupid question from someone not knowledgeable of memory-stuff on Linux...
Since HPPA offers Block-TLBs (BTLBs), couldn't those be used comparable/wrapped as so-called HUGHTLBs (CONFIG_HUGETLBFS) as available on i386/ia64 ?
from /proc/cpuinfo on my 715/64:
BTLB fixed : max. 16384 pages, pagesize=4096 (64MB)
BTLB fix-entr. : 0 instruction, 0 data (8 combined) <--- 8
BTLB var-entr. : 0 instruction, 0 data (0 combined)
Helge
_______________________________________________
parisc-linux mailing list
[email protected]
http://lists.parisc-linux.org/mailman/listinfo/parisc-linux
Quoted 3 lines · Helge Deller
Since HPPA offers Block-TLBs (BTLBs), couldn't those be used comparable/wrapped as so-called HUGHTLBs (
CONFIG_HUGETLBFS) as available on i386/ia64 ?
I think so. But here is one caveat.
IIRC, PDC calls are required to program the BTLB entries. If that's correct, then they will be SLOW. On A500, each PCI Cfg write took 20ms when using PAT PDC vs 4us when using direct access. YMMV depending on platform and how PDC is stored/loaded on that platform. My advice is to measure some simple PDC call by reading cr16 before/after the call. Then do the math to see if it's worth it.
AFAIK, BTLB was only intended for things like GFX buffers, kernel data/text, and similarly long lived mappings. Is HugeTLBFS generally used that way?
Quoted 3 lines
from
/proc/cpuinfoon my 715/64:
BTLB fixed : max. 16384 pages, pagesize=4096 (64MB)
BTLB fix-entr. : 0 instruction, 0 data (8 combined) <--- 8
8*64MB == 512MB
That's not as bad as I thought for a PA1.1 machine. IIRC, first generation BTLB only has 2 entries.
hth,
grant