On Tue 2016-08-16 15:50:24, Chris Metcalf wrote:
[...]Ah, the __always_inline stuff did not helped here. It was
-static inline void native_safe_halt(void)
+static __always_inline void native_safe_halt(void)
{
asm volatile("sti; hlt": : :"memory");
}
not inlined:
$> nm -n vmlinux | grep native_safe_halt
ffffffff81050bc0 t native_safe_halt
The reason seems to be that it is called via
PVOP_VCALL0(pv_irq_ops.safe_halt);, see below
in the disassembly.
I guess that it is because I have
CONFIG_PARAVIRT=y