From: Ed L Cashin <ecashin@uga.edu>
To: sparclinux@vger.kernel.org
Subject: Re: TLB miss handler code
Date: Wed, 21 Jan 2004 17:21:06 +0000 [thread overview]
Message-ID: <87brox1am5.fsf@uga.edu> (raw)
In-Reply-To: <Pine.GSO.4.43.0401191315430.13707-100000@gatekeeper.ececs.uc.edu>
"David S. Miller" <davem@redhat.com> writes:
> So, in nearly 3 days of this thread nobody has discovered
> the arch/sparc64/kernel/{itlb,dtlb}_*.S files yet.
>
> I find this particularly amusing :-)
It is funny, but I bet there are lurkers who know and aren't speaking
up.
Examining those files (although my sparc asm isn't good) it looks like
not all TLB misses go through do_sparc64_fault, which I suppose is
your point. In fact, it looks like do_sparc64_fault gets invoked only
when the instruction causing the TLB miss is also causing a page
fault. I had mistakenly assumed that (fault_code & FAULT_CODE_?TLB)
inside of do_sparc64_fault meant it was just a TLB miss.
Rather, if it's just a TLB miss, the fast handler itself takes care of
filling the TLB. (I'm unfamiliar with the "retry" instruction, but
the comment says "Trap return".)
I really do not understand how it is getting the pte so fast. It
looks like it doesn't do any locking but just performs a couple quick
calculations to get the address of the pte.
Incidentally, why are those fast TLB-miss handlers in
arch/sparc64/kernel and not arch/sparc64/mm?
--
--Ed L Cashin | PGP public key:
ecashin@uga.edu | http://noserose.net/e/pgp/
next prev parent reply other threads:[~2004-01-21 17:21 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-01-19 18:23 TLB miss handler code Nawab Ali
2004-01-19 21:27 ` Ed L Cashin
2004-01-20 23:46 ` Ben Collins
2004-01-21 0:33 ` Nawab Ali
2004-01-21 16:41 ` David S. Miller
2004-01-21 16:43 ` Ed L Cashin
2004-01-21 17:21 ` Ed L Cashin [this message]
2004-01-21 21:34 ` David S. Miller
2004-01-21 22:11 ` Ed L Cashin
2004-01-21 23:14 ` Nawab Ali
2004-01-22 1:52 ` David S. Miller
2004-01-22 2:15 ` Ed L Cashin
2004-01-22 2:16 ` David S. Miller
2004-01-22 5:01 ` Ed L Cashin
2004-01-22 5:24 ` Ed L Cashin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87brox1am5.fsf@uga.edu \
--to=ecashin@uga.edu \
--cc=sparclinux@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.