From: David Gibson <david@gibson.dropbear.id.au>
To: Dan Malek <dan@embeddededge.com>
Cc: linuxppc-embedded@lists.linuxppc.org,
Tom Rini <trini@kernel.crashing.org>,
Paul Mackerras <paulus@samba.org>
Subject: Re: Do we need tlbsx at finish_tlb_load?
Date: Tue, 4 Jun 2002 13:48:32 +1000 [thread overview]
Message-ID: <20020604034832.GE2762@zax> (raw)
In-Reply-To: <3CFC0794.7020907@embeddededge.com>
On Mon, Jun 03, 2002 at 08:19:32PM -0400, Dan Malek wrote:
>
> David Gibson wrote:
>
> >Ok, not seeing any replies here. If no-one speaks up for this tlbsx
> >in the next couple of days, I'll remove it from 2_4_devel.
>
> Some of us (fortunately) have a life outside of kernel hacking, so
> it takes time to reply.
>
> An instuction TLB miss will load the TLB with a PTE that indicates it isn't
> valid. A subsequent TLB instruction fault to load the page will cause a
> data tlb miss to copy the page, and when you fix up this entry to allow a
> write, you don't want to create an alias in the TLB.
I don't follow you. Either there is a TLB entry for the virtual
address or there isn't. If there isn't, we'll get an ITLB or DTLB
miss and the tlbsx will always fail. If there is, we'll get a DSI or
an ISI. ISI never loads a TLB entry anyway, and DSI does so using a
different code path from the TLB miss handlers which does (and needs
to) do a tlbsx. The tlbsx at finish_tlb_load is *only* called from
the TLB miss vectors, never from DSI or ISI.
> If you remove the tlbsx, you can see this happen when init starts and you
> dump the TLB after every type of TLB fault while it is starting.
Well I haven't removed it, but the large page patch also counts the
number of times this tlbsx gets a hit. I've never seen the number to
be non-zero.
--
David Gibson | For every complex problem there is a
david@gibson.dropbear.id.au | solution which is simple, neat and
| wrong. -- H.L. Mencken
http://www.ozlabs.org/people/dgibson
** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
next prev parent reply other threads:[~2002-06-04 3:48 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-05-30 8:04 Do we need tlbsx at finish_tlb_load? David Gibson
2002-06-03 2:43 ` David Gibson
2002-06-04 0:19 ` Dan Malek
2002-06-04 3:48 ` David Gibson [this message]
2002-06-04 12:52 ` Paul Mackerras
2002-06-04 17:49 ` Dan Malek
2002-06-06 2:04 ` Paul Mackerras
2002-06-06 5:06 ` Dan Malek
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=20020604034832.GE2762@zax \
--to=david@gibson.dropbear.id.au \
--cc=dan@embeddededge.com \
--cc=linuxppc-embedded@lists.linuxppc.org \
--cc=paulus@samba.org \
--cc=trini@kernel.crashing.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.