Re: [PATCH v6 9/9] x86: jump-labels: use macros instead of inline assembly

From: Nadav Amit
Date: Tue Jul 24 2018 - 12:29:43 EST


at 7:26 AM, Ingo Molnar <mingo@xxxxxxxxxx> wrote:

>
> * Nadav Amit <namit@xxxxxxxxxx> wrote:
>
>> Use assembly macros for jump-labels and call them from inline assembly.
>> This not only makes the code more readable, but also improves
>> compilation decision, specifically inline decisions which GCC base on
>> the number of new lines in inline assembly.
>>
>> As a result the code size is slightly increased.
>>
>> text data bss dec hex filename
>> 18163528 10226300 2957312 31347140 1de51c4 ./vmlinux before
>> 18163608 10227348 2957312 31348268 1de562c ./vmlinux after (+1128)
>>
>> And functions such as intel_pstate_adjust_policy_max(),
>> kvm_cpu_accept_dm_intr(), kvm_register_readl() are inlined.
>>
>> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
>> Cc: Ingo Molnar <mingo@xxxxxxxxxx>
>> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx>
>> Cc: x86@xxxxxxxxxx
>> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
>> Cc: Kate Stewart <kstewart@xxxxxxxxxxxxxxxxxxx>
>> Cc: Philippe Ombredanne <pombredanne@xxxxxxxx>
>> Acked-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
>> Signed-off-by: Nadav Amit <namit@xxxxxxxxxx>
>> ---
>> arch/x86/entry/calling.h | 2 +-
>> arch/x86/include/asm/jump_label.h | 77 +++++++++++--------------------
>> arch/x86/kernel/macros.S | 1 +
>> 3 files changed, 30 insertions(+), 50 deletions(-)
>
> So I tried the series, and this patch causes a silent hard hang on bootup, with no
> (early-)console messages visible.
>
> I've attached the config that triggers the problem, built with:
>
> gcc version 5.3.1 20160406 (Red Hat 5.3.1-6) (GCC)
>
> it's 100% reproducible on both Intel and AMD test systems.
>
> I'll continue to test the series with this patch left out.
>
> So both the xtensa build failure and this boot failure needs to be fixed before I
> can apply this series.

Iâll look into these issues, but I donât see the config attached.

Thanks,
Nadav