Re: [PATCH 2/3] tracing/kprobes: Make Kconfig dependencies generic

From: Frederic Weisbecker
Date: Thu Feb 18 2010 - 13:14:10 EST


On Thu, Feb 18, 2010 at 11:19:54AM -0500, Masami Hiramatsu wrote:
> Frederic Weisbecker wrote:
> > On Thu, Feb 18, 2010 at 09:01:12AM -0500, Mike Frysinger wrote:
> >>> --- a/arch/Kconfig
> >>> +++ b/arch/Kconfig
> >>> @@ -123,6 +123,10 @@ config USE_GENERIC_SMP_HELPERS
> >>>
> >>> config HAVE_REGS_AND_STACK_ACCESS_API
> >>> bool
> >>> + help
> >>> + This symbol should be selected by an architecure if it supports
> >>> + the API needed to access registers and stack entries from pt_regs.
> >>> + For example the kprobes-based event tracer needs this API.
> >>
> >> a bit vague ... arent there headers/functions people could look at ?
> >> perhaps you're talking about the regset functions (which is an API to
> >> access registers in pt_regs) ? or you're talking about asm/syscall.h
> >> (which is an API to access registers in pt_regs) ?
> >>
> >> i'm not asking to be a pain, i'm asking because i really havent a
> >> clue. if i wanted to add support for this stuff to the Blackfin arch,
> >> i wouldnt know where to start. even after reading this help i'd fall
> >> back to grepping arch/x86/ and trying to divine a starting point from
> >> there.
> >
> >
> > If an arch support kprobes, it just needs to select
> > HAVE_REGS_AND_STACK_ACCESS_API to figure out quickly what is missing,
> > as gcc will barf every missing clues you need.
>
> These APIs are needed for kprobe-tracer on ftrace(kernel/trace/trace_kprobe.c),
> which is just a consumer of kprobes (so depends on CONFIG_KPROBES).
>
> I mean, if you wanna figure out that, you have to select CONFIG_KPROBE_EVENT too :)
> And then, gcc tries to compile trace_kprobe.c and quickly dumps error messages
> what APIs are not found :)



Yeah.



> > For now it is stored is asm/ptrace.h, but that might be split in
> > the future, especially as ptrace has initially nothing related to
> > that. A documentation that deals with filenames or API enumerations
> > tend to be incidentally async with API evolutions.
>
> yeah, now those APIs depend on pt_regs, so I put it in ptrace.h.
>
> Thank you,


But anyway, if you prefer I can add a reference to ptrace.h in
the config help. We just need to not forgot that if we move
these functions later :)

Thanks.

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