+++ zhouchuangao [30/03/21 05:07 -0700]:First,
It can be optimized at compile time.
Signed-off-by: zhouchuangao <zhouchuangao@xxxxxxxx>
Hi,
Could you please provide a more descriptive changelog? I.e., Is this
a fix for a cocinelle warning? What are the optimization(s)?
Thanks,
This patch comes from cocinelle warning.
Second,
#define BUG_ON(condition) do { if (unlikely(condition)) BUG(); } while (0)
BUG_ON uses unlikely in if(). Through disassembly, we can see that
brk #0x800 is compiled to the end of the function.
As you can see below:
......
ffffff8008660bec: d65f03c0 ret
ffffff8008660bf0: d4210000 brk #0x800
Usually, the condition in if () is not satisfied. For the multi-stage pipeline,
we do not need to perform fetch decode and excute operation on brk
instruction.
In my opinion, this can improve the efficiency of the multi-stage pipeline.