2021-03-30 13:59:01

by zhouchuangao

[permalink] [raw]
Subject: [PATCH] riscv/mm: Use BUG_ON instead of if condition followed by BUG.

BUG_ON() uses unlikely in if(), which can be optimized at compile time.

Signed-off-by: zhouchuangao <[email protected]>
---
arch/riscv/mm/init.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/riscv/mm/init.c b/arch/riscv/mm/init.c
index 067583a..a7fa5e2 100644
--- a/arch/riscv/mm/init.c
+++ b/arch/riscv/mm/init.c
@@ -213,8 +213,8 @@ static phys_addr_t alloc_pte_late(uintptr_t va)
unsigned long vaddr;

vaddr = __get_free_page(GFP_KERNEL);
- if (!vaddr || !pgtable_pte_page_ctor(virt_to_page(vaddr)))
- BUG();
+ BUG_ON(!vaddr || !pgtable_pte_page_ctor(virt_to_page(vaddr)));
+
return __pa(vaddr);
}

--
2.7.4


2021-04-23 01:54:42

by Palmer Dabbelt

[permalink] [raw]
Subject: Re: [PATCH] riscv/mm: Use BUG_ON instead of if condition followed by BUG.

On Tue, 30 Mar 2021 06:56:26 PDT (-0700), [email protected] wrote:
> BUG_ON() uses unlikely in if(), which can be optimized at compile time.
>
> Signed-off-by: zhouchuangao <[email protected]>
> ---
> arch/riscv/mm/init.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/arch/riscv/mm/init.c b/arch/riscv/mm/init.c
> index 067583a..a7fa5e2 100644
> --- a/arch/riscv/mm/init.c
> +++ b/arch/riscv/mm/init.c
> @@ -213,8 +213,8 @@ static phys_addr_t alloc_pte_late(uintptr_t va)
> unsigned long vaddr;
>
> vaddr = __get_free_page(GFP_KERNEL);
> - if (!vaddr || !pgtable_pte_page_ctor(virt_to_page(vaddr)))
> - BUG();
> + BUG_ON(!vaddr || !pgtable_pte_page_ctor(virt_to_page(vaddr)));
> +
> return __pa(vaddr);
> }

Thanks, this is on for-next.