Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1475855 > unrolled thread
| Started by | Stefan Agner <stefan@agner.ch> |
|---|---|
| First post | 2016-09-04 07:50 +0200 |
| Last post | 2016-09-05 18:30 +0200 |
| Articles | 4 — 2 participants |
Back to article view | Back to linux.kernel
[PATCH] ARM: LPAE: initialize cachepolicy correctly Stefan Agner <stefan@agner.ch> - 2016-09-04 07:50 +0200
Re: [PATCH] ARM: LPAE: initialize cachepolicy correctly Russell King - ARM Linux <linux@armlinux.org.uk> - 2016-09-05 00:10 +0200
Re: [PATCH] ARM: LPAE: initialize cachepolicy correctly Stefan Agner <stefan@agner.ch> - 2016-09-05 01:40 +0200
Re: [PATCH] ARM: LPAE: initialize cachepolicy correctly Russell King - ARM Linux <linux@armlinux.org.uk> - 2016-09-05 18:30 +0200
| From | Stefan Agner <stefan@agner.ch> |
|---|---|
| Date | 2016-09-04 07:50 +0200 |
| Subject | [PATCH] ARM: LPAE: initialize cachepolicy correctly |
| Message-ID | <sdytz-6Td-5@gated-at.bofh.it> |
The cachepolicy variable gets initialized using a masked pmd
So far, the pmd has been masked with flags valid for the 2-page
table format. In the LPAE case, this lead to a wrong assumption
of what the initial cachepolicy has been used. Later a check
forces the cache policy to writealloc and prints the following
warning:
Forcing write-allocate cache policy for SMP
This patch uses PMD_SECT_WBWA to mask all cache setting flags.
The define represents the complete mask of the cache relevant
flags for both page table formats.
Signed-off-by: Stefan Agner <stefan@agner.ch>
---
arch/arm/mm/mmu.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/arm/mm/mmu.c b/arch/arm/mm/mmu.c
index 724d6be..241e5e2 100644
--- a/arch/arm/mm/mmu.c
+++ b/arch/arm/mm/mmu.c
@@ -137,7 +137,7 @@ void __init init_default_cache_policy(unsigned long pmd)
initial_pmd_value = pmd;
- pmd &= PMD_SECT_TEX(1) | PMD_SECT_BUFFERABLE | PMD_SECT_CACHEABLE;
+ pmd &= PMD_SECT_WBWA;
for (i = 0; i < ARRAY_SIZE(cache_policies); i++)
if (cache_policies[i].pmd == pmd) {
--
2.9.0
[toc] | [next] | [standalone]
| From | Russell King - ARM Linux <linux@armlinux.org.uk> |
|---|---|
| Date | 2016-09-05 00:10 +0200 |
| Message-ID | <sdNLX-3jM-11@gated-at.bofh.it> |
| In reply to | #1475855 |
On Sat, Sep 03, 2016 at 10:33:31PM -0700, Stefan Agner wrote: > The cachepolicy variable gets initialized using a masked pmd > So far, the pmd has been masked with flags valid for the 2-page > table format. In the LPAE case, this lead to a wrong assumption > of what the initial cachepolicy has been used. Later a check > forces the cache policy to writealloc and prints the following > warning: > Forcing write-allocate cache policy for SMP > > This patch uses PMD_SECT_WBWA to mask all cache setting flags. > The define represents the complete mask of the cache relevant > flags for both page table formats. PMD_SECT_WBWA is just one possible combination, it's not a bit-mask. We need a new definition. -- RMK's Patch system: http://www.armlinux.org.uk/developer/patches/ FTTC broadband for 0.8mile line: currently at 9.6Mbps down 400kbps up according to speedtest.net.
[toc] | [prev] | [next] | [standalone]
| From | Stefan Agner <stefan@agner.ch> |
|---|---|
| Date | 2016-09-05 01:40 +0200 |
| Message-ID | <sdPb4-44d-7@gated-at.bofh.it> |
| In reply to | #1476046 |
On 2016-09-04 15:09, Russell King - ARM Linux wrote: > On Sat, Sep 03, 2016 at 10:33:31PM -0700, Stefan Agner wrote: >> The cachepolicy variable gets initialized using a masked pmd >> So far, the pmd has been masked with flags valid for the 2-page >> table format. In the LPAE case, this lead to a wrong assumption >> of what the initial cachepolicy has been used. Later a check >> forces the cache policy to writealloc and prints the following >> warning: >> Forcing write-allocate cache policy for SMP >> >> This patch uses PMD_SECT_WBWA to mask all cache setting flags. >> The define represents the complete mask of the cache relevant >> flags for both page table formats. > > PMD_SECT_WBWA is just one possible combination, it's not a bit-mask. > We need a new definition. Agreed, it just happens to be the same as the bit-mask in both page-table layouts. Does PMD_SECT_CACHE_MASK sounds like a reasonable identifier for it? -- Stefan
[toc] | [prev] | [next] | [standalone]
| From | Russell King - ARM Linux <linux@armlinux.org.uk> |
|---|---|
| Date | 2016-09-05 18:30 +0200 |
| Message-ID | <se4Wu-68Q-15@gated-at.bofh.it> |
| In reply to | #1476054 |
On Sun, Sep 04, 2016 at 04:31:40PM -0700, Stefan Agner wrote: > On 2016-09-04 15:09, Russell King - ARM Linux wrote: > > On Sat, Sep 03, 2016 at 10:33:31PM -0700, Stefan Agner wrote: > >> The cachepolicy variable gets initialized using a masked pmd > >> So far, the pmd has been masked with flags valid for the 2-page > >> table format. In the LPAE case, this lead to a wrong assumption > >> of what the initial cachepolicy has been used. Later a check > >> forces the cache policy to writealloc and prints the following > >> warning: > >> Forcing write-allocate cache policy for SMP > >> > >> This patch uses PMD_SECT_WBWA to mask all cache setting flags. > >> The define represents the complete mask of the cache relevant > >> flags for both page table formats. > > > > PMD_SECT_WBWA is just one possible combination, it's not a bit-mask. > > We need a new definition. > > Agreed, it just happens to be the same as the bit-mask in both > page-table layouts. > > Does PMD_SECT_CACHE_MASK sounds like a reasonable identifier for it? Yep, thanks. -- RMK's Patch system: http://www.armlinux.org.uk/developer/patches/ FTTC broadband for 0.8mile line: currently at 9.6Mbps down 400kbps up according to speedtest.net.
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web