Subject: Re: [PATCH 00/10] Fix 8xx MMU/TLB

From: Scott Wood <[email-masked]>
Date: Mon, 16 Nov 2009 15:27:41 -0600

On Mon, Nov 16, 2009 at 03:00:09PM -0600, Scott Wood wrote:
> On Sun, Nov 15, 2009 at 06:09:27PM +0100, Joakim Tjernlund wrote:
> > [I used the wrong branch, this will hopefully not conflict]
> > 
> > This is hopfully the last iteration of the series.
> > Rex & Scott, please test and signoff.
> > Changes since last version:
> >  - Added mandatory pinning of iTLB
> >  - Added "DTLB Miss cleanup"
> 
> I still get the EFAULTs.

This snippet of strace is particularly interesting:

mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
0x30020000
read(0, 0x30020000, 1024)               = -1 EFAULT (Bad address)

Or this:

brk(0x10036000)                         = 0x10036000
fstat64(1, {st_mode=S_IFCHR|0660, st_rdev=makedev(5, 1), ...}) = 0
open("/etc/mtab", O_RDONLY|O_LARGEFILE) = 3
fstat64(3, {st_mode=S_IFREG|0444, st_size=0, ...}) = 0
read(3, 0x10016000, 4096)               = -1 EFAULT (Bad address)

It seems that the failures are related to reading from /proc (/etc/mtab is
linked to /proc/mounts), though some /proc reads work
(/proc/self/oom_score).  I also see the uname syscall failing in some apps
(but not in the uname app itself, oddly), especially /proc-related apps such
as ps and top, though they're not actually accessing /proc with this call:

uname(0xffef7d0)                        = -1 EFAULT (Bad address)

-Scott