From: Suzuki.Poulose@arm.com (Suzuki K. Poulose)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCHv3 02/11] arm64: Handle section maps for swapper/idmap
Date: Wed, 14 Oct 2015 14:21:24 +0100 [thread overview]
Message-ID: <561E56D4.40506@arm.com> (raw)
In-Reply-To: <20151014120618.GB2150@leverpostej>
On 14/10/15 13:06, Mark Rutland wrote:
> On Wed, Oct 14, 2015 at 12:20:25PM +0100, Suzuki K. Poulose wrote:
>> We use section maps with 4K page size to create the swapper/idmaps.
>> So far we have used !64K or 4K checks to handle the case where we
>> use the section maps.
>> This patch adds a new symbol, ARM64_SWAPPER_USES_SECTION_MAPS, to
>> handle cases where we use section maps, instead of using the page size
>> symbols.
>>
>> Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
>> Cc: Mark Rutland <mark.rutland@arm.com>
>> Cc: Catalin Marinas <catalin.marinas@arm.com>
>> Cc: Will Deacon <will.deacon@arm.com>
>> Signed-off-by: Suzuki K. Poulose <suzuki.poulose@arm.com>
>> ---
>> arch/arm64/include/asm/kernel-pgtable.h | 31 ++++++++-----
>> arch/arm64/mm/mmu.c | 72 ++++++++++++++-----------------
>> 2 files changed, 52 insertions(+), 51 deletions(-)
>>
>> diff --git a/arch/arm64/include/asm/kernel-pgtable.h b/arch/arm64/include/asm/kernel-pgtable.h
>> index 622929d..5876a36 100644
>> --- a/arch/arm64/include/asm/kernel-pgtable.h
>> +++ b/arch/arm64/include/asm/kernel-pgtable.h
>> @@ -19,6 +19,13 @@
>> #ifndef __ASM_KERNEL_PGTABLE_H
>> #define __ASM_KERNEL_PGTABLE_H
>>
>> +/* With 4K pages, we use section maps. */
>> +#ifdef CONFIG_ARM64_4K_PAGES
>> +#define ARM64_SWAPPER_USES_SECTION_MAPS 1
>> +#else
>> +#define ARM64_SWAPPER_USES_SECTION_MAPS 0
>> +#endif
>
> The comment is somewhat redunant. It would be better to state why we do
> this for 4K and not 64K (or 16K).
Something like :
/*
* ARM64 kernel is guaranteed to be loaded at 2M aligned
* address (as per booting requirements). Hence we can use
* section mapping with 4K (section size = 2M) and not with
* 16K(section size = 32M) or 64K (section size = 512M).
*/
>> + * us PUD_SIZE (with SECTION maps, i.e, 4K) or PMD_SIZE (without
>> + * SECTION maps, i.e, 64K pages) memory starting from PHYS_OFFSET
>> + * (which must be aligned to 2MB as per Documentation/arm64/booting.txt).
>
> This didn't seem to get updated for 16K later in the series, unless I
> missed something.
>
> Perhaps drop the mention of 4K / 64K entirely here?
You are right, I missed it. We can drop the pagesize info entirely.
>
>> @@ -551,7 +552,7 @@ int kern_addr_valid(unsigned long addr)
>> return pfn_valid(pte_pfn(*pte));
>> }
>> #ifdef CONFIG_SPARSEMEM_VMEMMAP
>> -#ifdef CONFIG_ARM64_64K_PAGES
>> +#if !ARM64_SWAPPER_USES_SECTION_MAPS
>
> This leaves the comments on the #else and #endif stale. Please update
> those too.
Done.
Thanks
Suzuki
WARNING: multiple messages have this Message-ID (diff)
From: "Suzuki K. Poulose" <Suzuki.Poulose@arm.com>
To: Mark Rutland <mark.rutland@arm.com>
Cc: linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org, catalin.marinas@arm.com,
will.deacon@arm.com, steve.capper@linaro.org,
marc.zyngier@arm.com, ard.biesheuvel@linaro.org,
christoffer.dall@linaro.org
Subject: Re: [PATCHv3 02/11] arm64: Handle section maps for swapper/idmap
Date: Wed, 14 Oct 2015 14:21:24 +0100 [thread overview]
Message-ID: <561E56D4.40506@arm.com> (raw)
In-Reply-To: <20151014120618.GB2150@leverpostej>
On 14/10/15 13:06, Mark Rutland wrote:
> On Wed, Oct 14, 2015 at 12:20:25PM +0100, Suzuki K. Poulose wrote:
>> We use section maps with 4K page size to create the swapper/idmaps.
>> So far we have used !64K or 4K checks to handle the case where we
>> use the section maps.
>> This patch adds a new symbol, ARM64_SWAPPER_USES_SECTION_MAPS, to
>> handle cases where we use section maps, instead of using the page size
>> symbols.
>>
>> Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
>> Cc: Mark Rutland <mark.rutland@arm.com>
>> Cc: Catalin Marinas <catalin.marinas@arm.com>
>> Cc: Will Deacon <will.deacon@arm.com>
>> Signed-off-by: Suzuki K. Poulose <suzuki.poulose@arm.com>
>> ---
>> arch/arm64/include/asm/kernel-pgtable.h | 31 ++++++++-----
>> arch/arm64/mm/mmu.c | 72 ++++++++++++++-----------------
>> 2 files changed, 52 insertions(+), 51 deletions(-)
>>
>> diff --git a/arch/arm64/include/asm/kernel-pgtable.h b/arch/arm64/include/asm/kernel-pgtable.h
>> index 622929d..5876a36 100644
>> --- a/arch/arm64/include/asm/kernel-pgtable.h
>> +++ b/arch/arm64/include/asm/kernel-pgtable.h
>> @@ -19,6 +19,13 @@
>> #ifndef __ASM_KERNEL_PGTABLE_H
>> #define __ASM_KERNEL_PGTABLE_H
>>
>> +/* With 4K pages, we use section maps. */
>> +#ifdef CONFIG_ARM64_4K_PAGES
>> +#define ARM64_SWAPPER_USES_SECTION_MAPS 1
>> +#else
>> +#define ARM64_SWAPPER_USES_SECTION_MAPS 0
>> +#endif
>
> The comment is somewhat redunant. It would be better to state why we do
> this for 4K and not 64K (or 16K).
Something like :
/*
* ARM64 kernel is guaranteed to be loaded at 2M aligned
* address (as per booting requirements). Hence we can use
* section mapping with 4K (section size = 2M) and not with
* 16K(section size = 32M) or 64K (section size = 512M).
*/
>> + * us PUD_SIZE (with SECTION maps, i.e, 4K) or PMD_SIZE (without
>> + * SECTION maps, i.e, 64K pages) memory starting from PHYS_OFFSET
>> + * (which must be aligned to 2MB as per Documentation/arm64/booting.txt).
>
> This didn't seem to get updated for 16K later in the series, unless I
> missed something.
>
> Perhaps drop the mention of 4K / 64K entirely here?
You are right, I missed it. We can drop the pagesize info entirely.
>
>> @@ -551,7 +552,7 @@ int kern_addr_valid(unsigned long addr)
>> return pfn_valid(pte_pfn(*pte));
>> }
>> #ifdef CONFIG_SPARSEMEM_VMEMMAP
>> -#ifdef CONFIG_ARM64_64K_PAGES
>> +#if !ARM64_SWAPPER_USES_SECTION_MAPS
>
> This leaves the comments on the #else and #endif stale. Please update
> those too.
Done.
Thanks
Suzuki
next prev parent reply other threads:[~2015-10-14 13:21 UTC|newest]
Thread overview: 110+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-10-14 11:20 [PATCHv3 00/11] arm64: 16K translation granule support Suzuki K. Poulose
2015-10-14 11:20 ` Suzuki K. Poulose
2015-10-14 11:20 ` [PATCHv3 01/11] arm64: Move swapper pagetable definitions Suzuki K. Poulose
2015-10-14 11:20 ` Suzuki K. Poulose
2015-10-14 11:42 ` Mark Rutland
2015-10-14 11:42 ` Mark Rutland
2015-10-14 12:41 ` Suzuki K. Poulose
2015-10-14 12:41 ` Suzuki K. Poulose
2015-10-14 11:20 ` [PATCHv3 02/11] arm64: Handle section maps for swapper/idmap Suzuki K. Poulose
2015-10-14 11:20 ` Suzuki K. Poulose
2015-10-14 12:06 ` Mark Rutland
2015-10-14 12:06 ` Mark Rutland
2015-10-14 13:21 ` Suzuki K. Poulose [this message]
2015-10-14 13:21 ` Suzuki K. Poulose
2015-10-14 14:51 ` Mark Rutland
2015-10-14 14:51 ` Mark Rutland
2015-10-14 15:08 ` Suzuki K. Poulose
2015-10-14 15:08 ` Suzuki K. Poulose
2015-10-14 15:14 ` Mark Rutland
2015-10-14 15:14 ` Mark Rutland
2015-10-14 11:20 ` [PATCHv3 03/11] arm64: Introduce helpers for page table levels Suzuki K. Poulose
2015-10-14 11:20 ` Suzuki K. Poulose
2015-10-14 17:07 ` Mark Rutland
2015-10-14 17:07 ` Mark Rutland
2015-10-15 9:35 ` Suzuki K. Poulose
2015-10-15 9:35 ` Suzuki K. Poulose
2015-10-15 10:37 ` Mark Rutland
2015-10-15 10:37 ` Mark Rutland
2015-10-15 11:40 ` Christoffer Dall
2015-10-15 11:40 ` Christoffer Dall
2015-10-15 11:37 ` Christoffer Dall
2015-10-15 11:37 ` Christoffer Dall
2015-10-15 12:44 ` Mark Rutland
2015-10-15 12:44 ` Mark Rutland
2015-10-15 13:14 ` Suzuki K. Poulose
2015-10-15 13:14 ` Suzuki K. Poulose
2015-10-15 13:30 ` Christoffer Dall
2015-10-15 13:30 ` Christoffer Dall
2015-10-15 13:48 ` Suzuki K. Poulose
2015-10-15 13:48 ` Suzuki K. Poulose
2015-10-15 14:15 ` Christoffer Dall
2015-10-15 14:15 ` Christoffer Dall
2015-10-14 11:20 ` [PATCHv3 04/11] arm64: Calculate size for idmap_pg_dir at compile time Suzuki K. Poulose
2015-10-14 11:20 ` Suzuki K. Poulose
2015-10-14 17:12 ` Mark Rutland
2015-10-14 17:12 ` Mark Rutland
2015-10-14 11:20 ` [PATCHv3 05/11] arm64: Handle 4 level page table for swapper Suzuki K. Poulose
2015-10-14 11:20 ` Suzuki K. Poulose
2015-10-14 17:15 ` Mark Rutland
2015-10-14 17:15 ` Mark Rutland
2015-10-14 11:20 ` [PATCHv3 06/11] arm64: Clean config usages for page size Suzuki K. Poulose
2015-10-14 11:20 ` Suzuki K. Poulose
2015-10-14 11:20 ` [PATCHv3 07/11] arm64: Kconfig: Fix help text about AArch32 support with 64K pages Suzuki K. Poulose
2015-10-14 11:20 ` Suzuki K. Poulose
2015-10-14 17:16 ` Mark Rutland
2015-10-14 17:16 ` Mark Rutland
2015-10-14 11:20 ` [PATCHv3 08/11] arm64: Check for selected granule support Suzuki K. Poulose
2015-10-14 11:20 ` Suzuki K. Poulose
2015-10-14 17:24 ` Mark Rutland
2015-10-14 17:24 ` Mark Rutland
2015-10-14 17:32 ` Mark Rutland
2015-10-14 17:32 ` Mark Rutland
2015-10-15 9:45 ` Suzuki K. Poulose
2015-10-15 9:45 ` Suzuki K. Poulose
2015-10-15 10:39 ` Mark Rutland
2015-10-15 10:39 ` Mark Rutland
2015-10-14 21:13 ` Jeremy Linton
2015-10-14 21:13 ` Jeremy Linton
2015-10-15 9:48 ` Suzuki K. Poulose
2015-10-15 9:48 ` Suzuki K. Poulose
2015-10-15 10:45 ` Mark Rutland
2015-10-15 10:45 ` Mark Rutland
2015-10-15 11:25 ` Suzuki K. Poulose
2015-10-15 11:25 ` Suzuki K. Poulose
2015-10-15 12:37 ` Mark Rutland
2015-10-15 12:37 ` Mark Rutland
2015-10-15 12:58 ` Suzuki K. Poulose
2015-10-15 12:58 ` Suzuki K. Poulose
2015-10-16 8:03 ` Ard Biesheuvel
2015-10-16 8:03 ` Ard Biesheuvel
2015-10-15 14:47 ` Jeremy Linton
2015-10-15 14:47 ` Jeremy Linton
2015-10-15 15:02 ` Suzuki K. Poulose
2015-10-15 15:02 ` Suzuki K. Poulose
2015-10-15 15:11 ` Mark Rutland
2015-10-15 15:11 ` Mark Rutland
2015-10-16 8:11 ` Ard Biesheuvel
2015-10-16 8:11 ` Ard Biesheuvel
2015-10-14 11:20 ` [PATCHv3 09/11] arm64: Add page size to the kernel image header Suzuki K. Poulose
2015-10-14 11:20 ` Suzuki K. Poulose
2015-10-14 17:27 ` Mark Rutland
2015-10-14 17:27 ` Mark Rutland
2015-10-15 9:19 ` Suzuki K. Poulose
2015-10-15 9:19 ` Suzuki K. Poulose
2015-10-14 11:20 ` [PATCHv3 10/11] arm64: Add 16K page size support Suzuki K. Poulose
2015-10-14 11:20 ` Suzuki K. Poulose
2015-10-14 15:40 ` Jeremy Linton
2015-10-14 15:40 ` Jeremy Linton
2015-10-14 15:53 ` Suzuki K. Poulose
2015-10-14 15:53 ` Suzuki K. Poulose
2015-10-15 14:06 ` Mark Rutland
2015-10-15 14:06 ` Mark Rutland
2015-10-15 14:48 ` Suzuki K. Poulose
2015-10-15 14:48 ` Suzuki K. Poulose
2015-10-15 15:36 ` Steve Capper
2015-10-15 15:36 ` Steve Capper
2015-10-15 15:48 ` Suzuki K. Poulose
2015-10-15 15:48 ` Suzuki K. Poulose
2015-10-14 11:20 ` [PATCHv3 11/11] arm64: 36 bit VA Suzuki K. Poulose
2015-10-14 11:20 ` Suzuki K. Poulose
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=561E56D4.40506@arm.com \
--to=suzuki.poulose@arm.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 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.