From: Geoff Levand <geoffrey.levand@am.sony.com>
To: benh@kernel.crashing.org
Cc: Geert Uytterhoeven <Geert.Uytterhoeven@sonycom.com>,
Linux/PPC Development <linuxppc-dev@ozlabs.org>
Subject: Re: PS3 early lock-up
Date: Tue, 5 Aug 2008 16:24:02 -0700 [thread overview]
Message-ID: <4898E112.8020903@am.sony.com> (raw)
In-Reply-To: <1217932117.24157.185.camel@pasglop>
Benjamin Herrenschmidt wrote:
>> arch/powerpc/platfroms/ps3/htab.c:ps3_hpte_updatepp() uses `htab[slot]=
.v'.
>=20
> Ok, that leaves us with 2 options:
>=20
> - Change ps3_hpte_updatepp() to not read from the hash table via that
> mapping (ie, do you have an LV1 call to read an HPTE ? Do you measure
> any significant performance loss using that instead ? updatepp shouldn'=
t
> be something called -that- often).
Yes, we have lv1_read_htab_entries(). Mokuno-san started some work to
convert to using it and removing the htab mapping:
http://git.kernel.org/?p=3Dlinux/kernel/git/geoff/ps3-linux-patches.git=
;a=3Dblob;f=3Dps3-wip/ps3-htab-rework.diff;hb=3DHEAD
Unfortunately, this week Mokuno-san is on holiday, and I am busy preparin=
g
for SIGGRAPH (next week).
> - Add a way to setup HPTEs using 3 PPP bits. I'm not going to implemen=
t
> that for the main hash code just yet though (the assembly) but it might
> be possible to implement it specifically for mappings bolted. That
> means it would only work when the mapping is done early but on PS3, we
> know that the hash table is always mapped early.
>=20
> The later would be a matter of taking my =EF=BB=BFhtab_convert_pte_flag=
s() function
> and making it capable, when _PAGE_USER is _not_ set and _PAGE_RW is not
> set neither, to set PPP to 110.
>=20
> You could do that by adding:
>=20
> if (!(pteflags & (_PAGE_USER | _PAGE_RW)))
> rflags |=3D (1 << 1) | (1 << 63);
>=20
> Dbl check that the resulting mapping isn't accessible to user space tho=
ugh.
If we can't remove the htab mapping with lv1_read_htab_entries(), I'll
look into this way.
-Geoff
prev parent reply other threads:[~2008-08-05 23:24 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-08-04 15:48 PS3 early lock-up Geert Uytterhoeven
2008-08-04 21:44 ` Benjamin Herrenschmidt
2008-08-04 21:52 ` Benjamin Herrenschmidt
2008-08-05 0:31 ` Geoff Levand
2008-08-05 1:40 ` Benjamin Herrenschmidt
2008-08-05 9:43 ` Geert Uytterhoeven
2008-08-05 10:28 ` Benjamin Herrenschmidt
2008-08-05 11:31 ` Benjamin Herrenschmidt
2008-08-05 23:24 ` Geoff Levand [this message]
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=4898E112.8020903@am.sony.com \
--to=geoffrey.levand@am.sony.com \
--cc=Geert.Uytterhoeven@sonycom.com \
--cc=benh@kernel.crashing.org \
--cc=linuxppc-dev@ozlabs.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.