From: Alexei Starovoitov <alexei.starovoi...@gmail.com>
Date: Mon, 9 Oct 2017 16:06:20 -0700

>> For these archs, wouldn't it then be more efficient to use BUG_ON
>> rather than BUG()?
> 
> why more efficient? any data to prove that?

It can completely eliminate a branch.

For example on powerpc if you use BUG() then the code generated is:

        test condition
        branch_not_true 1f
        unconditional_trap
1:

Whereas with BUG_ON() it's just:

        test condition
        trap_if_true

Which is a lot better even when the branches in the first case are
well predicted.

Reply via email to