Re: [PATCH v8 4/4] nmi_backtrace: generate one-line reports for idle cpus

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 8/18/2016 11:12 AM, Petr Mladek wrote:
On Tue 2016-08-16 15:50:24, Chris Metcalf wrote:
[...]
-static inline void native_safe_halt(void)
+static __always_inline void native_safe_halt(void)
  {
  	asm volatile("sti; hlt": : :"memory");
  }
Ah, the __always_inline stuff did not helped here. It was
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

I fixed this by reverting to using __cpuidle instead of __always_inline.
As you discovered, we can't use <linux/cpu.h> here, but I chose to
just duplicate the #define of __cpuidle in <asm/irqflags.h> instead
since I think that's cleaner.

--
Chris Metcalf, Mellanox Technologies
http://www.mellanox.com

--
To unsubscribe from this list: send the line "unsubscribe linux-arch" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Kernel]     [Kernel Newbies]     [x86 Platform Driver]     [Netdev]     [Linux Wireless]     [Netfilter]     [Bugtraq]     [Linux Filesystems]     [Yosemite Discussion]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Device Mapper]

  Powered by Linux