From: Jovi Zhangwei <jovi.zhangwei@gmail.com>
To: Ingo Molnar <mingo@redhat.org>, Steven Rostedt <rostedt@goodmis.org>
Cc: linux-kernel@vger.kernel.org,
Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Frederic Weisbecker <fweisbec@gmail.com>,
Jovi Zhangwei <jovi.zhangwei@gmail.com>
Subject: [RFC PATCH 00/28] ktap: A lightweight dynamic tracing tool for Linux
Date: Fri, 28 Mar 2014 09:47:21 -0400 [thread overview]
Message-ID: <1396014469-5937-1-git-send-email-jovi.zhangwei@gmail.com> (raw)
Hi All,
The following set of patches add ktap tracing tool.
ktap is a new script-based dynamic tracing tool for Linux.
It uses a scripting language and lets the user trace system dynamically.
Highlights features:
* a simple but powerful scripting language
* register-based interpreter (heavily optimized) in Linux kernel
* small and lightweight
* not depend on the GCC toolchain for each script run
* easy to use in embedded environments without debugging info
* support for tracepoint, kprobe, uprobe, function trace, timer, and more
* supported in x86, ARM, PowerPC, MIPS
* safety in sandbox
Simple examples:
1). simplest one-liner command to enable all tracepoints
ktap -e "trace *:* { print(argstr) }"
2). syscall tracing on target process
ktap -e "trace syscalls:* { print(argstr) }" -- ls
3). simple syscall tracing
ktap -e "trace syscalls:* { print(cpu, pid, execname, argstr) }"
4). ftrace
ktap -e "trace ftrace:function /ip==mutex*/ { print(argstr) }"
5). syscall tracing in histogram style
var s = {}
trace syscalls:sys_enter_* {
s[probename] += 1
}
trace_end {
print_hist(s)
}
6). kprobe tracing
trace probe:do_sys_open dfd=%di fname=%dx flags=%cx mode=+4($stack) {
print("entry:", execname, argstr)
}
trace probe:do_sys_open%return fd=$retval {
print("exit:", execname, argstr)
}
7). uprobe tracing
trace probe:/lib/libc.so.6:malloc {
print("entry:", execname, argstr)
}
trace probe:/lib/libc.so.6:malloc%return {
print("exit:", execname, argstr)
}
8). stapsdt tracing (userspace static marker)
trace sdt:/lib64/libc.so.6:lll_futex_wake {
print("lll_futex_wake", execname, argstr)
}
or:
#trace all static mark in libc
trace sdt:/lib64/libc.so.6:* {
print(execname, argstr)
}
9). timer
tick-1ms {
printf("time fired on one cpu\n");
}
profile-2s {
printf("time fired on every cpu\n");
}
This patchset contains:
1. README and Tutorial
2. ktap kernel module and userspace binary
3. sample scripts
4. test suite
The code can be pull from:
http://github.com/ktap/linux.git upstream
The merit of putting this software in kernel tree is
to make it more possible to get feedback from users
and thus polish the code.
Thank you.
Signed-off-by: Jovi Zhangwei <jovi.zhangwei@gmail.com>
Jovi Zhangwei (28):
ktap: add README file
ktap: add ktap tutorial
ktap: add sample scripts
ktap: add basic ktap types definition
ktap: add bytecode definition
ktap: add include/ktap_arch.h and error header file
ktap: add runtime/ktap.[c|h]
ktap: add runtime/kp_bcread.[c|h]
ktap: add runtime/kp_vm.[c|h]
ktap: add runtime/kp_str.[c|h] and runtime/kp_mempool.[c|h]
ktap: add runtime/kp_tab.[c|h]
ktap: add runtime/kp_obj.[c|h]
ktap: add runtime/kp_transport.[c|h]
ktap: add runtime/kp_events.[c|h]
ktap: add built-in functions and library (runtime/lib_*.c)
ktap: add runtime/amalg.c
ktap: add userspace/kp_main.c
ktap: add compiler(userspace/kp_lex.[c|h] and
userspace/kp_parse.[c|h])
ktap: add userspace/symbol.[c|h]
ktap: add userspace/kp_parse_events.c
ktap: add userspace/kp_reader.c
ktap: add userspace/kp_bcwrite.c
ktap: add userspace/kp_util.c
ktap: add Makefile
ktap: add Kconfig
ktap: add testsuite
ktap: add vim syntax file
ktap: add COPYRIGHT file
tools/ktap/COPYRIGHT | 63 +
tools/ktap/Kconfig | 21 +
tools/ktap/Makefile | 189 ++
tools/ktap/README.md | 149 +
tools/ktap/doc/tutorial.md | 666 +++++
tools/ktap/include/ktap_arch.h | 33 +
tools/ktap/include/ktap_bc.h | 369 +++
tools/ktap/include/ktap_err.h | 11 +
tools/ktap/include/ktap_errmsg.h | 135 +
tools/ktap/include/ktap_types.h | 463 +++
tools/ktap/runtime/amalg.c | 37 +
tools/ktap/runtime/kp_bcread.c | 428 +++
tools/ktap/runtime/kp_bcread.h | 6 +
tools/ktap/runtime/kp_events.c | 832 ++++++
tools/ktap/runtime/kp_events.h | 71 +
tools/ktap/runtime/kp_mempool.c | 94 +
tools/ktap/runtime/kp_mempool.h | 8 +
tools/ktap/runtime/kp_obj.c | 281 ++
tools/ktap/runtime/kp_obj.h | 19 +
tools/ktap/runtime/kp_str.c | 360 +++
tools/ktap/runtime/kp_str.h | 13 +
tools/ktap/runtime/kp_tab.c | 842 ++++++
tools/ktap/runtime/kp_tab.h | 59 +
tools/ktap/runtime/kp_transport.c | 649 ++++
tools/ktap/runtime/kp_transport.h | 13 +
tools/ktap/runtime/kp_vm.c | 1759 +++++++++++
tools/ktap/runtime/kp_vm.h | 43 +
tools/ktap/runtime/ktap.c | 276 ++
tools/ktap/runtime/ktap.h | 181 ++
tools/ktap/runtime/lib_ansi.c | 142 +
tools/ktap/runtime/lib_base.c | 409 +++
tools/ktap/runtime/lib_kdebug.c | 198 ++
tools/ktap/runtime/lib_net.c | 107 +
tools/ktap/runtime/lib_table.c | 58 +
tools/ktap/runtime/lib_timer.c | 210 ++
tools/ktap/samples/ansi/ansi_color_demo.kp | 22 +
tools/ktap/samples/basic/backtrace.kp | 6 +
tools/ktap/samples/basic/event_trigger.kp | 27 +
tools/ktap/samples/basic/event_trigger_ftrace.kp | 27 +
tools/ktap/samples/basic/ftrace.kp | 8 +
tools/ktap/samples/basic/function_time.kp | 62 +
tools/ktap/samples/basic/kretprobe.kp | 6 +
tools/ktap/samples/basic/memcpy_memset.kp | 23 +
tools/ktap/samples/game/tetris.kp | 297 ++
tools/ktap/samples/helloworld.kp | 3 +
tools/ktap/samples/interrupt/hardirq_time.kp | 25 +
tools/ktap/samples/interrupt/softirq_time.kp | 24 +
tools/ktap/samples/io/kprobes-do-sys-open.kp | 20 +
tools/ktap/samples/io/traceio.kp | 61 +
tools/ktap/samples/mem/kmalloc-stack.kp | 12 +
tools/ktap/samples/mem/kmem_count.kp | 29 +
tools/ktap/samples/network/tcp_ipaddr.kp | 20 +
tools/ktap/samples/profiling/function_profiler.kp | 41 +
.../profiling/kprobe_all_kernel_functions.kp | 13 +
tools/ktap/samples/profiling/stack_profile.kp | 27 +
tools/ktap/samples/schedule/sched_transition.kp | 5 +
tools/ktap/samples/schedule/schedtimes.kp | 131 +
tools/ktap/samples/syscalls/errinfo.kp | 145 +
tools/ktap/samples/syscalls/execve.kp | 9 +
tools/ktap/samples/syscalls/opensnoop.kp | 31 +
tools/ktap/samples/syscalls/sctop.kp | 13 +
tools/ktap/samples/syscalls/syscalls.kp | 6 +
tools/ktap/samples/syscalls/syscalls_count.kp | 54 +
.../samples/syscalls/syscalls_count_by_proc.kp | 22 +
tools/ktap/samples/syscalls/syslatl.kp | 33 +
tools/ktap/samples/syscalls/syslist.kp | 31 +
tools/ktap/samples/tracepoints/eventcount.kp | 210 ++
.../ktap/samples/tracepoints/eventcount_by_proc.kp | 57 +
tools/ktap/samples/tracepoints/raw_tracepoint.kp | 15 +
tools/ktap/samples/tracepoints/tracepoints.kp | 6 +
tools/ktap/samples/userspace/gcc_unwind.kp | 9 +
tools/ktap/samples/userspace/glibc_func_hist.kp | 44 +
tools/ktap/samples/userspace/glibc_sdt.kp | 11 +
tools/ktap/samples/userspace/glibc_trace.kp | 11 +
tools/ktap/samples/userspace/malloc_free.kp | 20 +
tools/ktap/samples/userspace/malloc_size_hist.kp | 22 +
tools/ktap/samples/userspace/pthread.kp | 8 +
tools/ktap/test/README | 69 +
tools/ktap/test/arithmetic.t | 109 +
tools/ktap/test/benchmark/cmp_neq.sh | 158 +
tools/ktap/test/benchmark/cmp_profile.sh | 54 +
tools/ktap/test/benchmark/cmp_table.sh | 112 +
tools/ktap/test/benchmark/sembench.c | 556 ++++
tools/ktap/test/benchmark/test.sh | 128 +
tools/ktap/test/cli-arg.t | 25 +
tools/ktap/test/concat.t | 21 +
tools/ktap/test/count.t | 25 +
tools/ktap/test/deadloop.t | 37 +
tools/ktap/test/fibonacci.t | 42 +
tools/ktap/test/function.t | 78 +
tools/ktap/test/if.t | 32 +
tools/ktap/test/kprobe.t | 82 +
tools/ktap/test/kretprobe.t | 35 +
tools/ktap/test/len.t | 27 +
tools/ktap/test/lib/Test/ktap.pm | 128 +
tools/ktap/test/looping.t | 46 +
tools/ktap/test/one-liner.t | 48 +
tools/ktap/test/pairs.t | 52 +
tools/ktap/test/stack_overflow.t | 22 +
tools/ktap/test/syntax-err.t | 19 +
tools/ktap/test/table.t | 81 +
tools/ktap/test/time.t | 59 +
tools/ktap/test/timer.t | 65 +
tools/ktap/test/tracepoint.t | 53 +
tools/ktap/test/util/reindex | 61 +
tools/ktap/test/zerodivide.t | 21 +
tools/ktap/userspace/kp_bcwrite.c | 375 +++
tools/ktap/userspace/kp_lex.c | 552 ++++
tools/ktap/userspace/kp_lex.h | 94 +
tools/ktap/userspace/kp_main.c | 443 +++
tools/ktap/userspace/kp_parse.c | 3139 ++++++++++++++++++++
tools/ktap/userspace/kp_parse.h | 4 +
tools/ktap/userspace/kp_parse_events.c | 798 +++++
tools/ktap/userspace/kp_reader.c | 106 +
tools/ktap/userspace/kp_symbol.c | 360 +++
tools/ktap/userspace/kp_symbol.h | 50 +
tools/ktap/userspace/kp_util.c | 646 ++++
tools/ktap/userspace/kp_util.h | 120 +
tools/ktap/vim/ftdetect/ktap.vim | 3 +
tools/ktap/vim/syntax/ktap.vim | 106 +
120 files changed, 19881 insertions(+)
create mode 100644 tools/ktap/COPYRIGHT
create mode 100644 tools/ktap/Kconfig
create mode 100644 tools/ktap/Makefile
create mode 100644 tools/ktap/README.md
create mode 100644 tools/ktap/doc/tutorial.md
create mode 100644 tools/ktap/include/ktap_arch.h
create mode 100644 tools/ktap/include/ktap_bc.h
create mode 100644 tools/ktap/include/ktap_err.h
create mode 100644 tools/ktap/include/ktap_errmsg.h
create mode 100644 tools/ktap/include/ktap_types.h
create mode 100644 tools/ktap/runtime/amalg.c
create mode 100644 tools/ktap/runtime/kp_bcread.c
create mode 100644 tools/ktap/runtime/kp_bcread.h
create mode 100644 tools/ktap/runtime/kp_events.c
create mode 100644 tools/ktap/runtime/kp_events.h
create mode 100644 tools/ktap/runtime/kp_mempool.c
create mode 100644 tools/ktap/runtime/kp_mempool.h
create mode 100644 tools/ktap/runtime/kp_obj.c
create mode 100644 tools/ktap/runtime/kp_obj.h
create mode 100644 tools/ktap/runtime/kp_str.c
create mode 100644 tools/ktap/runtime/kp_str.h
create mode 100644 tools/ktap/runtime/kp_tab.c
create mode 100644 tools/ktap/runtime/kp_tab.h
create mode 100644 tools/ktap/runtime/kp_transport.c
create mode 100644 tools/ktap/runtime/kp_transport.h
create mode 100644 tools/ktap/runtime/kp_vm.c
create mode 100644 tools/ktap/runtime/kp_vm.h
create mode 100644 tools/ktap/runtime/ktap.c
create mode 100644 tools/ktap/runtime/ktap.h
create mode 100644 tools/ktap/runtime/lib_ansi.c
create mode 100644 tools/ktap/runtime/lib_base.c
create mode 100644 tools/ktap/runtime/lib_kdebug.c
create mode 100644 tools/ktap/runtime/lib_net.c
create mode 100644 tools/ktap/runtime/lib_table.c
create mode 100644 tools/ktap/runtime/lib_timer.c
create mode 100644 tools/ktap/samples/ansi/ansi_color_demo.kp
create mode 100644 tools/ktap/samples/basic/backtrace.kp
create mode 100644 tools/ktap/samples/basic/event_trigger.kp
create mode 100644 tools/ktap/samples/basic/event_trigger_ftrace.kp
create mode 100644 tools/ktap/samples/basic/ftrace.kp
create mode 100644 tools/ktap/samples/basic/function_time.kp
create mode 100644 tools/ktap/samples/basic/kretprobe.kp
create mode 100644 tools/ktap/samples/basic/memcpy_memset.kp
create mode 100644 tools/ktap/samples/game/tetris.kp
create mode 100644 tools/ktap/samples/helloworld.kp
create mode 100644 tools/ktap/samples/interrupt/hardirq_time.kp
create mode 100644 tools/ktap/samples/interrupt/softirq_time.kp
create mode 100644 tools/ktap/samples/io/kprobes-do-sys-open.kp
create mode 100644 tools/ktap/samples/io/traceio.kp
create mode 100644 tools/ktap/samples/mem/kmalloc-stack.kp
create mode 100644 tools/ktap/samples/mem/kmem_count.kp
create mode 100644 tools/ktap/samples/network/tcp_ipaddr.kp
create mode 100644 tools/ktap/samples/profiling/function_profiler.kp
create mode 100644 tools/ktap/samples/profiling/kprobe_all_kernel_functions.kp
create mode 100644 tools/ktap/samples/profiling/stack_profile.kp
create mode 100644 tools/ktap/samples/schedule/sched_transition.kp
create mode 100644 tools/ktap/samples/schedule/schedtimes.kp
create mode 100644 tools/ktap/samples/syscalls/errinfo.kp
create mode 100644 tools/ktap/samples/syscalls/execve.kp
create mode 100644 tools/ktap/samples/syscalls/opensnoop.kp
create mode 100644 tools/ktap/samples/syscalls/sctop.kp
create mode 100644 tools/ktap/samples/syscalls/syscalls.kp
create mode 100644 tools/ktap/samples/syscalls/syscalls_count.kp
create mode 100644 tools/ktap/samples/syscalls/syscalls_count_by_proc.kp
create mode 100644 tools/ktap/samples/syscalls/syslatl.kp
create mode 100644 tools/ktap/samples/syscalls/syslist.kp
create mode 100644 tools/ktap/samples/tracepoints/eventcount.kp
create mode 100644 tools/ktap/samples/tracepoints/eventcount_by_proc.kp
create mode 100644 tools/ktap/samples/tracepoints/raw_tracepoint.kp
create mode 100644 tools/ktap/samples/tracepoints/tracepoints.kp
create mode 100644 tools/ktap/samples/userspace/gcc_unwind.kp
create mode 100644 tools/ktap/samples/userspace/glibc_func_hist.kp
create mode 100644 tools/ktap/samples/userspace/glibc_sdt.kp
create mode 100644 tools/ktap/samples/userspace/glibc_trace.kp
create mode 100644 tools/ktap/samples/userspace/malloc_free.kp
create mode 100644 tools/ktap/samples/userspace/malloc_size_hist.kp
create mode 100644 tools/ktap/samples/userspace/pthread.kp
create mode 100644 tools/ktap/test/README
create mode 100644 tools/ktap/test/arithmetic.t
create mode 100644 tools/ktap/test/benchmark/cmp_neq.sh
create mode 100644 tools/ktap/test/benchmark/cmp_profile.sh
create mode 100644 tools/ktap/test/benchmark/cmp_table.sh
create mode 100644 tools/ktap/test/benchmark/sembench.c
create mode 100644 tools/ktap/test/benchmark/test.sh
create mode 100644 tools/ktap/test/cli-arg.t
create mode 100644 tools/ktap/test/concat.t
create mode 100644 tools/ktap/test/count.t
create mode 100644 tools/ktap/test/deadloop.t
create mode 100644 tools/ktap/test/fibonacci.t
create mode 100644 tools/ktap/test/function.t
create mode 100644 tools/ktap/test/if.t
create mode 100644 tools/ktap/test/kprobe.t
create mode 100644 tools/ktap/test/kretprobe.t
create mode 100644 tools/ktap/test/len.t
create mode 100644 tools/ktap/test/lib/Test/ktap.pm
create mode 100644 tools/ktap/test/looping.t
create mode 100644 tools/ktap/test/one-liner.t
create mode 100644 tools/ktap/test/pairs.t
create mode 100644 tools/ktap/test/stack_overflow.t
create mode 100644 tools/ktap/test/syntax-err.t
create mode 100644 tools/ktap/test/table.t
create mode 100644 tools/ktap/test/time.t
create mode 100644 tools/ktap/test/timer.t
create mode 100644 tools/ktap/test/tracepoint.t
create mode 100755 tools/ktap/test/util/reindex
create mode 100644 tools/ktap/test/zerodivide.t
create mode 100644 tools/ktap/userspace/kp_bcwrite.c
create mode 100644 tools/ktap/userspace/kp_lex.c
create mode 100644 tools/ktap/userspace/kp_lex.h
create mode 100644 tools/ktap/userspace/kp_main.c
create mode 100644 tools/ktap/userspace/kp_parse.c
create mode 100644 tools/ktap/userspace/kp_parse.h
create mode 100644 tools/ktap/userspace/kp_parse_events.c
create mode 100644 tools/ktap/userspace/kp_reader.c
create mode 100644 tools/ktap/userspace/kp_symbol.c
create mode 100644 tools/ktap/userspace/kp_symbol.h
create mode 100644 tools/ktap/userspace/kp_util.c
create mode 100644 tools/ktap/userspace/kp_util.h
create mode 100644 tools/ktap/vim/ftdetect/ktap.vim
create mode 100644 tools/ktap/vim/syntax/ktap.vim
--
1.8.3.1
next reply other threads:[~2014-03-28 13:48 UTC|newest]
Thread overview: 68+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-03-28 13:47 Jovi Zhangwei [this message]
2014-03-28 13:47 ` [PATCH 01/28] ktap: add README file Jovi Zhangwei
2014-03-28 13:47 ` [PATCH 02/28] ktap: add ktap tutorial Jovi Zhangwei
2014-03-28 13:47 ` [PATCH 03/28] ktap: add sample scripts Jovi Zhangwei
2014-03-28 13:47 ` [PATCH 04/28] ktap: add basic ktap types definition Jovi Zhangwei
2014-03-28 13:47 ` [PATCH 05/28] ktap: add bytecode definition Jovi Zhangwei
2014-03-28 13:47 ` [PATCH 06/28] ktap: add include/ktap_arch.h and error header file Jovi Zhangwei
2014-03-28 13:47 ` [PATCH 07/28] ktap: add runtime/ktap.[c|h] Jovi Zhangwei
2014-03-28 18:38 ` Andi Kleen
2014-03-29 7:32 ` Jovi Zhangwei
2014-03-29 17:04 ` Greg Kroah-Hartman
2014-03-30 7:26 ` Jovi Zhangwei
2014-03-28 13:47 ` [PATCH 08/28] ktap: add runtime/kp_bcread.[c|h] Jovi Zhangwei
2014-03-28 13:47 ` [PATCH 09/28] ktap: add runtime/kp_vm.[c|h] Jovi Zhangwei
2014-03-28 13:47 ` [PATCH 10/28] ktap: add runtime/kp_str.[c|h] and runtime/kp_mempool.[c|h] Jovi Zhangwei
2014-03-28 13:47 ` [PATCH 11/28] ktap: add runtime/kp_tab.[c|h] Jovi Zhangwei
2014-03-28 13:47 ` [PATCH 12/28] ktap: add runtime/kp_obj.[c|h] Jovi Zhangwei
2014-03-28 13:47 ` [PATCH 13/28] ktap: add runtime/kp_transport.[c|h] Jovi Zhangwei
2014-03-28 13:47 ` [PATCH 14/28] ktap: add runtime/kp_events.[c|h] Jovi Zhangwei
2014-03-31 9:10 ` Masami Hiramatsu
2014-03-31 10:14 ` Jovi Zhangwei
2014-04-01 6:59 ` Masami Hiramatsu
2014-04-01 7:28 ` Jovi Zhangwei
2014-04-01 8:05 ` Masami Hiramatsu
2014-03-28 13:47 ` [PATCH 15/28] ktap: add built-in functions and library (runtime/lib_*.c) Jovi Zhangwei
2014-03-28 18:51 ` Andi Kleen
2014-03-29 4:15 ` Jovi Zhangwei
2014-03-30 0:58 ` Andi Kleen
2014-03-31 2:01 ` Jovi Zhangwei
2014-03-31 13:13 ` Andi Kleen
2014-04-02 1:44 ` Jovi Zhangwei
2014-03-28 13:47 ` [PATCH 16/28] ktap: add runtime/amalg.c Jovi Zhangwei
2014-03-28 18:52 ` Andi Kleen
2014-03-29 7:38 ` Jovi Zhangwei
2014-03-28 13:47 ` [PATCH 17/28] ktap: add userspace/kp_main.c Jovi Zhangwei
2014-03-28 13:47 ` [PATCH 18/28] ktap: add compiler(userspace/kp_lex.[c|h] and userspace/kp_parse.[c|h]) Jovi Zhangwei
2014-03-28 13:47 ` [PATCH 19/28] ktap: add userspace/symbol.[c|h] Jovi Zhangwei
2014-04-01 7:28 ` Masami Hiramatsu
2014-03-28 13:47 ` [PATCH 20/28] ktap: add userspace/kp_parse_events.c Jovi Zhangwei
2014-03-28 13:47 ` [PATCH 21/28] ktap: add userspace/kp_reader.c Jovi Zhangwei
2014-03-28 13:47 ` [PATCH 22/28] ktap: add userspace/kp_bcwrite.c Jovi Zhangwei
2014-03-28 13:47 ` [PATCH 23/28] ktap: add userspace/kp_util.c Jovi Zhangwei
2014-03-28 13:47 ` [PATCH 24/28] ktap: add Makefile Jovi Zhangwei
2014-03-28 13:47 ` [PATCH 25/28] ktap: add Kconfig Jovi Zhangwei
2014-03-28 13:47 ` [PATCH 26/28] ktap: add testsuite Jovi Zhangwei
2014-03-28 13:47 ` [PATCH 27/28] ktap: add vim syntax file Jovi Zhangwei
2014-03-28 13:47 ` [PATCH 28/28] ktap: add COPYRIGHT file Jovi Zhangwei
2014-03-28 16:08 ` [RFC PATCH 00/28] ktap: A lightweight dynamic tracing tool for Linux Greg Kroah-Hartman
2014-03-29 1:46 ` Jovi Zhangwei
2014-03-31 7:17 ` Ingo Molnar
2014-03-31 10:01 ` Jovi Zhangwei
2014-03-31 21:29 ` Alexei Starovoitov
2014-04-01 4:47 ` Jovi Zhangwei
2014-04-02 4:57 ` Alexei Starovoitov
2014-04-02 6:37 ` Jovi Zhangwei
2014-04-02 7:43 ` Ingo Molnar
2014-04-02 8:49 ` Jovi Zhangwei
2014-04-04 7:36 ` Ingo Molnar
2014-04-08 6:50 ` Jovi Zhangwei
2014-04-14 15:11 ` Ingo Molnar
2014-04-14 15:28 ` Daniel Borkmann
2014-04-02 7:42 ` Ingo Molnar
2014-04-07 13:55 ` Peter Zijlstra
2014-04-08 7:40 ` Masami Hiramatsu
2014-04-08 9:08 ` Peter Zijlstra
2014-04-02 7:36 ` Ingo Molnar
2014-03-31 20:06 ` Daniel Borkmann
2014-03-31 9:18 ` Masami Hiramatsu
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1396014469-5937-1-git-send-email-jovi.zhangwei@gmail.com \
--to=jovi.zhangwei@gmail.com \
--cc=fweisbec@gmail.com \
--cc=gregkh@linuxfoundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=masami.hiramatsu.pt@hitachi.com \
--cc=mingo@redhat.org \
--cc=rostedt@goodmis.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.