Messages in this thread | | | Date | Thu, 04 Apr 2013 20:18:08 +0900 | From | Masami Hiramatsu <> | Subject | Re: [PATCH -tip ] kprobes: Move __kprobes definition into compiler.h |
| |
Hi Ingo,
(2013/04/04 19:40), Masami Hiramatsu wrote: > Currently, __kprobes is defined in linux/kprobes.h which > is too big to be included in small or basic headers > only for using this attribute. > > This moves __kprobes definition into linux/compiler.h > in which other compiler attributes are defined.
This is only moving __kprobes definition into compiler.h. I think it will be needed for replacing __kprobes with noprobe.
And until now, I still could not reproduce the Timo's reported issues. It seems those were happened on probing inline functions. Thus, I think we'd better use __always_inline instead of adding __kprobes (because those are not related to kprobes). If those issues still be reproduced, we'd better put noprobe on those functions.
By the way, those issues happened on native_* static inline functions which are also pointed by pv_*_ops as function pointer. For example, native_safe_halt is defined as an inline function in asm/irqflags.h, however it is directly pointed by pv_irq_ops in arch/x86/kernel/paravirt.c. In this case __always_inline may cause a problem.
For these cases, I'd like to suggest to define those functions which requires actual instance (because its address is used) in paravirt.c and rename original one to __native_*. And rename direct call of such native_* to __native_*.
Thank you,
-- Masami HIRAMATSU IT Management Research Dept. Linux Technology Center Hitachi, Ltd., Yokohama Research Laboratory E-mail: masami.hiramatsu.pt@hitachi.com
| |