[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CABiHV1T7hFAZNRCdKz8RoXh-2pJjk4nnGX1ZriQncJEXqftmjA@mail.gmail.com>
Date: Fri, 16 Dec 2011 19:05:01 +0900
From: Geunsik Lim <leemgs1@...il.com>
To: Hui Zhu <teawater@...il.com>
Cc: linux-kernel@...r.kernel.org,
"gdb@...rceware.org" <gdb@...rceware.org>,
kgtp <kgtp@...elists.org>,
Marc Khouzam <marc.khouzam@...csson.com>,
Thiago Jung Bauermann <thiago.bauermann@...il.com>,
Steven <mqyoung@...il.com>, colyli@...il.com,
Christoph Hellwig <hch@...radead.org>,
Steven Rostedt <rostedt@...dmis.org>,
Randy Dunlap <rdunlap@...otime.net>
Subject: Re: KGTP (Linux Kernel debugger and tracer) 20111111 release (Android
support OK)
On Wed, Dec 14, 2011 at 10:08 PM, Hui Zhu <teawater@...il.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@...il.com> wrote:
>> On Mon, Dec 12, 2011 at 11:05 PM, Hui Zhu <teawater@...il.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@...il.com> wrote:
>>>> On Mon, Nov 14, 2011 at 2:15 PM, Hui Zhu <teawater@...il.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@...sung.com>
>>>> Date: Mon, 10 Dec 2011 18:08:03 +0900
>>>> Subject: [PATCH] Modify perf related func interface.
>>>>
>>>> Signed-off-by: Geunsik Lim <geunsik.lim@...sung.com>
>>>> Signed-off-by: Kyungmin Park <kyungmin.park@...sung.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@...r.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@...r.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@...r.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@...r.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@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists