Re: kernel bug(VM_BUG_ON_PAGE) with 3.18.13 in mm/migrate.c

2015-05-30 Thread Jovi Zhangwei
On Thu, May 28, 2015 at 11:38 AM, Jovi Zhangwei wrote: > Hi Mel, > > On Thu, May 28, 2015 at 5:00 AM, Mel Gorman wrote: >> On Wed, May 27, 2015 at 11:05:33AM -0700, Jovi Zhangwei wrote: >>> Hi, >>> >>> I got below kernel bug error in our 3.18.13 stab

Re: kernel bug(VM_BUG_ON_PAGE) with 3.18.13 in mm/migrate.c

2015-05-30 Thread Jovi Zhangwei
On Thu, May 28, 2015 at 11:38 AM, Jovi Zhangwei j...@cloudflare.com wrote: Hi Mel, On Thu, May 28, 2015 at 5:00 AM, Mel Gorman mgor...@suse.de wrote: On Wed, May 27, 2015 at 11:05:33AM -0700, Jovi Zhangwei wrote: Hi, I got below kernel bug error in our 3.18.13 stable kernel. kernel BUG

Re: kernel bug(VM_BUG_ON_PAGE) with 3.18.13 in mm/migrate.c

2015-05-28 Thread Jovi Zhangwei
Hi Mel, On Thu, May 28, 2015 at 5:00 AM, Mel Gorman wrote: > On Wed, May 27, 2015 at 11:05:33AM -0700, Jovi Zhangwei wrote: >> Hi, >> >> I got below kernel bug error in our 3.18.13 stable kernel. >> "kernel BUG at mm/migrate.c:1661!" >&g

Re: kernel bug(VM_BUG_ON_PAGE) with 3.18.13 in mm/migrate.c

2015-05-28 Thread Jovi Zhangwei
Hi Mel, On Thu, May 28, 2015 at 5:00 AM, Mel Gorman mgor...@suse.de wrote: On Wed, May 27, 2015 at 11:05:33AM -0700, Jovi Zhangwei wrote: Hi, I got below kernel bug error in our 3.18.13 stable kernel. kernel BUG at mm/migrate.c:1661! Source code: 1657static int

Re: kernel bug(VM_BUG_ON_PAGE) with 3.18.13 in mm/migrate.c

