PATCH: enable use of memory beyond kseg0
M. Warner Losh
imp at bsdimp.com
Fri Mar 19 19:48:19 UTC 2010
In message: <dffe84831003191148g7915a5cn268c1324b18177b5 at mail.gmail.com>
Neel Natu <neelnatu at gmail.com> writes:
: Hi JC,
: On Fri, Mar 19, 2010 at 5:18 AM, C. Jayachandran
: <c.jayachandran at gmail.com> wrote:
: > On Tue, Mar 16, 2010 at 7:05 AM, Neel Natu <neelnatu at gmail.com> wrote:
: >> This patch enables use of physical memory that is beyond the direct
: >> mapped kseg0 region.
: >> The basic idea is to use KVA from the kseg2 region for mapping page
: >> table pages that lie beyond the direct mapped region.
: >> The TLB miss handler can now recursively fault into the TLB invalid
: >> handler if it dereferences a kseg2 page table page address that is not
: >> in the TLB. The TLB invalid handler had to be extensively modified but
: >> in the end came out much cleaner.
: >> I have tested this on a uni and multi-processor Sibyte with 1GB of
: >> memory. It would be useful if this patch had some independent testing
: >> as well.
: >> Please review.
: >> http://people.freebsd.org/~neel/mips_beyond_kseg.diff
: > This fixes the crash I was seeing during 'make -j16 buildworld' on
: > XLR. The buildworld completed after running about 6 hours over NFS
: > mounted src and obj dir, so the patch looks good. I haven't done any
: > performance comparisons yet.
: Thanks a lot for taking the time and effort to test this - much appreciated.
I think you can go ahead and commit it. My eyeball review makes me
think it will work. I've not had a chance to try them out on my
Octeon board, but don't let my lack of time hold this up now that we
know it helps XLR.
More information about the freebsd-mips