Eric Lowe wrote:
Holger Berger wrote:
I wasn't directly involved in the 64K prototype but only 64K and larger
were used for user applications, and the page_t was 64K in span
(PAGESIZE=65536). There may have been some 8K mappings in the kernel due to OBP handing off translation lists with holes -- I don't remember the
details there.

OK I asked for you -- OBP does everything with 8K pages, so we run into trouble when trying to remap OBP's translations into the kernel (which includes a good portion of the kernel itself). As a result, with a 64K pagesize kernel you still end up with a bunch of 8K translations in the kernel.

Since these hunks of memory don't have page_t's -- they exist long before the kernel initializes the virtual memory system -- it's mainly a problem for US-III+/IV/IV+ processors since we have to keep one of the big TLBs programmed for 8K in nucleus (kernel) context. That leads to greater TLB pressure on the 64K kernel pages and in a loss of associativity which generates more conflict misses on the 8K translations.

The SPARC boot rewrite (to use GRUB to boot the kernel instead of relying on the 1275 interfaces for early system services) should help alleviate this problem, but it's still a ways off.

- Eric
_______________________________________________
opensolaris-discuss mailing list
opensolaris-discuss@opensolaris.org

Reply via email to