2015-05-27 Thread Jovi Zhangwei
On Wed, May 27, 2015 at 11:05 AM, Jovi Zhangwei wrote: > Hi, > > I got below kernel bug error in our 3.18.13 stable kernel. > "kernel BUG at mm/migrate.c:1661!" > > Source code: > > 1657static int numamigrate_isolate_page(pg_data_t *pgdat, struc

kernel bug(VM_BUG_ON_PAGE) with 3.18.13 in mm/migrate.c

2015-05-27 Thread Jovi Zhangwei
Hi, I got below kernel bug error in our 3.18.13 stable kernel. "kernel BUG at mm/migrate.c:1661!" Source code: 1657static int numamigrate_isolate_page(pg_data_t *pgdat, struct page *page) 1658 { 1659int page_lru; 1660 1661 VM_BUG_ON_PAGE(compound_order(page) &&

kernel bug(VM_BUG_ON_PAGE) with 3.18.13 in mm/migrate.c

2015-05-27 Thread Jovi Zhangwei
Hi, I got below kernel bug error in our 3.18.13 stable kernel. kernel BUG at mm/migrate.c:1661! Source code: 1657static int numamigrate_isolate_page(pg_data_t *pgdat, struct page *page) 1658 { 1659int page_lru; 1660 1661 VM_BUG_ON_PAGE(compound_order(page)

Re: kernel bug(VM_BUG_ON_PAGE) with 3.18.13 in mm/migrate.c

2015-05-27 Thread Jovi Zhangwei
On Wed, May 27, 2015 at 11:05 AM, Jovi Zhangwei j...@cloudflare.com wrote: Hi, I got below kernel bug error in our 3.18.13 stable kernel. kernel BUG at mm/migrate.c:1661! Source code: 1657static int numamigrate_isolate_page(pg_data_t *pgdat, struct page *page) 1658 { 1659

kernel bug(VM_BUG_ON_PAGE) with 3.18.13 in mm/migrate.c

2015-05-26 Thread Jovi Zhangwei
Hi, I got below kernel bug error in our 3.18.13 stable kernel. "kernel BUG at mm/migrate.c:1661!" Source code: 1657static int numamigrate_isolate_page(pg_data_t *pgdat, struct page *page) 1658 { 1659int page_lru; 1660 1661 VM_BUG_ON_PAGE(compound_order(page) &&

kernel bug(VM_BUG_ON_PAGE) with 3.18.13 in mm/migrate.c

2015-05-26 Thread Jovi Zhangwei
Hi, I got below kernel bug error in our 3.18.13 stable kernel. kernel BUG at mm/migrate.c:1661! Source code: 1657static int numamigrate_isolate_page(pg_data_t *pgdat, struct page *page) 1658 { 1659int page_lru; 1660 1661 VM_BUG_ON_PAGE(compound_order(page)

Re: [PATCH v11 tip 6/9] samples: bpf: simple non-portable kprobe filter example

2015-03-29 Thread Jovi Zhangwei
On Wed, Mar 25, 2015 at 12:49 PM, Alexei Starovoitov wrote: > tracex1_kern.c - C program compiled into BPF. > It attaches to kprobe:netif_receive_skb > When skb->dev->name == "lo", it prints sample debug message into trace_pipe > via bpf_trace_printk() helper function. > > tracex1_user.c -

Re: [PATCH v11 tip 6/9] samples: bpf: simple non-portable kprobe filter example

2015-03-29 Thread Jovi Zhangwei
On Wed, Mar 25, 2015 at 12:49 PM, Alexei Starovoitov a...@plumgrid.com wrote: tracex1_kern.c - C program compiled into BPF. It attaches to kprobe:netif_receive_skb When skb-dev-name == lo, it prints sample debug message into trace_pipe via bpf_trace_printk() helper function. tracex1_user.c -

Re: sched: spinlock recursion in sched_rr_get_interval

2014-09-17 Thread Jovi Zhangwei
On Tue, Jul 8, 2014 at 4:05 AM, Peter Zijlstra wrote: > On Mon, Jul 07, 2014 at 09:55:43AM -0400, Sasha Levin wrote: >> I've also had this one, which looks similar: >> >> [10375.005884] BUG: spinlock recursion on CPU#0, modprobe/10965 >> [10375.006573] lock: 0x8803a0fd7740, .magic: dead4ead,

Re: sched: spinlock recursion in sched_rr_get_interval

2014-09-17 Thread Jovi Zhangwei
On Tue, Jul 8, 2014 at 4:05 AM, Peter Zijlstra pet...@infradead.org wrote: On Mon, Jul 07, 2014 at 09:55:43AM -0400, Sasha Levin wrote: I've also had this one, which looks similar: [10375.005884] BUG: spinlock recursion on CPU#0, modprobe/10965 [10375.006573] lock: 0x8803a0fd7740,

Re: [RFC PATCH 00/28] ktap: A lightweight dynamic tracing tool for Linux

2014-04-08 Thread Jovi Zhangwei
On Fri, Apr 4, 2014 at 3:36 PM, Ingo Molnar wrote: > > * Jovi Zhangwei wrote: > >> I don't see any suggestion about integrating BPF before this review >> cycle. > > Hm, I mentioned it at the kernel summit to folks who raised the ktap > subject, but apparently not ov

Re: [RFC PATCH 00/28] ktap: A lightweight dynamic tracing tool for Linux

2014-04-08 Thread Jovi Zhangwei
On Fri, Apr 4, 2014 at 3:36 PM, Ingo Molnar mi...@kernel.org wrote: * Jovi Zhangwei jovi.zhang...@gmail.com wrote: I don't see any suggestion about integrating BPF before this review cycle. Hm, I mentioned it at the kernel summit to folks who raised the ktap subject, but apparently

Re: ktap and ebpf integration

2014-04-05 Thread Jovi Zhangwei
On Sun, Apr 6, 2014 at 1:22 AM, Alexei Starovoitov wrote: > On Sat, Apr 5, 2014 at 7:23 AM, Jovi Zhangwei wrote: >> On Sat, Apr 5, 2014 at 1:28 AM, Alexei Starovoitov wrote: >>> >>> 'ktap syntax' from user space point of view, can use ibpf as-is. >>> Show m

Re: ktap and ebpf integration

2014-04-05 Thread Jovi Zhangwei
On Sat, Apr 5, 2014 at 1:28 AM, Alexei Starovoitov wrote: > On Fri, Apr 4, 2014 at 7:20 AM, Andi Kleen wrote: > >> BTW I agree that EBPF won't work for ktap. The models >> (static vs dynamic typing etc.) are just too different. > > If you meant 'static vs dynamic safety checking' then yes. >

Re: ktap and ebpf integration

2014-04-05 Thread Jovi Zhangwei
On Sat, Apr 5, 2014 at 1:28 AM, Alexei Starovoitov a...@plumgrid.com wrote: On Fri, Apr 4, 2014 at 7:20 AM, Andi Kleen a...@firstfloor.org wrote: BTW I agree that EBPF won't work for ktap. The models (static vs dynamic typing etc.) are just too different. If you meant 'static vs dynamic

Re: ktap and ebpf integration

2014-04-05 Thread Jovi Zhangwei
On Sun, Apr 6, 2014 at 1:22 AM, Alexei Starovoitov a...@plumgrid.com wrote: On Sat, Apr 5, 2014 at 7:23 AM, Jovi Zhangwei jovi.zhang...@gmail.com wrote: On Sat, Apr 5, 2014 at 1:28 AM, Alexei Starovoitov a...@plumgrid.com wrote: 'ktap syntax' from user space point of view, can use ibpf

Re: ktap and ebpf integration

2014-04-04 Thread Jovi Zhangwei
On Fri, Apr 4, 2014 at 3:48 PM, Ingo Molnar wrote: > > * Jovi Zhangwei wrote: > >> On Fri, Apr 4, 2014 at 2:26 PM, Alexei Starovoitov wrote: >> > On Thu, Apr 3, 2014 at 6:21 PM, Jovi Zhangwei >> > wrote: >> >> Hi Alexei, >> >> >>

Re: ktap and ebpf integration

2014-04-04 Thread Jovi Zhangwei
On Fri, Apr 4, 2014 at 2:26 PM, Alexei Starovoitov wrote: > On Thu, Apr 3, 2014 at 6:21 PM, Jovi Zhangwei wrote: >> Hi Alexei, >> >> We talked a lot on ktap and ebpf integration in these days, >> Now I think we can put into deeply to thinking out some >> technic

Re: ktap and ebpf integration

2014-04-04 Thread Jovi Zhangwei
On Fri, Apr 4, 2014 at 2:26 PM, Alexei Starovoitov a...@plumgrid.com wrote: On Thu, Apr 3, 2014 at 6:21 PM, Jovi Zhangwei jovi.zhang...@gmail.com wrote: Hi Alexei, We talked a lot on ktap and ebpf integration in these days, Now I think we can put into deeply to thinking out some technical

Re: ktap and ebpf integration

2014-04-04 Thread Jovi Zhangwei
On Fri, Apr 4, 2014 at 3:48 PM, Ingo Molnar mi...@kernel.org wrote: * Jovi Zhangwei jovi.zhang...@gmail.com wrote: On Fri, Apr 4, 2014 at 2:26 PM, Alexei Starovoitov a...@plumgrid.com wrote: On Thu, Apr 3, 2014 at 6:21 PM, Jovi Zhangwei jovi.zhang...@gmail.com wrote: Hi Alexei, We

ktap and ebpf integration

2014-04-03 Thread Jovi Zhangwei
Hi Alexei, We talked a lot on ktap and ebpf integration in these days, Now I think we can put into deeply to thinking out some technical issues in there. Firstly, I want to make sure you are support this ktap and ebpf integration direction, I aware you have ongoing 'bpf filter' patch set work,

ktap and ebpf integration

2014-04-03 Thread Jovi Zhangwei
Hi Alexei, We talked a lot on ktap and ebpf integration in these days, Now I think we can put into deeply to thinking out some technical issues in there. Firstly, I want to make sure you are support this ktap and ebpf integration direction, I aware you have ongoing 'bpf filter' patch set work,

Re: [RFC PATCH 00/28] ktap: A lightweight dynamic tracing tool for Linux

2014-04-02 Thread Jovi Zhangwei
On Wed, Apr 2, 2014 at 3:43 PM, Ingo Molnar wrote: > > * Jovi Zhangwei wrote: > >> So based on all these input, I suggest: >> >> Put all these community efforts together, figure out the proper >> design implementation of dynamic tracing tool, ktap can be a good

Re: [RFC PATCH 00/28] ktap: A lightweight dynamic tracing tool for Linux

2014-04-02 Thread Jovi Zhangwei
On Wed, Apr 2, 2014 at 12:57 PM, Alexei Starovoitov wrote: > On Mon, Mar 31, 2014 at 9:47 PM, Jovi Zhangwei > wrote: >> Hi Alexei, >> >> On Tue, Apr 1, 2014 at 5:29 AM, Alexei Starovoitov wrote: >>> On Mon, Mar 31, 2014 at 3:01 AM, Jovi Zhangwei >>>

Re: [RFC PATCH 00/28] ktap: A lightweight dynamic tracing tool for Linux

2014-04-02 Thread Jovi Zhangwei
On Wed, Apr 2, 2014 at 12:57 PM, Alexei Starovoitov a...@plumgrid.com wrote: On Mon, Mar 31, 2014 at 9:47 PM, Jovi Zhangwei jovi.zhang...@gmail.com wrote: Hi Alexei, On Tue, Apr 1, 2014 at 5:29 AM, Alexei Starovoitov a...@plumgrid.com wrote: On Mon, Mar 31, 2014 at 3:01 AM, Jovi Zhangwei

Re: [RFC PATCH 00/28] ktap: A lightweight dynamic tracing tool for Linux

2014-04-02 Thread Jovi Zhangwei
On Wed, Apr 2, 2014 at 3:43 PM, Ingo Molnar mi...@kernel.org wrote: * Jovi Zhangwei jovi.zhang...@gmail.com wrote: So based on all these input, I suggest: Put all these community efforts together, figure out the proper design implementation of dynamic tracing tool, ktap can be a good start

Re: [PATCH 15/28] ktap: add built-in functions and library (runtime/lib_*.c)

2014-04-01 Thread Jovi Zhangwei
On Mon, Mar 31, 2014 at 9:13 PM, Andi Kleen wrote: > On Mon, Mar 31, 2014 at 10:01:04AM +0800, Jovi Zhangwei wrote: >> On Sun, Mar 30, 2014 at 8:58 AM, Andi Kleen wrote: >> >> Maybe in future, after ktap support "include" or "require" to >&

Re: Re: [PATCH 14/28] ktap: add runtime/kp_events.[c|h]

2014-04-01 Thread Jovi Zhangwei
On Tue, Apr 1, 2014 at 2:59 PM, Masami Hiramatsu wrote: > (2014/03/31 19:14), Jovi Zhangwei wrote: >> On Mon, Mar 31, 2014 at 5:10 PM, Masami Hiramatsu >> wrote: >>> (2014/03/28 22:47), Jovi Zhangwei wrote: >>>> kp_events.c handle ktap events management(reg

Re: Re: [PATCH 14/28] ktap: add runtime/kp_events.[c|h]

2014-04-01 Thread Jovi Zhangwei
On Tue, Apr 1, 2014 at 2:59 PM, Masami Hiramatsu masami.hiramatsu...@hitachi.com wrote: (2014/03/31 19:14), Jovi Zhangwei wrote: On Mon, Mar 31, 2014 at 5:10 PM, Masami Hiramatsu masami.hiramatsu...@hitachi.com wrote: (2014/03/28 22:47), Jovi Zhangwei wrote: kp_events.c handle ktap events

Re: [PATCH 15/28] ktap: add built-in functions and library (runtime/lib_*.c)

2014-04-01 Thread Jovi Zhangwei
On Mon, Mar 31, 2014 at 9:13 PM, Andi Kleen a...@firstfloor.org wrote: On Mon, Mar 31, 2014 at 10:01:04AM +0800, Jovi Zhangwei wrote: On Sun, Mar 30, 2014 at 8:58 AM, Andi Kleen a...@firstfloor.org wrote: Maybe in future, after ktap support include or require to import user defined library

Re: [RFC PATCH 00/28] ktap: A lightweight dynamic tracing tool for Linux

2014-03-31 Thread Jovi Zhangwei
Hi Alexei, On Tue, Apr 1, 2014 at 5:29 AM, Alexei Starovoitov wrote: > On Mon, Mar 31, 2014 at 3:01 AM, Jovi Zhangwei > wrote: >> Hi Ingo, >> >> On Mon, Mar 31, 2014 at 3:17 PM, Ingo Molnar wrote: >>> >>> * Jovi Zhangwei wrote: >>> >>&

Re: [PATCH 14/28] ktap: add runtime/kp_events.[c|h]

2014-03-31 Thread Jovi Zhangwei
On Mon, Mar 31, 2014 at 5:10 PM, Masami Hiramatsu wrote: > (2014/03/28 22:47), Jovi Zhangwei wrote: >> kp_events.c handle ktap events management(registry, destroy, event callback) >> >> This file is core event management interface between ktap and kernel. >>

Re: [RFC PATCH 00/28] ktap: A lightweight dynamic tracing tool for Linux

2014-03-31 Thread Jovi Zhangwei
Hi Ingo, On Mon, Mar 31, 2014 at 3:17 PM, Ingo Molnar wrote: > > * Jovi Zhangwei wrote: > >> 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 scri

Re: [RFC PATCH 00/28] ktap: A lightweight dynamic tracing tool for Linux

2014-03-31 Thread Jovi Zhangwei
Hi Ingo, On Mon, Mar 31, 2014 at 3:17 PM, Ingo Molnar mi...@kernel.org wrote: * Jovi Zhangwei jovi.zhang...@gmail.com wrote: 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

Re: [PATCH 14/28] ktap: add runtime/kp_events.[c|h]

2014-03-31 Thread Jovi Zhangwei
On Mon, Mar 31, 2014 at 5:10 PM, Masami Hiramatsu masami.hiramatsu...@hitachi.com wrote: (2014/03/28 22:47), Jovi Zhangwei wrote: kp_events.c handle ktap events management(registry, destroy, event callback) This file is core event management interface between ktap and kernel. Exposed

Re: [RFC PATCH 00/28] ktap: A lightweight dynamic tracing tool for Linux

2014-03-31 Thread Jovi Zhangwei
Hi Alexei, On Tue, Apr 1, 2014 at 5:29 AM, Alexei Starovoitov a...@plumgrid.com wrote: On Mon, Mar 31, 2014 at 3:01 AM, Jovi Zhangwei jovi.zhang...@gmail.com wrote: Hi Ingo, On Mon, Mar 31, 2014 at 3:17 PM, Ingo Molnar mi...@kernel.org wrote: * Jovi Zhangwei jovi.zhang...@gmail.com wrote

Re: [PATCH v2 16/29] ktap: add amalgamation build(kernel/trace/ktap/amalg.c)

2014-03-30 Thread Jovi Zhangwei
On Mon, Mar 31, 2014 at 10:17 AM, Li Zefan wrote: > On 2014/3/28 22:45, Jovi Zhangwei wrote: >> This compiles the ktapvm as one huge C file and allows >> GCC to generate faster and shorter code. >> >> No amalgamation build in x86_64: >> ktapvm.ko: 3.1M &

Re: [PATCH v2 10/29] ktap: add string handling code(kernel/trace/ktap/kp_[str|mempool].[c|h])

2014-03-30 Thread Jovi Zhangwei
On Mon, Mar 31, 2014 at 1:19 AM, Andi Kleen wrote: >> See test/benchmark/cmp_table.sh, that script compare > > Is that a realistic tracing scenario? > Yes, it's quite common to use string key in dynamic tracing tool, for example, See samples/userspace/glibc_func_hist.kp var s = {} trace

Re: [PATCH v2 08/29] ktap: add bytecode reader(kernel/trace/ktap/kp_bcread.[c|h])

2014-03-30 Thread Jovi Zhangwei
On Mon, Mar 31, 2014 at 1:17 AM, Andi Kleen wrote: >> That's designed for portability initially, it means we can just run bytecode >> without compile script file everywhere, especially when compilation is >> a heavily task for some embedded platform, even though ktap compilation >> is extremely

Re: [PATCH 15/28] ktap: add built-in functions and library (runtime/lib_*.c)

2014-03-30 Thread Jovi Zhangwei
On Sun, Mar 30, 2014 at 8:58 AM, Andi Kleen wrote: >> Maybe in future, after ktap support "include" or "require" to >> import user defined library in userspace. > > Can't you just have some hardcoded standard script for now that is > always appeneded and provides these functions? > Maybe it's

Re: [PATCH v2 10/29] ktap: add string handling code(kernel/trace/ktap/kp_[str|mempool].[c|h])

2014-03-30 Thread Jovi Zhangwei
On Sun, Mar 30, 2014 at 11:50 AM, Andi Kleen wrote: > > It's not clear to me why a kernel script language needs > all that complicated string interning code. > > What kind of scripts would create as many strings that > it would be worth it? > > I think it would be better to replace it with a

Re: [RFC PATCH v2 00/29] ktap: A lightweight dynamic tracing tool for Linux

2014-03-30 Thread Jovi Zhangwei
On Sun, Mar 30, 2014 at 9:00 AM, Andi Kleen wrote: > > For now I would suggest concentrating on the kernel ring 0 parts only. > Split the user space part into a separate patchkit that is posted > on a separate schedule. > > It's hard to make progress with too large patchkits. > Agreed, we can

Re: [PATCH v2 12/29] ktap: add generic object handling code(kernel/trace/ktap/kp_obj.[c|h])

2014-03-30 Thread Jovi Zhangwei
On Sun, Mar 30, 2014 at 11:56 AM, Andi Kleen wrote: >> + * You should have received a copy of the GNU General Public License along >> with >> + * this program; if not, write to the Free Software Foundation, Inc., >> + * 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. > > We're not

Re: [PATCH v2 08/29] ktap: add bytecode reader(kernel/trace/ktap/kp_bcread.[c|h])

2014-03-30 Thread Jovi Zhangwei
On Sun, Mar 30, 2014 at 10:47 AM, Andi Kleen wrote: >> +/* Read debug info of a prototype. */ >> +static void bcread_dbg(BCReadCtx *ctx, ktap_proto_t *pt, int sizedbg) >> +{ >> + void *lineinfo = (void *)proto_lineinfo(pt); >> + >> + bcread_block(ctx, lineinfo, sizedbg); >> + /* Swap

Re: [PATCH v2 13/29] ktap: add ring buffer handling code(kernel/trace/ktap/kp_transport.[c|h])

2014-03-30 Thread Jovi Zhangwei
On Sun, Mar 30, 2014 at 11:58 AM, Andi Kleen wrote: >> >> A lot of code in this file is duplicated with kernel trace_output.c. > > Please modify trace_output instead to avoid this. > Yeah, ktap transport functionality is based on ftrace ring buffer, and reading buffer is through trace pipe. I

Re: [PATCH 07/28] ktap: add runtime/ktap.[c|h]

2014-03-30 Thread Jovi Zhangwei
On Sun, Mar 30, 2014 at 1:04 AM, Greg Kroah-Hartman wrote: > On Sat, Mar 29, 2014 at 03:32:12PM +0800, Jovi Zhangwei wrote: >> >> +struct syscall_metadata **syscalls_metadata; >> >> + >> >> +/*TODO: kill this function in future */ >> >>

Re: [PATCH 07/28] ktap: add runtime/ktap.[c|h]

2014-03-30 Thread Jovi Zhangwei
On Sun, Mar 30, 2014 at 1:04 AM, Greg Kroah-Hartman gre...@linuxfoundation.org wrote: On Sat, Mar 29, 2014 at 03:32:12PM +0800, Jovi Zhangwei wrote: +struct syscall_metadata **syscalls_metadata; + +/*TODO: kill this function in future */ +static int __init init_dummy_kernel_functions(void

Re: [PATCH v2 13/29] ktap: add ring buffer handling code(kernel/trace/ktap/kp_transport.[c|h])

2014-03-30 Thread Jovi Zhangwei
On Sun, Mar 30, 2014 at 11:58 AM, Andi Kleen a...@firstfloor.org wrote: A lot of code in this file is duplicated with kernel trace_output.c. Please modify trace_output instead to avoid this. Yeah, ktap transport functionality is based on ftrace ring buffer, and reading buffer is through trace

Re: [PATCH v2 08/29] ktap: add bytecode reader(kernel/trace/ktap/kp_bcread.[c|h])

2014-03-30 Thread Jovi Zhangwei
On Sun, Mar 30, 2014 at 10:47 AM, Andi Kleen a...@firstfloor.org wrote: +/* Read debug info of a prototype. */ +static void bcread_dbg(BCReadCtx *ctx, ktap_proto_t *pt, int sizedbg) +{ + void *lineinfo = (void *)proto_lineinfo(pt); + + bcread_block(ctx, lineinfo, sizedbg); + /*

Re: [PATCH v2 12/29] ktap: add generic object handling code(kernel/trace/ktap/kp_obj.[c|h])

2014-03-30 Thread Jovi Zhangwei
On Sun, Mar 30, 2014 at 11:56 AM, Andi Kleen a...@firstfloor.org wrote: + * You should have received a copy of the GNU General Public License along with + * this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. We're

Re: [RFC PATCH v2 00/29] ktap: A lightweight dynamic tracing tool for Linux

2014-03-30 Thread Jovi Zhangwei
On Sun, Mar 30, 2014 at 9:00 AM, Andi Kleen a...@firstfloor.org wrote: For now I would suggest concentrating on the kernel ring 0 parts only. Split the user space part into a separate patchkit that is posted on a separate schedule. It's hard to make progress with too large patchkits.

Re: [PATCH v2 10/29] ktap: add string handling code(kernel/trace/ktap/kp_[str|mempool].[c|h])

2014-03-30 Thread Jovi Zhangwei
On Sun, Mar 30, 2014 at 11:50 AM, Andi Kleen a...@firstfloor.org wrote: It's not clear to me why a kernel script language needs all that complicated string interning code. What kind of scripts would create as many strings that it would be worth it? I think it would be better to replace it

Re: [PATCH 15/28] ktap: add built-in functions and library (runtime/lib_*.c)

2014-03-30 Thread Jovi Zhangwei
On Sun, Mar 30, 2014 at 8:58 AM, Andi Kleen a...@firstfloor.org wrote: Maybe in future, after ktap support include or require to import user defined library in userspace. Can't you just have some hardcoded standard script for now that is always appeneded and provides these functions? Maybe

Re: [PATCH v2 08/29] ktap: add bytecode reader(kernel/trace/ktap/kp_bcread.[c|h])

2014-03-30 Thread Jovi Zhangwei
On Mon, Mar 31, 2014 at 1:17 AM, Andi Kleen a...@firstfloor.org wrote: That's designed for portability initially, it means we can just run bytecode without compile script file everywhere, especially when compilation is a heavily task for some embedded platform, even though ktap compilation is

Re: [PATCH v2 10/29] ktap: add string handling code(kernel/trace/ktap/kp_[str|mempool].[c|h])

2014-03-30 Thread Jovi Zhangwei
On Mon, Mar 31, 2014 at 1:19 AM, Andi Kleen a...@firstfloor.org wrote: See test/benchmark/cmp_table.sh, that script compare Is that a realistic tracing scenario? Yes, it's quite common to use string key in dynamic tracing tool, for example, See samples/userspace/glibc_func_hist.kp var s =

Re: [PATCH v2 16/29] ktap: add amalgamation build(kernel/trace/ktap/amalg.c)

2014-03-30 Thread Jovi Zhangwei
On Mon, Mar 31, 2014 at 10:17 AM, Li Zefan lize...@huawei.com wrote: On 2014/3/28 22:45, Jovi Zhangwei wrote: This compiles the ktapvm as one huge C file and allows GCC to generate faster and shorter code. No amalgamation build in x86_64: ktapvm.ko: 3.1M amalgamation build in x86_64

[PATCH v2 01/29] ktap: add tools/ktap/README.md file

2014-03-29 Thread Jovi Zhangwei
Signed-off-by: Jovi Zhangwei --- tools/ktap/README.md | 149 +++ 1 file changed, 149 insertions(+) create mode 100644 tools/ktap/README.md diff --git a/tools/ktap/README.md b/tools/ktap/README.md new file mode 100644 index 000..66dc2d1

[PATCH v2 02/29] ktap: add ktap tutorial(tools/ktap/doc/tutorial.md)

2014-03-29 Thread Jovi Zhangwei
-off-by: Jovi Zhangwei --- tools/ktap/doc/tutorial.md | 666 + 1 file changed, 666 insertions(+) create mode 100644 tools/ktap/doc/tutorial.md diff --git a/tools/ktap/doc/tutorial.md b/tools/ktap/doc/tutorial.md new file mode 100644 index 000

[PATCH v2 06/29] ktap: add ktap_arch.h and error header file(include/uapi/ktap/)

2014-03-29 Thread Jovi Zhangwei
Simple arch related definition and error msg definition. Signed-off-by: Jovi Zhangwei --- include/uapi/ktap/ktap_arch.h | 33 ++ include/uapi/ktap/ktap_err.h| 11 include/uapi/ktap/ktap_errmsg.h | 135 3 files changed, 179 insertions

[PATCH v2 04/29] ktap: add basic ktap types definition(include/uapi/ktap/ktap_types.h)

2014-03-29 Thread Jovi Zhangwei
ime: 1). mainthread conetxt mainthread context is the context in ktap thread. 2). probe context ktap runtime pre-allocated percpu probe context. 9. ktap_global_state_t global state of ktap runtime, it's access by G(ks). Signed-off-by: Jovi Zhangwei --- include/uapi/ktap/ktap_type

[PATCH v2 21/29] ktap: add symbol handling code(tools/ktap/symbol.[c|h])

2014-03-29 Thread Jovi Zhangwei
This file is use for uprobe(include SDT) symbol lookup, for example: trace probe:/lib64/libc.so.6:malloc { print("malloc entry:", execname) } trace sdt:/lib64/libc.so.6:* { print(execname, argstr) } It need libelf library support. Signed-off-by: Jovi Zhangwei ---

[PATCH v2 29/29] ktap: add COPYRIGHT file(tools/ktap/COPYRIGHT)

2014-03-29 Thread Jovi Zhangwei
ktap is based on laujit and lua, so carry they copyright notices and MIT license in ktap tree. Signed-off-by: Jovi Zhangwei --- tools/ktap/COPYRIGHT | 63 1 file changed, 63 insertions(+) create mode 100644 tools/ktap/COPYRIGHT diff --git

[PATCH v2 28/29] ktap: add vim syntax file(tools/ktap/vim/*)

2014-03-29 Thread Jovi Zhangwei
To make ktap script looks more beautiful. Signed-off-by: Jovi Zhangwei --- tools/ktap/vim/ftdetect/ktap.vim | 3 ++ tools/ktap/vim/syntax/ktap.vim | 106 +++ 2 files changed, 109 insertions(+) create mode 100644 tools/ktap/vim/ftdetect/ktap.vim create

[PATCH v2 23/29] ktap: add ring buffer reader(tools/ktap/kp_reader.c)

2014-03-29 Thread Jovi Zhangwei
This is ktap ring buffer consumer, a thread poll content from '/sys/kernel/debug/ktap/trace_pipe_%pid' debugfs file. Signed-off-by: Jovi Zhangwei --- tools/ktap/kp_reader.c | 106 + 1 file changed, 106 insertions(+) create mode 100644 tools/ktap

[PATCH v2 24/29] ktap: add bytecode writer(tools/ktap/kp_bcwrite.c)

2014-03-29 Thread Jovi Zhangwei
Bytecode writer and listing. [root@localhost ktap]# ./ktap -b -e 'var s = {} s["key"] = 1' -- BYTECODE -- (command line):0-1 0001TNEW0 0 0002KSHORT 1 1 0003TSETS 1 0 0 ; "key" 0004RET00 1 Signed-off-by: Jovi

[PATCH v2 27/29] ktap: add testsuite and benchmark(tools/ktap/test/*)

2014-03-29 Thread Jovi Zhangwei
tell the data in my box) Signed-off-by: Jovi Zhangwei --- 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

[PATCH v2 25/29] ktap: add userspace util(tools/ktap/kp_util.c)

2014-03-29 Thread Jovi Zhangwei
Signed-off-by: Jovi Zhangwei --- tools/ktap/kp_util.c | 646 +++ tools/ktap/kp_util.h | 120 ++ 2 files changed, 766 insertions(+) create mode 100644 tools/ktap/kp_util.c create mode 100644 tools/ktap/kp_util.h diff --git a/tools/ktap

[PATCH v2 26/29] ktap: add userspace binary Makefile(tools/ktap/Makefile)

2014-03-29 Thread Jovi Zhangwei
Makefile for userspace binary. Signed-off-by: Jovi Zhangwei --- tools/ktap/Makefile | 130 1 file changed, 130 insertions(+) create mode 100644 tools/ktap/Makefile diff --git a/tools/ktap/Makefile b/tools/ktap/Makefile new file mode 100644

[PATCH v2 19/29] ktap: add main file for ktap binary(tools/ktap/kp_main.c)

2014-03-29 Thread Jovi Zhangwei
to tracing Signed-off-by: Jovi Zhangwei --- tools/ktap/kp_main.c | 443 +++ 1 file changed, 443 insertions(+) create mode 100644 tools/ktap/kp_main.c diff --git a/tools/ktap/kp_main.c b/tools/ktap/kp_main.c new file mode 100644 index 000

[PATCH v2 22/29] ktap: add events parse code(tools/ktap/kp_parse_events.c)

2014-03-29 Thread Jovi Zhangwei
ktap_eventdesc_t structure, and finially pass to 'kdebug.trace_by_id' function. Signed-off-by: Jovi Zhangwei --- tools/ktap/kp_parse_events.c | 798 +++ 1 file changed, 798 insertions(+) create mode 100644 tools/ktap/kp_parse_events.c diff --git a/tools

[PATCH v2 18/29] ktap: add Kconfig(kernel/trace/ktap/Kconfig)

2014-03-29 Thread Jovi Zhangwei
Signed-off-by: Jovi Zhangwei --- kernel/trace/ktap/Kconfig | 21 + 1 file changed, 21 insertions(+) create mode 100644 kernel/trace/ktap/Kconfig diff --git a/kernel/trace/ktap/Kconfig b/kernel/trace/ktap/Kconfig new file mode 100644 index 000..21f8d2e --- /dev/null

[PATCH v2 17/29] ktap: add Makefile for kernel module(kernel/trace/ktap/Makefile)

2014-03-29 Thread Jovi Zhangwei
This Makefile compiles kernel module and generate ktapvm.ko. Signed-off-by: Jovi Zhangwei --- kernel/trace/ktap/Makefile | 50 ++ 1 file changed, 50 insertions(+) create mode 100644 kernel/trace/ktap/Makefile diff --git a/kernel/trace/ktap/Makefile

[PATCH v2 16/29] ktap: add amalgamation build(kernel/trace/ktap/amalg.c)

2014-03-29 Thread Jovi Zhangwei
differences) Signed-off-by: Jovi Zhangwei --- kernel/trace/ktap/amalg.c | 37 + 1 file changed, 37 insertions(+) create mode 100644 kernel/trace/ktap/amalg.c diff --git a/kernel/trace/ktap/amalg.c b/kernel/trace/ktap/amalg.c new file mode 100644 index 000

[PATCH v2 14/29] ktap: add events management(kernel/trace/ktap/kp_events.[c|h])

2014-03-29 Thread Jovi Zhangwei
tracing syntax, not perf backend tracing. perf backend tracing have a long code path before reach ktap callback, and it need to copy event buffer firstly. Signed-off-by: Jovi Zhangwei --- kernel/trace/ktap/kp_events.c | 832 ++ kernel/trace/ktap/kp_eve

[PATCH v2 12/29] ktap: add generic object handling code(kernel/trace/ktap/kp_obj.[c|h])

2014-03-29 Thread Jovi Zhangwei
object is linked in G(ks)->allgc. 6). kp_obj_kstack2str convert kernel stack to string. 7). kp_obj_freeall free all object, called in kp_vm_exit. Signed-off-by: Jovi Zhangwei --- kernel/trace/ktap/kp_obj.c | 281 + kernel/trace/k

[PATCH v2 15/29] ktap: add built-in functions and library(kernel/trace/ktap/lib_*.c)

2014-03-29 Thread Jovi Zhangwei
library(lib_net.c): net.ip_sock_saddr net.ip_sock_daddr net.format_ip_addr 5). table library(lib_table.c): table.new 6). timer library(lib_timer.c): timer.profile timer.tick Signed-off-by: Jovi Zhangwei --- kernel/trace/ktap/lib_ansi.c | 142 ++ kernel/trace/ktap/lib_base.c | 407

[PATCH v2 13/29] ktap: add ring buffer handling code(kernel/trace/ktap/kp_transport.[c|h])

2014-03-29 Thread Jovi Zhangwei
(stack())' Signed-off-by: Jovi Zhangwei --- kernel/trace/ktap/kp_transport.c | 649 +++ kernel/trace/ktap/kp_transport.h | 13 + 2 files changed, 662 insertions(+) create mode 100644 kernel/trace/ktap/kp_transport.c create mode 100644 kernel/trace/ktap

[PATCH v2 07/29] ktap: add kernel module main entry(kernel/trace/ktap/ktap.[c|h])

2014-03-29 Thread Jovi Zhangwei
kp_vm_validate_code kp_vm_call_proto Signed-off-by: Jovi Zhangwei --- kernel/trace/ktap/ktap.c | 255 +++ kernel/trace/ktap/ktap.h | 176 2 files changed, 431 insertions(+) create mode 100644 kernel

[PATCH v2 09/29] ktap: add bytecode execution engine(kernel/trace/ktap/kp_vm.[c|h])

2014-03-29 Thread Jovi Zhangwei
execute loop related bytecode, to forbid deadloop, it limit can be set by module parameter. Signed-off-by: Jovi Zhangwei --- kernel/trace/ktap/kp_vm.c | 1754 + kernel/trace/ktap/kp_vm.h | 43 ++ 2 files changed, 1797 insertions(+) create mode 100644

[PATCH v2 08/29] ktap: add bytecode reader(kernel/trace/ktap/kp_bcread.[c|h])

2014-03-29 Thread Jovi Zhangwei
Exposed function: ktap_proto_t *kp_bcread(ktap_state_t *ks, unsigned char *buff, int len) Function kp_bcread read bytecode from buff, and return ktap top-level function prototype. Signed-off-by: Jovi Zhangwei --- kernel/trace/ktap/kp_bcread.c | 429

[PATCH v2 10/29] ktap: add string handling code(kernel/trace/ktap/kp_[str|mempool].[c|h])

2014-03-29 Thread Jovi Zhangwei
+ b/kernel/trace/ktap/kp_mempool.c @@ -0,0 +1,94 @@ +/* + * kp_mempool.c - ktap memory pool, service for string allocation + * + * This file is part of ktap by Jovi Zhangwei. + * + * Copyright (C) 2012-2014 Jovi Zhangwei . + * + * ktap is free software; you can redistribute it and/or modify it + * un

[PATCH v2 11/29] ktap: add table handling code(kernel/trace/ktap/kp_tab.[c|h])

2014-03-29 Thread Jovi Zhangwei
on performance is better than systemtap, especially for string key(because all string is interned in ktap). Note table is not aggregation in Systemtap and Dtrace, aggregation use percpu buffer. ktap will introduce aggregation soon with Dtrace aggregation syntax. Signed-off-by: Jovi Zhangwei

[RFC PATCH v2 00/29] ktap: A lightweight dynamic tracing tool for Linux

2014-03-29 Thread Jovi Zhangwei
g 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 (29): ktap: add tools/ktap/README.md file ktap: add ktap tutorial(tools/ktap/doc/tutorial.md) ktap: add sample scripts(tool

[PATCH v2 05/29] ktap: add bytecode definition(include/uapi/ktap/ktap_bc.h)

2014-03-29 Thread Jovi Zhangwei
, ITERL, IITERL, JITERL, LOOP, ILOOP, JLOOP, JMP 11). Function headers (All is not used in ktap) FUNCF, IFUNCF, JFUNCF, FUNCV, JFUNCV, FUNCC, FUNCCW 12). ktap specific bytecodes VARGN, VARGSTR, VPROBENAME, VPID, VTID, VUID, VCPU, VEXECNAME, GFUNC Signed-off-by: Jovi Zhangwei --- include/uapi/ktap

Re: [PATCH 16/28] ktap: add runtime/amalg.c

2014-03-29 Thread Jovi Zhangwei
Hi, On Sat, Mar 29, 2014 at 2:52 AM, Andi Kleen wrote: > Jovi Zhangwei writes: > >> Use amalgamation build make ktapvm.ko much smaller. >> >> No amalgamation build in x86_64: >> ktapvm.ko: 2.4M >> >> amalgamation build in x86_64: >> ktapvm.ko

Re: [PATCH 07/28] ktap: add runtime/ktap.[c|h]

2014-03-29 Thread Jovi Zhangwei
Hi Andi, On Sat, Mar 29, 2014 at 2:38 AM, Andi Kleen wrote: > Jovi Zhangwei writes: > > Quick review of the file. > >> +#include >> +#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 1, 0) >> +#error "Currently ktap don't support kernel older than 3.1" &g

Re: [PATCH 07/28] ktap: add runtime/ktap.[c|h]

2014-03-29 Thread Jovi Zhangwei
Hi Andi, On Sat, Mar 29, 2014 at 2:38 AM, Andi Kleen a...@firstfloor.org wrote: Jovi Zhangwei jovi.zhang...@gmail.com writes: Quick review of the file. +#include linux/version.h +#if LINUX_VERSION_CODE KERNEL_VERSION(3, 1, 0) +#error Currently ktap don't support kernel older than 3.1

Re: [PATCH 16/28] ktap: add runtime/amalg.c

2014-03-29 Thread Jovi Zhangwei
Hi, On Sat, Mar 29, 2014 at 2:52 AM, Andi Kleen a...@firstfloor.org wrote: Jovi Zhangwei jovi.zhang...@gmail.com writes: Use amalgamation build make ktapvm.ko much smaller. No amalgamation build in x86_64: ktapvm.ko: 2.4M amalgamation build in x86_64: ktapvm.ko: 1.1M User can set use

[RFC PATCH v2 00/29] ktap: A lightweight dynamic tracing tool for Linux

2014-03-29 Thread Jovi Zhangwei
-off-by: Jovi Zhangwei jovi.zhang...@gmail.com Jovi Zhangwei (29): ktap: add tools/ktap/README.md file ktap: add ktap tutorial(tools/ktap/doc/tutorial.md) ktap: add sample scripts(tools/ktap/samples/*) ktap: add basic ktap types definition(include/uapi/ktap/ktap_types.h) ktap: add bytecode

[PATCH v2 05/29] ktap: add bytecode definition(include/uapi/ktap/ktap_bc.h)

2014-03-29 Thread Jovi Zhangwei
, ITERL, IITERL, JITERL, LOOP, ILOOP, JLOOP, JMP 11). Function headers (All is not used in ktap) FUNCF, IFUNCF, JFUNCF, FUNCV, JFUNCV, FUNCC, FUNCCW 12). ktap specific bytecodes VARGN, VARGSTR, VPROBENAME, VPID, VTID, VUID, VCPU, VEXECNAME, GFUNC Signed-off-by: Jovi Zhangwei jovi.zhang...@gmail.com

[PATCH v2 10/29] ktap: add string handling code(kernel/trace/ktap/kp_[str|mempool].[c|h])

2014-03-29 Thread Jovi Zhangwei
--- /dev/null +++ b/kernel/trace/ktap/kp_mempool.c @@ -0,0 +1,94 @@ +/* + * kp_mempool.c - ktap memory pool, service for string allocation + * + * This file is part of ktap by Jovi Zhangwei. + * + * Copyright (C) 2012-2014 Jovi Zhangwei jovi.zhang...@gmail.com. + * + * ktap is free software; you can

[PATCH v2 11/29] ktap: add table handling code(kernel/trace/ktap/kp_tab.[c|h])

2014-03-29 Thread Jovi Zhangwei
, especially for string key(because all string is interned in ktap). Note table is not aggregation in Systemtap and Dtrace, aggregation use percpu buffer. ktap will introduce aggregation soon with Dtrace aggregation syntax. Signed-off-by: Jovi Zhangwei jovi.zhang...@gmail.com --- kernel/trace/ktap

[PATCH v2 13/29] ktap: add ring buffer handling code(kernel/trace/ktap/kp_transport.[c|h])

2014-03-29 Thread Jovi Zhangwei
(stack())' Signed-off-by: Jovi Zhangwei jovi.zhang...@gmail.com --- kernel/trace/ktap/kp_transport.c | 649 +++ kernel/trace/ktap/kp_transport.h | 13 + 2 files changed, 662 insertions(+) create mode 100644 kernel/trace/ktap/kp_transport.c create mode 100644

[PATCH v2 07/29] ktap: add kernel module main entry(kernel/trace/ktap/ktap.[c|h])

2014-03-29 Thread Jovi Zhangwei
kp_vm_validate_code kp_vm_call_proto Signed-off-by: Jovi Zhangwei jovi.zhang...@gmail.com --- kernel/trace/ktap/ktap.c | 255 +++ kernel/trace/ktap/ktap.h | 176 2 files changed, 431 insertions

[PATCH v2 09/29] ktap: add bytecode execution engine(kernel/trace/ktap/kp_vm.[c|h])

2014-03-29 Thread Jovi Zhangwei
execute loop related bytecode, to forbid deadloop, it limit can be set by module parameter. Signed-off-by: Jovi Zhangwei jovi.zhang...@gmail.com --- kernel/trace/ktap/kp_vm.c | 1754 + kernel/trace/ktap/kp_vm.h | 43 ++ 2 files changed, 1797 insertions

[PATCH v2 08/29] ktap: add bytecode reader(kernel/trace/ktap/kp_bcread.[c|h])

2014-03-29 Thread Jovi Zhangwei
Exposed function: ktap_proto_t *kp_bcread(ktap_state_t *ks, unsigned char *buff, int len) Function kp_bcread read bytecode from buff, and return ktap top-level function prototype. Signed-off-by: Jovi Zhangwei jovi.zhang...@gmail.com --- kernel/trace/ktap/kp_bcread.c | 429

  1   2   3   >