* KGTP (Linux Kernel debugger and tracer) 20111111 release (Android support OK) @ 2011-11-14 5:15 Hui Zhu 2011-12-12 11:13 ` Geunsik Lim 0 siblings, 1 reply; 6+ messages in thread From: Hui Zhu @ 2011-11-14 5:15 UTC (permalink / raw) To: linux-kernel, gdb, kgtp Cc: Marc Khouzam, Thiago Jung Bauermann, Steven, colyli, Christoph Hellwig, Steven Rostedt, Randy Dunlap KGTP is a realtime and lightweight Linux Kernel GDB debugger and tracer. It makes Linux Kernel supply a GDB remote debug interface. Then GDB in current machine or remote machine can debug and trace Linux through GDB tracepoint without stopping the Linux Kernel. And even if the board doesn't have GDB on it and doesn't have interface for remote debug. It can debug the Linux Kernel using offline debug. Now, it supports X86-32, X86-64, MIPS and ARM. Now, KGTP 20111111 release. The change of this release is: Add a doc for use KGTP with Android in https://code.google.com/p/kgtp/wiki/HowToUseKGTPinAndroid post_handler will make kprobes-optimization cannot be used. So make gtp_kp_post_handler be call only when tpe->step is true. Make rdtsc_current to x86 special. Register easy Kprobe handler to speed up it when no tracepoint access $cooked_clock, $cooked_rdtsc or "pc_pe" tvariable. Fix a bug of ARM build. To get other change info please goto https://code.google.com/p/kgtp/wiki/UPDATE According to the comments of Christoph. I make a patch for Linux Kernel and make it looks OK with checkpatch.pl. The file gtp.patch is include in the source of KGTP code. Thanks, Hui ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: KGTP (Linux Kernel debugger and tracer) 20111111 release (Android support OK) 2011-11-14 5:15 KGTP (Linux Kernel debugger and tracer) 20111111 release (Android support OK) Hui Zhu @ 2011-12-12 11:13 ` Geunsik Lim 2011-12-12 14:06 ` Hui Zhu 0 siblings, 1 reply; 6+ messages in thread From: Geunsik Lim @ 2011-12-12 11:13 UTC (permalink / raw) To: Hui Zhu Cc: linux-kernel, gdb, kgtp, Marc Khouzam, Thiago Jung Bauermann, Steven, colyli, Christoph Hellwig, Steven Rostedt, Randy Dunlap On Mon, Nov 14, 2011 at 2:15 PM, Hui Zhu <teawater@gmail.com> wrote: > KGTP is a realtime and lightweight Linux Kernel GDB debugger and tracer. > > It makes Linux Kernel supply a GDB remote debug interface. Then GDB in > current machine or remote machine can debug and trace Linux through > GDB tracepoint without stopping the Linux Kernel. > And even if the board doesn't have GDB on it and doesn't have > interface for remote debug. It can debug the Linux Kernel using > offline debug. > Now, it supports X86-32, X86-64, MIPS and ARM. > > Now, KGTP 20111111 release. > > The change of this release is: > Add a doc for use KGTP with Android in > https://code.google.com/p/kgtp/wiki/HowToUseKGTPinAndroid > post_handler will make kprobes-optimization cannot be used. So make > gtp_kp_post_handler be call only when tpe->step is true. > Make rdtsc_current to x86 special. > Register easy Kprobe handler to speed up it when no tracepoint access > $cooked_clock, $cooked_rdtsc or "pc_pe" tvariable. > Fix a bug of ARM build. > To get other change info please goto https://code.google.com/p/kgtp/wiki/UPDATE > > According to the comments of Christoph. I make a patch for Linux > Kernel and make it looks OK with checkpatch.pl. The file gtp.patch is > include in the source of KGTP code. Dear Hui Zhu, Recently, I synchronized KGTP kernel source with svn 838 to test built-in kernel after adjusting recent bug-fix. I still had a compilation error. Please, adjust the below patch content to support X86/ARM architecture normally. ========== From 39d58cc7dab8df5e57fa106e8e7f00e562b45212 Mon Sep 17 00:00:00 2001 From: Geunsik Lim <geunsik.lim@samsung.com> Date: Mon, 10 Dec 2011 18:08:03 +0900 Subject: [PATCH] Modify perf related func interface. Signed-off-by: Geunsik Lim <geunsik.lim@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> --- lib/gtp.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/lib/gtp.c b/lib/gtp.c index 9bdf82c..9a2670e 100644 --- a/lib/gtp.c +++ b/lib/gtp.c @@ -4480,7 +4480,7 @@ restart: tve->pts->event = perf_event_create_kernel_counter(&(tve->pts->attr), tve->pts->cpu, - NULL, NULL, NULL); + NULL, NULL); if (IS_ERR(tve->pts->event)) { int ret = PTR_ERR(tve->pts->event); -- 1.7.3.4 ========== Thank you for your contribution for embedded kernel debugging > > Thanks, > Hui > -- > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > Please read the FAQ at http://www.tux.org/lkml/ -- Best regards, Geunsik Lim ( Samsung Electronics ) Blog : http://blog.naver.com/invain/ Homepage: http://leemgs.fedorapeople.org -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: KGTP (Linux Kernel debugger and tracer) 20111111 release (Android support OK) 2011-12-12 11:13 ` Geunsik Lim @ 2011-12-12 14:06 ` Hui Zhu 2011-12-13 1:37 ` Geunsik Lim 0 siblings, 1 reply; 6+ messages in thread From: Hui Zhu @ 2011-12-12 14:06 UTC (permalink / raw) To: Geunsik Lim Cc: linux-kernel, gdb, kgtp, Marc Khouzam, Thiago Jung Bauermann, Steven, colyli, Christoph Hellwig, Steven Rostedt, Randy Dunlap Hi Geunsik, Thanks for your patch. But Kernel upstream: struct perf_event * perf_event_create_kernel_counter(struct perf_event_attr *attr, int cpu, struct task_struct *task, perf_overflow_handler_t overflow_handler, void *context) I am sorry that gtp.patch is just for the Kernel upstream (Actually, it just for review). I suggest you use LKM if it is OK for you. If you want include KGTP into your kernel tree or something, maybe I can supply a special patch for you. BTW looks I need release an gtp_auto.patch that can patch to most of Linux kernel. Thanks, Hui On Mon, Dec 12, 2011 at 19:13, Geunsik Lim <leemgs1@gmail.com> wrote: > On Mon, Nov 14, 2011 at 2:15 PM, Hui Zhu <teawater@gmail.com> wrote: >> KGTP is a realtime and lightweight Linux Kernel GDB debugger and tracer. >> >> It makes Linux Kernel supply a GDB remote debug interface. Then GDB in >> current machine or remote machine can debug and trace Linux through >> GDB tracepoint without stopping the Linux Kernel. >> And even if the board doesn't have GDB on it and doesn't have >> interface for remote debug. It can debug the Linux Kernel using >> offline debug. >> Now, it supports X86-32, X86-64, MIPS and ARM. >> >> Now, KGTP 20111111 release. >> >> The change of this release is: >> Add a doc for use KGTP with Android in >> https://code.google.com/p/kgtp/wiki/HowToUseKGTPinAndroid >> post_handler will make kprobes-optimization cannot be used. So make >> gtp_kp_post_handler be call only when tpe->step is true. >> Make rdtsc_current to x86 special. >> Register easy Kprobe handler to speed up it when no tracepoint access >> $cooked_clock, $cooked_rdtsc or "pc_pe" tvariable. >> Fix a bug of ARM build. >> To get other change info please goto https://code.google.com/p/kgtp/wiki/UPDATE >> >> According to the comments of Christoph. I make a patch for Linux >> Kernel and make it looks OK with checkpatch.pl. The file gtp.patch is >> include in the source of KGTP code. > Dear Hui Zhu, > > Recently, I synchronized KGTP kernel source with svn 838 to test > built-in kernel > after adjusting recent bug-fix. I still had a compilation error. > Please, adjust the below patch content to support X86/ARM > architecture normally. > > ========== > From 39d58cc7dab8df5e57fa106e8e7f00e562b45212 Mon Sep 17 00:00:00 2001 > From: Geunsik Lim <geunsik.lim@samsung.com> > Date: Mon, 10 Dec 2011 18:08:03 +0900 > Subject: [PATCH] Modify perf related func interface. > > Signed-off-by: Geunsik Lim <geunsik.lim@samsung.com> > Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> > --- > lib/gtp.c | 2 +- > 1 files changed, 1 insertions(+), 1 deletions(-) > > diff --git a/lib/gtp.c b/lib/gtp.c > index 9bdf82c..9a2670e 100644 > --- a/lib/gtp.c > +++ b/lib/gtp.c > @@ -4480,7 +4480,7 @@ restart: > tve->pts->event = > perf_event_create_kernel_counter(&(tve->pts->attr), > tve->pts->cpu, > - NULL, NULL, NULL); > + NULL, NULL); > if (IS_ERR(tve->pts->event)) { > int ret = PTR_ERR(tve->pts->event); > > -- > 1.7.3.4 > ========== > > Thank you for your contribution for embedded kernel debugging > >> >> Thanks, >> Hui >> -- >> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in >> the body of a message to majordomo@vger.kernel.org >> More majordomo info at http://vger.kernel.org/majordomo-info.html >> Please read the FAQ at http://www.tux.org/lkml/ > > > > -- > Best regards, > Geunsik Lim ( Samsung Electronics ) > Blog : http://blog.naver.com/invain/ > Homepage: http://leemgs.fedorapeople.org > -- > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > Please read the FAQ at http://www.tux.org/lkml/ ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: KGTP (Linux Kernel debugger and tracer) 20111111 release (Android support OK) 2011-12-12 14:06 ` Hui Zhu @ 2011-12-13 1:37 ` Geunsik Lim 2011-12-14 13:09 ` Hui Zhu 0 siblings, 1 reply; 6+ messages in thread From: Geunsik Lim @ 2011-12-13 1:37 UTC (permalink / raw) To: Hui Zhu Cc: linux-kernel, gdb, kgtp, Marc Khouzam, Thiago Jung Bauermann, Steven, colyli, Christoph Hellwig, Steven Rostedt, Randy Dunlap On Mon, Dec 12, 2011 at 11:05 PM, Hui Zhu <teawater@gmail.com> wrote: > Hi Geunsik, > > Thanks for your patch. > But Kernel upstream: > struct perf_event * > perf_event_create_kernel_counter(struct perf_event_attr *attr, int cpu, > struct task_struct *task, > perf_overflow_handler_t overflow_handler, > void *context) > > I am sorry that gtp.patch is just for the Kernel upstream (Actually, > it just for review). > > I suggest you use LKM if it is OK for you. As you mentioned, LKM is normal in my experience. But, In embedded environment, built-in kernel including KGTP is important to debugging instantly without any manipulation and to review according to volunteers easily. > > If you want include KGTP into your kernel tree or something, maybe I > can supply a special patch for you. I think that you can just append exception handling to solve this issue like belows. Or, I will suggest for you will keep kgtp-3.1.1.patch without kgtp.patch like linux-kernel-rt patch for each kernel version ==== diff --git a/lib/gtp.c b/lib/gtp.c index 9bdf82c..6253811 100644 --- a/lib/gtp.c +++ b/lib/gtp.c @@ -4477,10 +4477,17 @@ restart: continue; /* Get event. */ +#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 1, 0) tve->pts->event = perf_event_create_kernel_counter(&(tve->pts->attr), tve->pts->cpu, NULL, NULL, NULL); +#else + tve->pts->event = + perf_event_create_kernel_counter(&(tve->pts->attr), + tve->pts->cpu, + NULL, NULL); +#endif if (IS_ERR(tve->pts->event)) { int ret = PTR_ERR(tve->pts->event); ==== > > BTW looks I need release an gtp_auto.patch that can patch to most of > Linux kernel. > > Thanks, > Hui > > On Mon, Dec 12, 2011 at 19:13, Geunsik Lim <leemgs1@gmail.com> wrote: >> On Mon, Nov 14, 2011 at 2:15 PM, Hui Zhu <teawater@gmail.com> wrote: >>> KGTP is a realtime and lightweight Linux Kernel GDB debugger and tracer. >>> >>> It makes Linux Kernel supply a GDB remote debug interface. Then GDB in >>> current machine or remote machine can debug and trace Linux through >>> GDB tracepoint without stopping the Linux Kernel. >>> And even if the board doesn't have GDB on it and doesn't have >>> interface for remote debug. It can debug the Linux Kernel using >>> offline debug. >>> Now, it supports X86-32, X86-64, MIPS and ARM. >>> >>> Now, KGTP 20111111 release. >>> >>> The change of this release is: >>> Add a doc for use KGTP with Android in >>> https://code.google.com/p/kgtp/wiki/HowToUseKGTPinAndroid >>> post_handler will make kprobes-optimization cannot be used. So make >>> gtp_kp_post_handler be call only when tpe->step is true. >>> Make rdtsc_current to x86 special. >>> Register easy Kprobe handler to speed up it when no tracepoint access >>> $cooked_clock, $cooked_rdtsc or "pc_pe" tvariable. >>> Fix a bug of ARM build. >>> To get other change info please goto https://code.google.com/p/kgtp/wiki/UPDATE >>> >>> According to the comments of Christoph. I make a patch for Linux >>> Kernel and make it looks OK with checkpatch.pl. The file gtp.patch is >>> include in the source of KGTP code. >> Dear Hui Zhu, >> >> Recently, I synchronized KGTP kernel source with svn 838 to test >> built-in kernel >> after adjusting recent bug-fix. I still had a compilation error. >> Please, adjust the below patch content to support X86/ARM >> architecture normally. >> >> ========== >> From 39d58cc7dab8df5e57fa106e8e7f00e562b45212 Mon Sep 17 00:00:00 2001 >> From: Geunsik Lim <geunsik.lim@samsung.com> >> Date: Mon, 10 Dec 2011 18:08:03 +0900 >> Subject: [PATCH] Modify perf related func interface. >> >> Signed-off-by: Geunsik Lim <geunsik.lim@samsung.com> >> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> >> --- >> lib/gtp.c | 2 +- >> 1 files changed, 1 insertions(+), 1 deletions(-) >> >> diff --git a/lib/gtp.c b/lib/gtp.c >> index 9bdf82c..9a2670e 100644 >> --- a/lib/gtp.c >> +++ b/lib/gtp.c >> @@ -4480,7 +4480,7 @@ restart: >> tve->pts->event = >> perf_event_create_kernel_counter(&(tve->pts->attr), >> tve->pts->cpu, >> - NULL, NULL, NULL); >> + NULL, NULL); >> if (IS_ERR(tve->pts->event)) { >> int ret = PTR_ERR(tve->pts->event); >> >> -- >> 1.7.3.4 >> ========== >> >> Thank you for your contribution for embedded kernel debugging >> >>> >>> Thanks, >>> Hui >>> -- >>> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in >>> the body of a message to majordomo@vger.kernel.org >>> More majordomo info at http://vger.kernel.org/majordomo-info.html >>> Please read the FAQ at http://www.tux.org/lkml/ >> >> >> >> -- >> Best regards, >> Geunsik Lim ( Samsung Electronics ) >> Blog : http://blog.naver.com/invain/ >> Homepage: http://leemgs.fedorapeople.org >> -- >> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in >> the body of a message to majordomo@vger.kernel.org >> More majordomo info at http://vger.kernel.org/majordomo-info.html >> Please read the FAQ at http://www.tux.org/lkml/ -- Best regards, Geunsik Lim ( Samsung Electronics ) Blog : http://blog.naver.com/invain/ Homepage: http://leemgs.fedorapeople.org -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: KGTP (Linux Kernel debugger and tracer) 20111111 release (Android support OK) 2011-12-13 1:37 ` Geunsik Lim @ 2011-12-14 13:09 ` Hui Zhu 2011-12-16 10:05 ` Geunsik Lim 0 siblings, 1 reply; 6+ messages in thread From: Hui Zhu @ 2011-12-14 13:09 UTC (permalink / raw) To: Geunsik Lim Cc: linux-kernel, gdb, kgtp, Marc Khouzam, Thiago Jung Bauermann, Steven, colyli, Christoph Hellwig, Steven Rostedt, Randy Dunlap Hi Geunsik, I just add a new patch gtp_3.0_to_upstream.patch that can patch Linux Kernel from 3.0 to upstream in kgtp trunk. I think maybe it can handle your issue. Could you help me try it? Thanks, Hui On Tue, Dec 13, 2011 at 09:36, Geunsik Lim <leemgs1@gmail.com> wrote: > On Mon, Dec 12, 2011 at 11:05 PM, Hui Zhu <teawater@gmail.com> wrote: >> Hi Geunsik, >> >> Thanks for your patch. >> But Kernel upstream: >> struct perf_event * >> perf_event_create_kernel_counter(struct perf_event_attr *attr, int cpu, >> struct task_struct *task, >> perf_overflow_handler_t overflow_handler, >> void *context) >> >> I am sorry that gtp.patch is just for the Kernel upstream (Actually, >> it just for review). >> >> I suggest you use LKM if it is OK for you. > As you mentioned, LKM is normal in my experience. > But, In embedded environment, built-in kernel including KGTP is important > to debugging instantly without any manipulation and to review according to > volunteers easily. > >> >> If you want include KGTP into your kernel tree or something, maybe I >> can supply a special patch for you. > I think that you can just append exception handling to solve this > issue like belows. > Or, I will suggest for you will keep kgtp-3.1.1.patch without > kgtp.patch like linux-kernel-rt patch for each kernel version > > ==== > diff --git a/lib/gtp.c b/lib/gtp.c > index 9bdf82c..6253811 100644 > --- a/lib/gtp.c > +++ b/lib/gtp.c > @@ -4477,10 +4477,17 @@ restart: > continue; > > /* Get event. */ > +#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 1, 0) > tve->pts->event = > perf_event_create_kernel_counter(&(tve->pts->attr), > tve->pts->cpu, > NULL, NULL, NULL); > +#else > + tve->pts->event = > + perf_event_create_kernel_counter(&(tve->pts->attr), > + tve->pts->cpu, > + NULL, NULL); > +#endif > if (IS_ERR(tve->pts->event)) { > int ret = PTR_ERR(tve->pts->event); > > ==== > >> >> BTW looks I need release an gtp_auto.patch that can patch to most of >> Linux kernel. >> >> Thanks, >> Hui >> >> On Mon, Dec 12, 2011 at 19:13, Geunsik Lim <leemgs1@gmail.com> wrote: >>> On Mon, Nov 14, 2011 at 2:15 PM, Hui Zhu <teawater@gmail.com> wrote: >>>> KGTP is a realtime and lightweight Linux Kernel GDB debugger and tracer. >>>> >>>> It makes Linux Kernel supply a GDB remote debug interface. Then GDB in >>>> current machine or remote machine can debug and trace Linux through >>>> GDB tracepoint without stopping the Linux Kernel. >>>> And even if the board doesn't have GDB on it and doesn't have >>>> interface for remote debug. It can debug the Linux Kernel using >>>> offline debug. >>>> Now, it supports X86-32, X86-64, MIPS and ARM. >>>> >>>> Now, KGTP 20111111 release. >>>> >>>> The change of this release is: >>>> Add a doc for use KGTP with Android in >>>> https://code.google.com/p/kgtp/wiki/HowToUseKGTPinAndroid >>>> post_handler will make kprobes-optimization cannot be used. So make >>>> gtp_kp_post_handler be call only when tpe->step is true. >>>> Make rdtsc_current to x86 special. >>>> Register easy Kprobe handler to speed up it when no tracepoint access >>>> $cooked_clock, $cooked_rdtsc or "pc_pe" tvariable. >>>> Fix a bug of ARM build. >>>> To get other change info please goto https://code.google.com/p/kgtp/wiki/UPDATE >>>> >>>> According to the comments of Christoph. I make a patch for Linux >>>> Kernel and make it looks OK with checkpatch.pl. The file gtp.patch is >>>> include in the source of KGTP code. >>> Dear Hui Zhu, >>> >>> Recently, I synchronized KGTP kernel source with svn 838 to test >>> built-in kernel >>> after adjusting recent bug-fix. I still had a compilation error. >>> Please, adjust the below patch content to support X86/ARM >>> architecture normally. >>> >>> ========== >>> From 39d58cc7dab8df5e57fa106e8e7f00e562b45212 Mon Sep 17 00:00:00 2001 >>> From: Geunsik Lim <geunsik.lim@samsung.com> >>> Date: Mon, 10 Dec 2011 18:08:03 +0900 >>> Subject: [PATCH] Modify perf related func interface. >>> >>> Signed-off-by: Geunsik Lim <geunsik.lim@samsung.com> >>> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> >>> --- >>> lib/gtp.c | 2 +- >>> 1 files changed, 1 insertions(+), 1 deletions(-) >>> >>> diff --git a/lib/gtp.c b/lib/gtp.c >>> index 9bdf82c..9a2670e 100644 >>> --- a/lib/gtp.c >>> +++ b/lib/gtp.c >>> @@ -4480,7 +4480,7 @@ restart: >>> tve->pts->event = >>> perf_event_create_kernel_counter(&(tve->pts->attr), >>> tve->pts->cpu, >>> - NULL, NULL, NULL); >>> + NULL, NULL); >>> if (IS_ERR(tve->pts->event)) { >>> int ret = PTR_ERR(tve->pts->event); >>> >>> -- >>> 1.7.3.4 >>> ========== >>> >>> Thank you for your contribution for embedded kernel debugging >>> >>>> >>>> Thanks, >>>> Hui >>>> -- >>>> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in >>>> the body of a message to majordomo@vger.kernel.org >>>> More majordomo info at http://vger.kernel.org/majordomo-info.html >>>> Please read the FAQ at http://www.tux.org/lkml/ >>> >>> >>> >>> -- >>> Best regards, >>> Geunsik Lim ( Samsung Electronics ) >>> Blog : http://blog.naver.com/invain/ >>> Homepage: http://leemgs.fedorapeople.org >>> -- >>> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in >>> the body of a message to majordomo@vger.kernel.org >>> More majordomo info at http://vger.kernel.org/majordomo-info.html >>> Please read the FAQ at http://www.tux.org/lkml/ > > > > -- > Best regards, > Geunsik Lim ( Samsung Electronics ) > Blog : http://blog.naver.com/invain/ > Homepage: http://leemgs.fedorapeople.org > -- > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > Please read the FAQ at http://www.tux.org/lkml/ ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: KGTP (Linux Kernel debugger and tracer) 20111111 release (Android support OK) 2011-12-14 13:09 ` Hui Zhu @ 2011-12-16 10:05 ` Geunsik Lim 0 siblings, 0 replies; 6+ messages in thread From: Geunsik Lim @ 2011-12-16 10:05 UTC (permalink / raw) To: Hui Zhu Cc: linux-kernel, gdb, kgtp, Marc Khouzam, Thiago Jung Bauermann, Steven, colyli, Christoph Hellwig, Steven Rostedt, Randy Dunlap On Wed, Dec 14, 2011 at 10:08 PM, Hui Zhu <teawater@gmail.com> wrote: > Hi Geunsik, > > I just add a new patch gtp_3.0_to_upstream.patch that can patch Linux > Kernel from 3.0 to upstream in kgtp trunk. I checked changed patch files after syncing svn 853. It's good. > I think maybe it can handle your issue. Yepp. But, I can help you by spending my valuable time as a hobby when I am free. > > Could you help me try it? > > Thanks, > Hui > > On Tue, Dec 13, 2011 at 09:36, Geunsik Lim <leemgs1@gmail.com> wrote: >> On Mon, Dec 12, 2011 at 11:05 PM, Hui Zhu <teawater@gmail.com> wrote: >>> Hi Geunsik, >>> >>> Thanks for your patch. >>> But Kernel upstream: >>> struct perf_event * >>> perf_event_create_kernel_counter(struct perf_event_attr *attr, int cpu, >>> struct task_struct *task, >>> perf_overflow_handler_t overflow_handler, >>> void *context) >>> >>> I am sorry that gtp.patch is just for the Kernel upstream (Actually, >>> it just for review). >>> >>> I suggest you use LKM if it is OK for you. >> As you mentioned, LKM is normal in my experience. >> But, In embedded environment, built-in kernel including KGTP is important >> to debugging instantly without any manipulation and to review according to >> volunteers easily. >> >>> >>> If you want include KGTP into your kernel tree or something, maybe I >>> can supply a special patch for you. >> I think that you can just append exception handling to solve this >> issue like belows. >> Or, I will suggest for you will keep kgtp-3.1.1.patch without >> kgtp.patch like linux-kernel-rt patch for each kernel version >> >> ==== >> diff --git a/lib/gtp.c b/lib/gtp.c >> index 9bdf82c..6253811 100644 >> --- a/lib/gtp.c >> +++ b/lib/gtp.c >> @@ -4477,10 +4477,17 @@ restart: >> continue; >> >> /* Get event. */ >> +#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 1, 0) >> tve->pts->event = >> perf_event_create_kernel_counter(&(tve->pts->attr), >> tve->pts->cpu, >> NULL, NULL, NULL); >> +#else >> + tve->pts->event = >> + perf_event_create_kernel_counter(&(tve->pts->attr), >> + tve->pts->cpu, >> + NULL, NULL); >> +#endif >> if (IS_ERR(tve->pts->event)) { >> int ret = PTR_ERR(tve->pts->event); >> >> ==== >> >>> >>> BTW looks I need release an gtp_auto.patch that can patch to most of >>> Linux kernel. >>> >>> Thanks, >>> Hui >>> >>> On Mon, Dec 12, 2011 at 19:13, Geunsik Lim <leemgs1@gmail.com> wrote: >>>> On Mon, Nov 14, 2011 at 2:15 PM, Hui Zhu <teawater@gmail.com> wrote: >>>>> KGTP is a realtime and lightweight Linux Kernel GDB debugger and tracer. >>>>> >>>>> It makes Linux Kernel supply a GDB remote debug interface. Then GDB in >>>>> current machine or remote machine can debug and trace Linux through >>>>> GDB tracepoint without stopping the Linux Kernel. >>>>> And even if the board doesn't have GDB on it and doesn't have >>>>> interface for remote debug. It can debug the Linux Kernel using >>>>> offline debug. >>>>> Now, it supports X86-32, X86-64, MIPS and ARM. >>>>> >>>>> Now, KGTP 20111111 release. >>>>> >>>>> The change of this release is: >>>>> Add a doc for use KGTP with Android in >>>>> https://code.google.com/p/kgtp/wiki/HowToUseKGTPinAndroid >>>>> post_handler will make kprobes-optimization cannot be used. So make >>>>> gtp_kp_post_handler be call only when tpe->step is true. >>>>> Make rdtsc_current to x86 special. >>>>> Register easy Kprobe handler to speed up it when no tracepoint access >>>>> $cooked_clock, $cooked_rdtsc or "pc_pe" tvariable. >>>>> Fix a bug of ARM build. >>>>> To get other change info please goto https://code.google.com/p/kgtp/wiki/UPDATE >>>>> >>>>> According to the comments of Christoph. I make a patch for Linux >>>>> Kernel and make it looks OK with checkpatch.pl. The file gtp.patch is >>>>> include in the source of KGTP code. >>>> Dear Hui Zhu, >>>> >>>> Recently, I synchronized KGTP kernel source with svn 838 to test >>>> built-in kernel >>>> after adjusting recent bug-fix. I still had a compilation error. >>>> Please, adjust the below patch content to support X86/ARM >>>> architecture normally. >>>> >>>> ========== >>>> From 39d58cc7dab8df5e57fa106e8e7f00e562b45212 Mon Sep 17 00:00:00 2001 >>>> From: Geunsik Lim <geunsik.lim@samsung.com> >>>> Date: Mon, 10 Dec 2011 18:08:03 +0900 >>>> Subject: [PATCH] Modify perf related func interface. >>>> >>>> Signed-off-by: Geunsik Lim <geunsik.lim@samsung.com> >>>> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> >>>> --- >>>> lib/gtp.c | 2 +- >>>> 1 files changed, 1 insertions(+), 1 deletions(-) >>>> >>>> diff --git a/lib/gtp.c b/lib/gtp.c >>>> index 9bdf82c..9a2670e 100644 >>>> --- a/lib/gtp.c >>>> +++ b/lib/gtp.c >>>> @@ -4480,7 +4480,7 @@ restart: >>>> tve->pts->event = >>>> perf_event_create_kernel_counter(&(tve->pts->attr), >>>> tve->pts->cpu, >>>> - NULL, NULL, NULL); >>>> + NULL, NULL); >>>> if (IS_ERR(tve->pts->event)) { >>>> int ret = PTR_ERR(tve->pts->event); >>>> >>>> -- >>>> 1.7.3.4 >>>> ========== >>>> >>>> Thank you for your contribution for embedded kernel debugging >>>> >>>>> >>>>> Thanks, >>>>> Hui >>>>> -- >>>>> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in >>>>> the body of a message to majordomo@vger.kernel.org >>>>> More majordomo info at http://vger.kernel.org/majordomo-info.html >>>>> Please read the FAQ at http://www.tux.org/lkml/ >>>> >>>> >>>> >>>> -- >>>> Best regards, >>>> Geunsik Lim ( Samsung Electronics ) >>>> Blog : http://blog.naver.com/invain/ >>>> Homepage: http://leemgs.fedorapeople.org >>>> -- >>>> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in >>>> the body of a message to majordomo@vger.kernel.org >>>> More majordomo info at http://vger.kernel.org/majordomo-info.html >>>> Please read the FAQ at http://www.tux.org/lkml/ >> >> >> >> -- >> Best regards, >> Geunsik Lim ( Samsung Electronics ) >> Blog : http://blog.naver.com/invain/ >> Homepage: http://leemgs.fedorapeople.org >> -- >> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in >> the body of a message to majordomo@vger.kernel.org >> More majordomo info at http://vger.kernel.org/majordomo-info.html >> Please read the FAQ at http://www.tux.org/lkml/ -- Best regards, Geunsik Lim ( Samsung Electronics ) Blog : http://blog.naver.com/invain/ Homepage: http://leemgs.fedorapeople.org -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2011-12-16 10:05 UTC | newest] Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2011-11-14 5:15 KGTP (Linux Kernel debugger and tracer) 20111111 release (Android support OK) Hui Zhu 2011-12-12 11:13 ` Geunsik Lim 2011-12-12 14:06 ` Hui Zhu 2011-12-13 1:37 ` Geunsik Lim 2011-12-14 13:09 ` Hui Zhu 2011-12-16 10:05 ` Geunsik Lim
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).