Re: [PATCH 00/10] Fix 8xx MMU/TLB
From: Joakim Tjernlund <hidden>
Date: 2009-11-16 22:55:25
Scott Wood [off-list ref] wrote on 16/11/2009 22:27:41:
On Mon, Nov 16, 2009 at 03:00:09PM -0600, Scott Wood wrote:quoted
On Sun, Nov 15, 2009 at 06:09:27PM +0100, Joakim Tjernlund wrote:quoted
[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.
umm, this worked before this series with your own version, right? Did I screw up with the "DTLB Miss cleanup"? Does the self modifying code version work any better?
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)
I remember Rex saw something similar?
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