mbox series

[v2,0/5] riscv: mm: init clean up #ifdefs

Message ID 20211206150353.731-1-jszhang@kernel.org (mailing list archive)
Headers show
Series riscv: mm: init clean up #ifdefs | expand

Message

Jisheng Zhang Dec. 6, 2021, 3:03 p.m. UTC
To support NOMMU, XIP, the arch/riscv/mm/init.c becomes much complex
due to lots of #ifdefs, this not only impacts the code readability,
compile coverage, but may also bring bugs. For example, I believe one
recently fixed bug[1] is caused by this issue when merging.

This series tries to clean up unnecessary #ifdefs as much as possible.

Further cleanups may need to refactor the XIP code as Alexandre's patch
does.

[1] http://lists.infradead.org/pipermail/linux-riscv/2021-December/010607.html


Since v1:
 - collect Reviewed-by tag.
 - remove the __maybe_unused used in max_mapped_addr declaration.
 - remove the BUG_ON check of mapping the last 4K bytes of the
   addressable memory since "this is true for every kernel actually"
   as pointed out by Alexandre.

Jisheng Zhang (5):
  riscv: mm: init: remove unnecessary "#ifdef CONFIG_CRASH_DUMP"
  riscv: mm: init: try best to use IS_ENABLED(CONFIG_64BIT) instead of
    #ifdef
  riscv: mm: init: remove _pt_ops and use pt_ops directly
  riscv: mm: init: try IS_ENABLED(CONFIG_XIP_KERNEL) instead of #ifdef
  riscv: mm: init: try best to remove #ifdef CONFIG_XIP_KERNEL usage

 arch/riscv/mm/init.c | 76 ++++++++++++++++----------------------------
 1 file changed, 27 insertions(+), 49 deletions(-)

Comments

Palmer Dabbelt Jan. 18, 2022, 7:15 p.m. UTC | #1
On Mon, 06 Dec 2021 07:03:48 PST (-0800), jszhang@kernel.org wrote:
> To support NOMMU, XIP, the arch/riscv/mm/init.c becomes much complex
> due to lots of #ifdefs, this not only impacts the code readability,
> compile coverage, but may also bring bugs. For example, I believe one
> recently fixed bug[1] is caused by this issue when merging.
>
> This series tries to clean up unnecessary #ifdefs as much as possible.
>
> Further cleanups may need to refactor the XIP code as Alexandre's patch
> does.
>
> [1] http://lists.infradead.org/pipermail/linux-riscv/2021-December/010607.html
>
>
> Since v1:
>  - collect Reviewed-by tag.
>  - remove the __maybe_unused used in max_mapped_addr declaration.
>  - remove the BUG_ON check of mapping the last 4K bytes of the
>    addressable memory since "this is true for every kernel actually"
>    as pointed out by Alexandre.
>
> Jisheng Zhang (5):
>   riscv: mm: init: remove unnecessary "#ifdef CONFIG_CRASH_DUMP"
>   riscv: mm: init: try best to use IS_ENABLED(CONFIG_64BIT) instead of
>     #ifdef
>   riscv: mm: init: remove _pt_ops and use pt_ops directly
>   riscv: mm: init: try IS_ENABLED(CONFIG_XIP_KERNEL) instead of #ifdef
>   riscv: mm: init: try best to remove #ifdef CONFIG_XIP_KERNEL usage
>
>  arch/riscv/mm/init.c | 76 ++++++++++++++++----------------------------
>  1 file changed, 27 insertions(+), 49 deletions(-)

Thanks, these look good.  I've put them on a staging branch that will 
soon be for-next, I'd like to start from after my recent PR's merge 
(assuming it's merged).