From: bill4carson@gmail.com (bill4carson)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH] Skip unnecessary pte makeup when clearing it.
Date: Mon, 30 Jan 2012 16:29:47 +0800 [thread overview]
Message-ID: <4F2654FB.60403@gmail.com> (raw)
In-Reply-To: <20120130075806.GJ6305@pengutronix.de>
On 2012?01?30? 15:58, Uwe Kleine-K?nig wrote:
> On Mon, Jan 30, 2012 at 09:47:51AM +0800, bill4carson at gmail.com wrote:
>> From: Bill Carson<bill4carson@gmail.com>
>>
>> If we are only about to clear a hardware pte entry, then pte makeup code is
>> unnecessary for cpu_v7_set_pte_ext and armv6_set_pte_ext, so just skip it.
>>
>> Signed-off-by: Bill Carson<bill4carson@gmail.com>
>> ---
>> arch/arm/mm/proc-macros.S | 10 +++++-----
>> arch/arm/mm/proc-v7-2level.S | 10 +++++-----
>> 2 files changed, 10 insertions(+), 10 deletions(-)
>>
>> diff --git a/arch/arm/mm/proc-macros.S b/arch/arm/mm/proc-macros.S
>> index 2d8ff3a..907b524 100644
>> --- a/arch/arm/mm/proc-macros.S
>> +++ b/arch/arm/mm/proc-macros.S
>> @@ -138,6 +138,10 @@
>> .macro armv6_set_pte_ext pfx
>> str r1, [r0], #2048 @ linux version
>>
>> + tst r1, #L_PTE_YOUNG
>> + tstne r1, #L_PTE_PRESENT
>> + moveq r3, #0
>> + beq 1f
>> bic r3, r1, #0x000003fc
>> bic r3, r3, #PTE_TYPE_MASK
>> orr r3, r3, r2
>> @@ -163,11 +167,7 @@
>> orrne r3, r3, #PTE_EXT_XN
>>
>> orr r3, r3, r2
>> -
>> - tst r1, #L_PTE_YOUNG
>> - tstne r1, #L_PTE_PRESENT
>> - moveq r3, #0
>> -
>> +1:
>> str r3, [r0]
>> mcr p15, 0, r0, c7, c10, 1 @ flush_pte
>> .endm
>> diff --git a/arch/arm/mm/proc-v7-2level.S b/arch/arm/mm/proc-v7-2level.S
>> index 3a4b3e7..869bebc 100644
>> --- a/arch/arm/mm/proc-v7-2level.S
>> +++ b/arch/arm/mm/proc-v7-2level.S
>> @@ -76,6 +76,10 @@ ENTRY(cpu_v7_set_pte_ext)
>> #ifdef CONFIG_MMU
>> str r1, [r0] @ linux version
>>
>> + tst r1, #L_PTE_YOUNG
>> + tstne r1, #L_PTE_PRESENT
>> + moveq r3, #0
>> + beq 1f
> This double tab looks wrong. Other than that I think the patch is OK.
> Note I don't have a clue about ptes but your changes are a logical nop.
>
Thanks for your feedback :)
I will fix that double tab soon, as for "your changes are a logical nop"
it does not change any code substantially, changing the sequence does
not help when setup an page mapping, but it take a short path when clearing
an existing pte, thus gives better performance.
> Best regards
> Uwe
>
>> bic r3, r1, #0x000003f0
>> bic r3, r3, #PTE_TYPE_MASK
>> orr r3, r3, r2
>> @@ -98,11 +102,7 @@ ENTRY(cpu_v7_set_pte_ext)
>>
>> tst r1, #L_PTE_XN
>> orrne r3, r3, #PTE_EXT_XN
>> -
>> - tst r1, #L_PTE_YOUNG
>> - tstne r1, #L_PTE_PRESENT
>> - moveq r3, #0
>> -
>> +1:
>> ARM( str r3, [r0, #2048]! )
>> THUMB( add r0, r0, #2048 )
>> THUMB( str r3, [r0] )
--
I am a slow learner
but I will keep trying to fight for my dreams!
--bill
next prev parent reply other threads:[~2012-01-30 8:29 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-01-30 1:47 [PATCH V2] Skip unnecessary pte makeup when clearing it bill4carson at gmail.com
2012-01-30 1:47 ` [PATCH] " bill4carson at gmail.com
2012-01-30 7:58 ` Uwe Kleine-König
2012-01-30 8:29 ` bill4carson [this message]
-- strict thread matches above, loose matches on Subject: below --
2012-01-30 8:36 [PATCH V3] " bill4carson at gmail.com
2012-01-30 8:36 ` [PATCH] " bill4carson at gmail.com
2012-02-03 6:54 ` Uwe Kleine-König
2012-02-03 7:43 ` bill4carson
2012-02-03 7:48 ` bill4carson
2012-02-03 9:35 ` Uwe Kleine-König
2012-02-03 10:09 ` bill4carson
2012-02-03 11:27 ` Catalin Marinas
2012-01-18 9:52 bill4carson at gmail.com
2012-01-18 10:20 ` Uwe Kleine-König
2012-01-19 1:52 ` bill4carson
2012-01-18 10:33 ` Catalin Marinas
2012-01-19 1:57 ` bill4carson
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=4F2654FB.60403@gmail.com \
--to=bill4carson@gmail.com \
--cc=linux-arm-kernel@lists.infradead.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).