Skip to contentSkip to conversation

BTLBs usable as HUGHTLBs ?

parisc-linux Helge Deller 2 participants 2 messages Oct 31, 2004

lore
Share & tools
lore
#0 lore raw

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

#1 lore raw
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/cpuinfo on 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