Hi Arnaldo, > From: Arnaldo Carvalho de Melo [mailto:a...@kernel.org] > > Hi Masami, > > Have you noticed that sys_select or sys_poll stops after the > first few lines? Please let me know if you need more info than is below.
OK, I'll see what is going. > > [root@zoo ~]# perf probe -L sys_select > <SyS_select@/home/git/linux/fs/select.c:0> > 0 SYSCALL_DEFINE5(select, int, n, fd_set __user *, inp, fd_set __user > *, outp, > fd_set __user *, exp, struct timeval __user *, tvp) > { > struct timespec end_time, *to = NULL; > > [root@zoo ~]# perf probe -L sys_poll > <SyS_poll@/home/git/linux/fs/select.c:0> > 0 SYSCALL_DEFINE3(poll, struct pollfd __user *, ufds, unsigned int, > nfds, > int, timeout_msecs) > { > struct timespec end_time, *to = NULL; > > [root@zoo ~]# > > I haven't investigated it too much, if there is some trouble that makes > 'perf probe -L' to stop like that maybe we should warn the user somehow? It seems a bug of -L, since it works correctly with fs/select.c:957. $ ./perf probe -L fs/select.c:957 </home/mhiramat/ksrc/linux-3/fs/select.c:957> 957 SYSCALL_DEFINE3(poll, struct pollfd __user *, ufds, unsigned int, nfds$ int, timeout_msecs) { 960 struct timespec end_time, *to = NULL; int ret; 963 if (timeout_msecs >= 0) { 964 to = &end_time; 965 poll_select_set_timeout(to, timeout_msecs / MSEC_PER_SE$ 966 NSEC_PER_MSEC * (timeout_msecs % MSEC_PER_SEC))$ } 969 ret = do_sys_poll(ufds, nfds, to); 971 if (ret == -EINTR) { struct restart_block *restart_block; So, something goes wrong when processing syscall functions. Thanks! -- Masami HIRAMATSU Linux Technology Research Center, System Productivity Research Dept. Center for Technology Innovation - Systems Engineering Hitachi, Ltd., Research & Development Group E-mail: masami.hiramatsu...@hitachi.com -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/