Communication between kernel and kernel module
Frank Ch. Eigler
fche at redhat.com
Wed May 23 07:48:16 EDT 2012
"drewd77.gm" <drewd77.gm at gmail.com> writes:
> Is there any way to call a function defined in a kernel module from within the
> kernel proper?
One needs a proper hook mechanism such as kprobes or tracepoints.
> I'm trying to keep track of when and for how long a process is being executed
> on the processor, i.e. I need to know when context switches occur.
>
> There is a function called context_switch() in linux/kernel/sched/core.c that
> is called whenever a context switch happens. I would like to call a function in
> a kernel module I've written from within context_switch() and pass some data to
> it.
The sched_switch tracepoint is probably the best spot for this. A
systemtap script that listens for these events and simply traces them
to stdout looks like:
probe scheduler.ctxswitch { println(cpu(), ":", prev_tid, "->", next_tid) }
- FChE
More information about the Kernelnewbies
mailing list