Messages in this thread | | | From | Hui Zhu <> | Date | Wed, 14 Dec 2011 21:08:39 +0800 | Subject | Re: KGTP (Linux Kernel debugger and tracer) 20111111 release (Android support OK) |
| |
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/ -- 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/
| |