Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1459492

Re: [PATCH 0/3] arm64: put objects into proper sections

From Kees Cook <keescook@chromium.org>
Newsgroups linux.kernel
Subject Re: [PATCH 0/3] arm64: put objects into proper sections
Date 2016-08-10 20:50 +0200
Message-ID <s4GJH-j6-5@gated-at.bofh.it> (permalink)
References <s4GgH-79-75@gated-at.bofh.it> <s4GJH-j6-7@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


On Wed, Aug 10, 2016 at 3:05 AM, Jisheng Zhang <jszhang@marvell.com> wrote:
> + Kees,
>
> On Wed, 10 Aug 2016 15:19:16 +0800 Jisheng Zhang wrote:
>
>> This series tries to put objects into proper sections to avoid
>> pontential unnecessary DDR traffics:
>>
>> patch1 puts alloc_vectors_page() into .init section. This is a clean up
>> patch.
>>
>> patch2 puts vdso_pages, vdso_spec and vectors_page into read_mostly
>> section, since they are read mostly in hot path.
>>
>> patch3 puts cpu_ops into read_mostly section, since it's read mostly
>> int hot path such as arm_cpuidle_suspend().
>
> Is it better to mark them as __ro_after_init, suggestions are appreciated.

If something is actually never updated after __init, yes, please use
__ro_after_init.

-Kees

>
> Thanks,
> Jisheng
>
>>
>>
>> Before this series:
>>
>> ffff000008d660f0 b undef_lock
>> ffff000008d660f8 b vectors_page
>> ffff000008d66100 b vdso_pages
>> ffff000008d66108 b vdso_spec
>> ffff000008d66148 B cpu_ops
>> ffff000008d66348 b patch_lock
>>
>> After this series:
>>
>> ffff000008ca5b08 D static_key_initialized
>> ffff000008ca5b10 d vectors_page
>> ffff000008ca5b18 d vdso_pages
>> ffff000008ca5b20 d vdso_spec
>> ffff000008ca5b60 D cpu_ops
>> ffff000008ca5d60 D elf_hwcap
>> ffff000008ca5d68 D compat_elf_hwcap
>> ffff000008ca5d6c D compat_elf_hwcap2
>>
>> Although there's no obvious issue with current code, because undef_lock and
>> patch_lock is rarely used, but the situation may change in the future, so
>> let's move them into proper sections now.
>>
>> Jisheng Zhang (3):
>>   arm64: vdso: add __init section marker to alloc_vectors_page
>>   arm64: vdso: put read only/mostly objects into proper sections
>>   arm64: kernel: declare cpu_ops __read_mostly
>>
>>  arch/arm64/kernel/cpu_ops.c |  2 +-
>>  arch/arm64/kernel/vdso.c    | 31 +++++++++++++++----------------
>>  2 files changed, 16 insertions(+), 17 deletions(-)
>>
>



-- 
Kees Cook
Nexus Security

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH 0/3] arm64: put objects into proper sections Jisheng Zhang <jszhang@marvell.com> - 2016-08-10 20:20 +0200
  [PATCH 3/3] arm64: kernel: declare cpu_ops __read_mostly Jisheng Zhang <jszhang@marvell.com> - 2016-08-10 20:30 +0200
  Re: [PATCH 0/3] arm64: put objects into proper sections Kees Cook <keescook@chromium.org> - 2016-08-10 20:50 +0200
  Re: [PATCH 0/3] arm64: put objects into proper sections Jisheng Zhang <jszhang@marvell.com> - 2016-08-10 22:30 +0200
  [PATCH 1/3] arm64: vdso: add __init section marker to alloc_vectors_page Jisheng Zhang <jszhang@marvell.com> - 2016-08-10 22:30 +0200
  [PATCH 2/3] arm64: vdso: put read only/mostly objects into proper sections Jisheng Zhang <jszhang@marvell.com> - 2016-08-10 22:40 +0200

csiph-web