Messages in this thread | | | Date | Wed, 26 Sep 2012 14:33:03 +0900 | From | Masami Hiramatsu <> | Subject | Re: [QUESTION] Can uprobe_event support @ADDR, $retval, offs(FETCHARG)? |
| |
(2012/09/26 11:52), Hyeoncheol Lee wrote: > Hi, > > uprobe_event only supports %REG arguments. I think that memory fetch, > return value fetch, memory dereference functions in > kernel/trace/trace_probe.c are good for uprobe_event. So with a little > modification of parse_probe_arg(), uprobe_event can support @ADDR, > $retval, offs(FETCHARGS) except @SYM, $stack, $stackN. Is it right?
Hi Hyeoncheol,
Perhaps, it is not so small things, but at least, we can try. In the userspace, memories(pages) can be paged out on swap or files. In that case, memory dereference function needs to track down the data on the disk and it causes I/O. This means we will see the visible performance degradation with tracing. And also, sometime a pointer value (address) is broken, in that case we have to ensure the address is actually valid before accessing it.
Of cause, without tracking paged-out data, it is easy to support, because that is already done in kprobe event. I'm not sure how it is useful, because sometimes it will fail to access gather the data. However it is good for the first step, I think.
Srikar, what would you think?
BTW, if we can support offs(FETCHARGS), $stack and $stackN are also available. ;)
Thank you,
-- Masami HIRAMATSU Software Platform Research Dept. Linux Technology Center Hitachi, Ltd., Yokohama Research Laboratory E-mail: masami.hiramatsu.pt@hitachi.com
| |