linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
* 16kb pages on MPC850
@ 2000-01-14  3:18 Christer Weinigel
  2000-01-14 16:38 ` Dan Malek
  0 siblings, 1 reply; 2+ messages in thread
From: Christer Weinigel @ 2000-01-14  3:18 UTC (permalink / raw)
  To: linuxppc-embedded

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 2026 bytes --]


Hi,

I'm having a bit of a performance problem with Linux on a MPC850 based
system, and among other things I have found out that TLB misses
account for a large part of this.  I've done a rather ugly hack that
hardcodes the kernel to be mapped with a couple of 8 MB pages and this
doubled the performance of some parts of the lmbench suite. 

Right now I'm trying to move to 16 kByte pages to reduce the TLB
pressure.  I've implemented a software TLB handler (without using the
hardware assist) and have gotten so far that the system is able to
boot and mount its root filesystem over NFS.

Unfortunately, things are somewhat broken after this, the tty settings
are strange and trying to run a large application such as bash crashes
the system.  

Has anybody else been trying to do this?  Or do you know of any
pitfalls I should look out for when trying to use 16 kB pages? 

I've modified the following header files, and have changed a lot in
head.s, but is there anything else I should do or something below that
you thing I shouldn't do?

Or does anybody have better ideas on how to improve the performance of
Linux on a MPC850?  One idea I have is to try to map a shared libc
continuously in physical memory and then try to merge a lot of 4 kB
pages into one large 512 kB page so that most library calls will only
require one TLB entry.

Regards,
  Christer

include/asm-ppc/elf.h:

#define ELF_EXEC_PAGESIZE       16384

include/asm-ppc/param.h:

#define EXEC_PAGESIZE 16384

include/asm-ppc/page.h:

#define PAGE_SHIFT     14      /* 16 k pages */

include/asm-ppc/pgtable.h:

#define PMD_SHIFT   26
#define PGDIR_SHIFT 22
#define PTRS_PER_PTE        4096
#define PTRS_PER_PMD        1
#define PTRS_PER_PGD        64

-- 
Christer Weinigel		Cendio Systems AB
Email:	wingel@cendio.se	Teknikringen 8
Phone:	+46-13-21 46 00		583 30  Linköping
Fax:	+46-13-21 47 00		Sweden
[please note that Signum Support has changed its name to Cendio Systems]

** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2000-01-14 16:38 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2000-01-14  3:18 16kb pages on MPC850 Christer Weinigel
2000-01-14 16:38 ` Dan Malek

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).