>One more thing..I am not able to see invoking of the kgdboe.c file
>while debugging in your logs.
Yeah , I saw that and I don't know why.
Attaching my kernel config file here.
-Tushar
>
>Thanks
>-Naresh Bhat
>
>On 2/23/12, Naresh Bhat <[email protected]> wrote:
>> Hi Tushar,
>>
>> Thank you very much. I appreciate you help.
>>
>> Can you please provide me your Kernel configuration file ? I hope you
>> have not configured your kernel for x86 32bit architecture ? BTW I
>> know it is working for x86 32bit architecture.
>>
>> I am really wondering how can KGDBOE work without any issues for x86
>> 64bit configured Kernel with SMP !!!
>>
>> Any way, I am using the following configuration (I have attached my
>> Ethernet card photos too with this e-mail).
>>
>> Hardware machine : x86 64bit Intel Nehalum machine or Intel Westmere
>> machine
>>
>> Linux Kernel: linux-stable (2.6.32.41) + KGDBOE patch and KGDBOE
>> enabled in kernel + SMP Enabled + Used x86_64_defconfig file - Kernel
>> is cross compiled for x86 64bit architecture.
>>
>> Ethernet card: Intel E1000 looks like you are also using the same card.
>>
>>
>==========================================================================
>=
>>
>> nareshbhat@Lenovo-Y310:~/Projects/Development/linux-stable$ gdb vmlinux
>> GNU gdb (GDB) 7.0.1-debian
>> Copyright (C) 2009 Free Software Foundation, Inc.
>> License GPLv3+: GNU GPL version 3 or later
>> <http://gnu.org/licenses/gpl.html>
>> This is free software: you are free to change and redistribute it.
>> There is NO WARRANTY, to the extent permitted by law. Type "show
>copying"
>> and "show warranty" for details.
>> This GDB was configured as "x86_64-linux-gnu".
>> For bug reporting instructions, please see:
>> <http://www.gnu.org/software/gdb/bugs/>...
>> Reading symbols from
>> /home/nareshbhat/Projects/Development/linux-stable/vmlinux...done.
>> (gdb) target remote udp:10.162.100.52:6443
>> warning: The remote protocol may be unreliable over UDP.
>> Some events may be lost, rendering further debugging impossible.
>> Remote debugging using udp:10.162.100.52:6443
>> kgdb_breakpoint (new_kgdb_io_ops=0xffffffff817c52c0) at
>kernel/kgdb.c:1745
>> 1745 wmb(); /* Sync point after breakpoint */
>> (gdb) n
>> 1746 atomic_set(&kgdb_setting_breakpoint, 0);
>> (gdb) n
>> kgdb_register_io_module (new_kgdb_io_ops=0xffffffff817c52c0) at
>> kernel/kgdb.c:1700
>> 1700 }
>> (gdb) n
>> configure_kgdboe () at drivers/net/kgdboe.c:200
>> 200 configured = 2;
>> (gdb) n
>> 203 }
>> (gdb) n
>> init_kgdboe () at drivers/net/kgdboe.c:216
>> 216 if (configured == 2)
>> (gdb) n
>> 214 ret = configure_kgdboe();
>> (gdb) n
>> 216 if (configured == 2)
>> (gdb) n
>> 217 printk(KERN_INFO "kgdboe: debugging over ethernet
>enabled\n");
>> (gdb) n
>> 220 }
>> (gdb) n
>> do_one_initcall (fn=0xffffffff8131836c <init_kgdboe>) at init/main.c:726
>> 726 if (initcall_debug) {
>> (gdb) n
>> 724 ret.result = fn();
>> (gdb) n
>> 726 if (initcall_debug) {
>> (gdb) n
>> 738 if (ret.result && ret.result != -ENODEV && initcall_debug)
>> (gdb) n
>> 736 msgbuf[0] = 0;
>> (gdb) n
>> 738 if (ret.result && ret.result != -ENODEV && initcall_debug)
>> (gdb) n
>> 741 if (preempt_count() != count) {
>> (gdb) n
>> 745 if (irqs_disabled()) {
>> (gdb) n
>> 749 if (msgbuf[0]) {
>> (gdb) n
>> 754 }
>> (gdb) n
>> do_initcalls (unused=<value optimized out>) at init/main.c:763
>> 763 for (call = __early_initcall_end; call < __initcall_end;
>call++)
>> (gdb) n
>> do_basic_setup (unused=<value optimized out>) at init/main.c:786
>> 786 do_initcalls();
>> (gdb) n
>> Ignoring packet error, continuing...
>> Ignoring packet error, continuing...
>> Ignoring packet error, continuing...
>> Ignoring packet error, continuing...
>> Ignoring packet error, continuing...
>> Ignoring packet error, continuing...
>> Ignoring packet error, continuing...
>> ^Z
>> [1]+ Stopped gdb vmlinux
>> nareshbhat@Lenovo-Y310:~/Projects/Development/linux-stable$
>>
>>
>==========================================================================
>=
>>
>> On 2/23/12, Dave, Tushar N <[email protected]> wrote:
>>> Naresh,
>>>
>>> Thanks for your patience and working with me.
>>> I have done testing with 82540EM and 82546GB Intel Ethernet gigabit
>>> controller and found no issues.
>>> To be sure,
>>> I have cloned linux-stable kernel and checkout v2.6.32.41.
>>> Apply kgdboe patches that you sent.
>>> Revert e1000 changes made (i.e. remove [PATCH] e1000: test/debug patch
>>> for
>>> things like netconsole).
>>>
>>> FYI, these cards are very old and EOL. I am not saying that I won't
>>> support
>>> your issue with this card however it may possible that the issue may
>only
>>> occur with the card that you own. If you have any other Intel NIC would
>>> you
>>> give it a try?
>>>
>>> Below is my command line interaction from host. I don't see any errors
>>> and
>>> everything just works fine.
>>>
>>> [tushar@tlinux-devel linux-stable]$ gdb vmlinux
>>> GNU gdb (GDB) Fedora (7.2-52.fc14)
>>> Copyright (C) 2010 Free Software Foundation, Inc.
>>> License GPLv3+: GNU GPL version 3 or later
>>> <http://gnu.org/licenses/gpl.html>
>>> This is free software: you are free to change and redistribute it.
>>> There is NO WARRANTY, to the extent permitted by law. Type "show
>>> copying"
>>> and "show warranty" for details.
>>> This GDB was configured as "i686-redhat-linux-gnu".
>>> For bug reporting instructions, please see:
>>> <http://www.gnu.org/software/gdb/bugs/>...
>>> Reading symbols from
>>> /var/shared/git_work/external_tree/linux-stable/vmlinux...done.
>>> (gdb) target remote udp:192.168.1.5:6443
>>> warning: The remote protocol may be unreliable over UDP.
>>> Some events may be lost, rendering further debugging impossible.
>>> Remote debugging using udp:192.168.1.5:6443
>>> kgdb_breakpoint () at kernel/kgdb.c:1745
>>> 1745 wmb(); /* Sync point after breakpoint */
>>> (gdb) n
>>> 1746 atomic_set(&kgdb_setting_breakpoint, 0);
>>> (gdb) n
>>> 1747 }
>>> (gdb) n
>>> kgdb_tasklet_bpt (ing=<value optimized out>) at kernel/kgdb.c:1634
>>> 1634 atomic_set(&kgdb_break_tasklet_var, 0);
>>> (gdb) n
>>> 1635 }
>>> (gdb) n
>>> tasklet_action (a=<value optimized out>) at kernel/softirq.c:442
>>> 442 tasklet_unlock(t);
>>> (gdb) n
>>> Warning:
>>> Cannot insert breakpoint 0.
>>> Error accessing memory address 0xffffffff81042f97: Unknown error
>>> 4294967295.
>>>
>>> tasklet_unlock (t=0xffffffff817ca840) at include/linux/interrupt.h:454
>>> 454 {
>>> (gdb) n
>>> 456 clear_bit(TASKLET_STATE_RUN, &(t)->state);
>>> (gdb) n
>>> 457 }
>>> (gdb) n
>>> tasklet_action (a=<value optimized out>) at kernel/softirq.c:443
>>> 443 continue;
>>> (gdb) n
>>> 423 {
>>> (gdb) n
>>> 432 while (list) {
>>> (gdb) n
>>> 455 }
>>> (gdb) n
>>> __do_softirq () at kernel/softirq.c:237
>>> 237 trace_softirq_exit(h, softirq_vec);
>>> (gdb) n
>>> 238 if (unlikely(prev_count != preempt_count())) {
>>> (gdb) n
>>> 247 rcu_bh_qs(cpu);
>>> (gdb) n
>>> Warning:
>>> Cannot insert breakpoint 0.
>>> Error accessing memory address 0xffffffff8104447a: Unknown error
>>> 4294967295.
>>>
>>> rcu_bh_qs (cpu=0) at kernel/rcutree.c:111
>>> 111 rdp = &per_cpu(rcu_bh_data, cpu);
>>> (gdb) n
>>> 108 {
>>> (gdb) n
>>> 111 rdp = &per_cpu(rcu_bh_data, cpu);
>>> (gdb) n
>>> 108 {
>>> (gdb) n
>>> 112 rdp->passed_quiesc_completed = rdp->completed;
>>> (gdb) n
>>> 114 rdp->passed_quiesc = 1;
>>> (gdb) n
>>> 115 }
>>> (gdb) n
>>> __do_softirq () at kernel/softirq.c:251
>>> 251 } while (pending);
>>> (gdb) n
>>> 253 local_irq_disable();
>>> (gdb) n
>>> 255 pending = local_softirq_pending();
>>> (gdb) n
>>> 256 if (pending && --max_restart)
>>> (gdb) n
>>> 224 set_softirq_pending(0);
>>> (gdb) n
>>> 226 local_irq_enable();
>>> (gdb) n
>>> 231 if (pending & 1) {
>>> (gdb) n
>>> 251 } while (pending);
>>> (gdb) n
>>> 249 h++;
>>> (gdb) info r
>>> rax 0xffff88002820e770 -131940722088080
>>> rbx 0xffffffff817bc080 -2122596224
>>> rcx 0xdead000000200200 -2401263026316508672
>>> rdx 0x0 0
>>> rsi 0xffffffff817ca848 -2122536888
>>> rdi 0x0 0
>>> rbp 0xffff880028203f30 0xffff880028203f30
>>> rsp 0xffff880028203ed0 0xffff880028203ed0
>>> r8 0x2 2
>>> r9 0x0 0
>>> r10 0xffff88017fac9880 -131934958348160
>>> r11 0xffff88017d9e35c0 -131934992845376
>>> r12 0x6 6
>>> r13 0xffffffff817bbfd8 -2122596392
>>> r14 0x100 256
>>> r15 0x107 263
>>> rip 0xffffffff8104447f 0xffffffff8104447f <__do_softirq+331>
>>> eflags 0x302 [ TF IF ]
>>> cs 0x10 16
>>> ss 0x18 24
>>> ds 0x0 0
>>> es 0x0 0
>>> fs 0x0 0
>>> gs 0x0 0
>>> (gdb) where
>>> #0 __do_softirq () at kernel/softirq.c:249
>>> #1 0xffffffff8100cadc in ?? () at arch/x86/kernel/entry_64.S:1261
>>> #2 0xffff880028203f48 in ?? ()
>>> #3 0xffff880028203f68 in ?? ()
>>> #4 0xffffffff8100e0da in do_softirq () at arch/x86/kernel/irq_64.c:138
>>> Backtrace stopped: frame did not save the PC
>>> (gdb) n
>>> 231 if (pending & 1) {
>>> (gdb) n
>>> 232 int prev_count = preempt_count();
>>> (gdb) n
>>> 233 kstat_incr_softirqs_this_cpu(h - softirq_vec);
>>> (gdb) n
>>> 232 int prev_count = preempt_count();
>>> (gdb) n
>>> 233 kstat_incr_softirqs_this_cpu(h - softirq_vec);
>>> (gdb) n
>>> 235 trace_softirq_entry(h, softirq_vec);
>>> (gdb) n
>>> 236 h->action(h);
>>> (gdb) n
>>> Warning:
>>> Cannot insert breakpoint 0.
>>> Error accessing memory address 0xffffffff81044409: Unknown error
>>> 4294967295.
>>>
>>> run_timer_softirq (h=0xffffffff817bc088) at kernel/timer.c:1217
>>> 1217 {
>>> (gdb) n
>>> 1218 struct tvec_base *base = __get_cpu_var(tvec_bases);
>>> (gdb) n
>>> 1217 {
>>> (gdb) n
>>> 1218 struct tvec_base *base = __get_cpu_var(tvec_bases);
>>> (gdb) n
>>> 1220 perf_event_do_pending();
>>> (gdb) n
>>> Warning:
>>> Cannot insert breakpoint 0.
>>> Error accessing memory address 0xffffffff8104afec: Unknown error
>>> 4294967295.
>>>
>>> perf_event_do_pending () at kernel/perf_event.c:2611
>>> 2611 {
>>> (gdb) n
>>> 2612 __perf_pending_run();
>>> (gdb) n
>>> Warning:
>>> Cannot insert breakpoint 0.
>>> Error accessing memory address 0xffffffff810a09a4: Unknown error
>>> 4294967295.
>>>
>>> __perf_pending_run () at kernel/perf_event.c:2560
>>> 2560 {
>>> (gdb) n
>>> 2564 list = xchg(&__get_cpu_var(perf_pending_head),
>PENDING_TAIL);
>>> (gdb) n
>>> 2560 {
>>> (gdb) n
>>> 2564 list = xchg(&__get_cpu_var(perf_pending_head),
>PENDING_TAIL);
>>> (gdb) n
>>> 2560 {
>>> (gdb) n
>>> 2564 list = xchg(&__get_cpu_var(perf_pending_head),
>PENDING_TAIL);
>>> (gdb) n
>>> 2562 int nr = 0;
>>> (gdb) n
>>> 2564 list = xchg(&__get_cpu_var(perf_pending_head),
>PENDING_TAIL);
>>> (gdb) n
>>> Warning:
>>> Cannot insert breakpoint 0.
>>> Error accessing memory address 0xffffffff8109e1bf: Unknown error
>>> 4294967295.
>>>
>>> __xchg (x=18446744073709551615, ptr=0xffff88002820fa90, size=8)
>>> at
>>> /media/nfs/git_work/external_tree/linux-
>stable/arch/x86/include/asm/cmpxchg_64.h:23
>>> 23
>>> /media/nfs/git_work/external_tree/linux-
>stable/arch/x86/include/asm/cmpxchg_64.h:
>>> No such file or directory.
>>> in
>>> /media/nfs/git_work/external_tree/linux-
>stable/arch/x86/include/asm/cmpxchg_64.h
>>> (gdb) n
>>> 24 in
>>> /media/nfs/git_work/external_tree/linux-
>stable/arch/x86/include/asm/cmpxchg_64.h
>>> (gdb) n
>>> 23 in
>>> /media/nfs/git_work/external_tree/linux-
>stable/arch/x86/include/asm/cmpxchg_64.h
>>> (gdb) n
>>> 24 in
>>> /media/nfs/git_work/external_tree/linux-
>stable/arch/x86/include/asm/cmpxchg_64.h
>>> (gdb) n
>>> 44 in
>>> /media/nfs/git_work/external_tree/linux-
>stable/arch/x86/include/asm/cmpxchg_64.h
>>> (gdb) n
>>> 51 in
>>> /media/nfs/git_work/external_tree/linux-
>stable/arch/x86/include/asm/cmpxchg_64.h
>>> (gdb) n
>>> __perf_pending_run () at kernel/perf_event.c:2565
>>> 2565 while (list != PENDING_TAIL) {
>>> (gdb) n
>>> 2585 }
>>> (gdb) n
>>> perf_event_do_pending () at kernel/perf_event.c:2613
>>> 2613 }
>>> (gdb) n
>>> run_timer_softirq (h=<value optimized out>) at kernel/timer.c:1222
>>> 1222 hrtimer_run_pending();
>>> (gdb) n
>>> Warning:
>>> Cannot insert breakpoint 0.
>>> Error accessing memory address 0xffffffff8104aff1: Unknown error
>>> 4294967295.
>>>
>>> hrtimer_run_pending () at kernel/hrtimer.c:1413
>>> 1413 {
>>> (gdb) n
>>> 1414 if (hrtimer_hres_active())
>>> (gdb) n
>>> Warning:
>>> Cannot insert breakpoint 0.
>>> Error accessing memory address 0xffffffff81059293: Unknown error
>>> 4294967295.
>>>
>>> hrtimer_hres_active () at kernel/hrtimer.c:503
>>> 503 {
>>> (gdb) list
>>> 498
>>> 499 /*
>>> 500 * Is the high resolution mode active ?
>>> 501 */
>>> 502 static inline int hrtimer_hres_active(void)
>>> 503 {
>>> 504 return __get_cpu_var(hrtimer_bases).hres_active;
>>> 505 }
>>> 506
>>> 507 /*
>>> (gdb) c
>>> Continuing.
>>> ^C
>>> Program received signal SIGTRAP, Trace/breakpoint trap.
>>> kgdb_breakpoint () at kernel/kgdb.c:1745
>>> 1745 wmb(); /* Sync point after breakpoint */
>>> (gdb) where
>>> #0 kgdb_breakpoint () at kernel/kgdb.c:1745
>>> #1 0xffffffff810836fb in kgdb_tasklet_bpt (ing=<value optimized out>)
>at
>>> kernel/kgdb.c:1633
>>> #2 0xffffffff81042f8f in tasklet_action (a=<value optimized out>) at
>>> kernel/softirq.c:441
>>> #3 0xffffffff81044409 in __do_softirq () at kernel/softirq.c:236
>>> #4 0xffffffff8100cadc in ?? () at arch/x86/kernel/entry_64.S:1261
>>> #5 0xffff880028203f48 in ?? ()
>>> #6 0xffff880028203f68 in ?? ()
>>> #7 0xffffffff8100e0da in do_softirq () at arch/x86/kernel/irq_64.c:138
>>> Backtrace stopped: frame did not save the PC
>>> (gdb) l
>>> 1740 void kgdb_breakpoint(void)
>>> 1741 {
>>> 1742 atomic_set(&kgdb_setting_breakpoint, 1);
>>> 1743 wmb(); /* Sync point before breakpoint */
>>> 1744 arch_kgdb_breakpoint();
>>> 1745 wmb(); /* Sync point after breakpoint */
>>> 1746 atomic_set(&kgdb_setting_breakpoint, 0);
>>> 1747 }
>>> 1748 EXPORT_SYMBOL_GPL(kgdb_breakpoint);
>>> 1749
>>> (gdb) n
>>> 1746 atomic_set(&kgdb_setting_breakpoint, 0);
>>> (gdb) n
>>> 1747 }
>>> (gdb) n
>>> kgdb_tasklet_bpt (ing=<value optimized out>) at kernel/kgdb.c:1634
>>> 1634 atomic_set(&kgdb_break_tasklet_var, 0);
>>> (gdb) n
>>> 1635 }
>>> (gdb) n
>>> tasklet_action (a=<value optimized out>) at kernel/softirq.c:442
>>> 442 tasklet_unlock(t);
>>> (gdb) n
>>> Warning:
>>> Cannot insert breakpoint 0.
>>> Error accessing memory address 0xffffffff81042f97: Unknown error
>>> 4294967295.
>>>
>>> tasklet_unlock (t=0xffffffff817ca840) at include/linux/interrupt.h:454
>>> 454 {
>>> (gdb) n
>>> 456 clear_bit(TASKLET_STATE_RUN, &(t)->state);
>>> (gdb) n
>>> 457 }
>>> (gdb) n
>>> tasklet_action (a=<value optimized out>) at kernel/softirq.c:443
>>> 443 continue;
>>> (gdb) info r
>>> rax 0xffffffff 4294967295
>>> rbx 0xffffffff817ca840 -2122536896
>>> rcx 0xdead000000200200 -2401263026316508672
>>> rdx 0xffff88002820e3b0 -131940722089040
>>> rsi 0xffffffff817ca848 -2122536888
>>> rdi 0xffffffff817ca840 -2122536896
>>> rbp 0xffff880028203ec0 0xffff880028203ec0
>>> rsp 0xffff880028203ea0 0xffff880028203ea0
>>> r8 0x1 1
>>> r9 0x0 0
>>> r10 0xffff88017fac9880 -131934958348160
>>> r11 0xffffffff817bbeb8 -2122596680
>>> r12 0xffffffff817ca848 -2122536888
>>> r13 0xe3b0 58288
>>> r14 0x0 0
>>> r15 0x1 1
>>> rip 0xffffffff81042f97 0xffffffff81042f97
><tasklet_action+124>
>>> eflags 0x346 [ PF ZF TF IF ]
>>> cs 0x10 16
>>> ss 0x18 24
>>> ds 0x0 0
>>> es 0x0 0
>>> fs 0x0 0
>>> gs 0x0 0
>>> (gdb)
>>>
>>>
>>>
>>>
>>> - Tushar
>>>
>>>
>>>
>>>>-----Original Message-----
>>>>From: Naresh Bhat [mailto:[email protected]]
>>>>Sent: Wednesday, February 22, 2012 4:49 AM
>>>>To: Dave, Tushar N
>>>>Cc: [email protected]
>>>>Subject: Re: [PATCH] kgdboe patch
>>>>
>>>>Hi Tushar,
>>>>
>>>>
>>>>Thank you very much, I have attached my kernel configuration file too
>>>> with
>>>>this e-mail. Since I was suspecting the GDB, I have tried debugging
>>>>
>>>>Host machines:
>>>>1. x86 32bit (FC13 x86 32bit GDB) - Refer my earlier e-mail logs 2.
>x86
>>>>64bit GDB (Debian squeze 64bit GDB) - Logs on host as below
>>>>
>>>>I am still able to reproduce the issue "Ignoring packet error,
>>>>continue..."
>>>>
>>>>Logs on x86 64bit host machine:
>>>>==========================
>>>>nareshbhat@Lenovo-Y310:~/Projects/Development/linux-stable$ gdb vmlinux
>>>>GNU gdb (GDB) 7.0.1-debian Copyright (C) 2009 Free Software Foundation,
>>>>Inc.
>>>>License GPLv3+: GNU GPL version 3 or later
>>>><http://gnu.org/licenses/gpl.html>
>>>>This is free software: you are free to change and redistribute it.
>>>>There is NO WARRANTY, to the extent permitted by law. Type "show
>>>> copying"
>>>>and "show warranty" for details.
>>>>This GDB was configured as "x86_64-linux-gnu".
>>>>For bug reporting instructions, please see:
>>>><http://www.gnu.org/software/gdb/bugs/>...
>>>>Reading symbols from
>>>>/home/nareshbhat/Projects/Development/linux-stable/vmlinux...done.
>>>>(gdb) target remote udp:10.162.100.52:6443
>>>>warning: The remote protocol may be unreliable over UDP.
>>>>Some events may be lost, rendering further debugging impossible.
>>>>Remote debugging using udp:10.162.100.52:6443 kgdb_breakpoint
>>>>(new_kgdb_io_ops=0xffffffff817c52c0) at kernel/kgdb.c:1745
>>>>1745 wmb(); /* Sync point after breakpoint */
>>>>(gdb) n
>>>>1746 atomic_set(&kgdb_setting_breakpoint, 0);
>>>>(gdb) n
>>>>kgdb_register_io_module (new_kgdb_io_ops=0xffffffff817c52c0) at
>>>>kernel/kgdb.c:1700
>>>>1700 }
>>>>(gdb) n
>>>>configure_kgdboe () at drivers/net/kgdboe.c:189
>>>>189 configured = 2;
>>>>(gdb) n
>>>>192 }
>>>>(gdb) n
>>>>init_kgdboe () at drivers/net/kgdboe.c:205
>>>>205 if (configured == 2)
>>>>(gdb) n
>>>>203 ret = configure_kgdboe();
>>>>(gdb) n
>>>>205 if (configured == 2)
>>>>(gdb) n
>>>>206 printk(KERN_INFO "kgdboe: debugging over ethernet
>>>>enabled\n");
>>>>(gdb) n
>>>>209 }
>>>>(gdb) n
>>>>do_one_initcall (fn=0xffffffff8131831b <init_kgdboe>) at
>init/main.c:726
>>>>726 if (initcall_debug) {
>>>>(gdb) n
>>>>724 ret.result = fn();
>>>>(gdb) n
>>>>726 if (initcall_debug) {
>>>>(gdb) n
>>>>738 if (ret.result && ret.result != -ENODEV && initcall_debug)
>>>>(gdb) n
>>>>736 msgbuf[0] = 0;
>>>>(gdb) n
>>>>738 if (ret.result && ret.result != -ENODEV && initcall_debug)
>>>>(gdb) n
>>>>741 if (preempt_count() != count) {
>>>>(gdb) n
>>>>745 if (irqs_disabled()) {
>>>>(gdb) n
>>>>749 if (msgbuf[0]) {
>>>>(gdb) n
>>>>754 }
>>>>(gdb) n
>>>>do_initcalls (unused=<value optimized out>) at init/main.c:763
>>>>763 for (call = __early_initcall_end; call < __initcall_end;
>>>>call++)
>>>>(gdb) n
>>>>do_basic_setup (unused=<value optimized out>) at init/main.c:786
>>>>786 do_initcalls();
>>>>(gdb) n
>>>>n
>>>>Ignoring packet error, continuing...
>>>>Ignoring packet error, continuing...
>>>>Ignoring packet error, continuing...
>>>>Ignoring packet error, continuing...
>>>>^C^Z
>>>>[1]+ Stopped gdb vmlinux
>>>>nareshbhat@Lenovo-Y310:~/Projects/Development/linux-stable$
>>>>
>>>>
>>>>Thanks and Regards
>>>>-Naresh Bhat
>>>>
>>>>
>>>>On 2/22/12, Dave, Tushar N <[email protected]> wrote:
>>>>> Okay. I see what you mean. I will execute the same commands tomorrow
>>>>> and get back to you.
>>>>>
>>>>> -Tushar
>>>>>
>>>>>>-----Original Message-----
>>>>>>From: Naresh Bhat [mailto:[email protected]]
>>>>>>Sent: Wednesday, February 22, 2012 12:04 AM
>>>>>>To: Dave, Tushar N
>>>>>>Cc: [email protected]
>>>>>>Subject: Re: [PATCH] kgdboe patch
>>>>>>
>>>>>>Hi Tushar,
>>>>>>
>>>>>>Thank you very much for your time and efforts.
>>>>>>
>>>>>>With the provided patch I am still able to reproduce the issue :( on
>>>>>>linux-stable (2.6.32.41 kernel). I have attached the target screen
>>>>>>shot and I have the following question
>>>>>>
>>>>>>"Is there any legacy issue between KGDBOE and NAPI ? Is that the
>>>>>>reason KGDBOE is not working on NAPI supported drivers ?" (Well I am
>>>>>>not sure about this)
>>>>>>
>>>>>>I have never faced such issues with any other Ethernet card, in which
>>>>>>drivers does not have NAPI support say e.g. TIGON3 (BCM95786)
>>>>>>
>>>>>>Is it possible to disable the NAPI in E1000 driver ?
>>>>>>
>>>>>>-- Thanks and Regards
>>>>>>Naresh Bhat
>>>>>>
>>>>>>
>>>>>>On Desktop host machine:
>>>>>>
>>>>>>=====================================================================
>=
>>>>>>====
>>>>>>=======
>>>>>>[nareshbhat@nareshbhat linux-stable]$ gdb vmlinux GNU gdb (GDB)
>Fedora
>>>>>>(7.1-34.fc13) Copyright (C) 2010 Free Software Foundation, Inc.
>>>>>>License GPLv3+: GNU GPL version 3 or later
>>>>>><http://gnu.org/licenses/gpl.html>
>>>>>>This is free software: you are free to change and redistribute it.
>>>>>>There is NO WARRANTY, to the extent permitted by law. Type "show
>>>>copying"
>>>>>>and "show warranty" for details.
>>>>>>This GDB was configured as "i686-redhat-linux-gnu".
>>>>>>For bug reporting instructions, please see:
>>>>>><http://www.gnu.org/software/gdb/bugs/>...
>>>>>>Reading symbols from
>>>>>>/mnt/sda3/gitRepositories/opensource-git/linux-stable/vmlinux...done.
>>>>>>(gdb) target remote udp:<target-IP>:6443
>>>>>>warning: The remote protocol may be unreliable over UDP.
>>>>>>Some events may be lost, rendering further debugging impossible.
>>>>>>Remote debugging using udp:<target IP>:6443 kgdb_breakpoint
>>>>>>(new_kgdb_io_ops=<value optimized out>) at kernel/kgdb.c:1748
>>>>>>1748 wmb(); /* Sync point after breakpoint */
>>>>>>(gdb) n
>>>>>>1749 atomic_set(&kgdb_setting_breakpoint, 0);
>>>>>>(gdb) n
>>>>>>kgdb_register_io_module (new_kgdb_io_ops=<value optimized out>) at
>>>>>>kernel/kgdb.c:1703
>>>>>>1703 }
>>>>>>(gdb) n
>>>>>>configure_kgdboe () at drivers/net/kgdboe.c:189
>>>>>>189 configured = 2;
>>>>>>(gdb) n
>>>>>>192 }
>>>>>>(gdb) n
>>>>>>init_kgdboe () at drivers/net/kgdboe.c:205
>>>>>>205 if (configured == 2)
>>>>>>(gdb) n
>>>>>>203 ret = configure_kgdboe();
>>>>>>(gdb) n
>>>>>>205 if (configured == 2)
>>>>>>(gdb) n
>>>>>>206 printk(KERN_INFO "kgdboe: debugging over ethernet
>>>>>>enabled\n");
>>>>>>(gdb) n
>>>>>>209 }
>>>>>>(gdb) n
>>>>>>do_one_initcall (fn=0xc1289be4 <init_kgdboe>) at init/main.c:726
>>>>>>726 if (initcall_debug) {
>>>>>>(gdb) n
>>>>>>724 ret.result = fn();
>>>>>>(gdb) n
>>>>>>726 if (initcall_debug) {
>>>>>>(gdb) n
>>>>>>738 if (ret.result && ret.result != -ENODEV && initcall_debug)
>>>>>>(gdb) n
>>>>>>736 msgbuf[0] = 0;
>>>>>>(gdb) n
>>>>>>738 if (ret.result && ret.result != -ENODEV && initcall_debug)
>>>>>>(gdb) n
>>>>>>741 if (preempt_count() != count) {
>>>>>>(gdb) n
>>>>>>745 if (irqs_disabled()) {
>>>>>>(gdb) n
>>>>>>749 if (msgbuf[0]) {
>>>>>>(gdb) n
>>>>>>754 }
>>>>>>(gdb) n
>>>>>>do_initcalls (unused=<value optimized out>) at init/main.c:763
>>>>>>763 for (call = __early_initcall_end; call < __initcall_end;
>>>>>>call++)
>>>>>>(gdb) n
>>>>>>do_basic_setup (unused=<value optimized out>) at init/main.c:786
>>>>>>786 do_initcalls();
>>>>>>(gdb) n
>>>>>>
>>>>>>Ignoring packet error, continuing...
>>>>>>Ignoring packet error, continuing...
>>>>>>Ignoring packet error, continuing...
>>>>>>Ignoring packet error, continuing...
>>>>>>Ignoring packet error, continuing...
>>>>>>Ignoring packet error, continuing...
>>>>>>^C^Z
>>>>>>[1]+ Stopped gdb vmlinux [nareshbhat@nareshbhat
>linux-
>>>>>>stable]$
>>>>>>
>>>>>>=====================================================================
>=
>>>>>>====
>>>>>>=======
>>>>>>
>>>>>>
>>>>>>
>>>>>>On Wed, Feb 22, 2012 at 10:15 AM, Dave, Tushar N
>>>>>><[email protected]>
>>>>>>wrote:
>>>>>>>
>>>>>>> Correcting the rx_hook (struct netpoll) method as defined in
>>>>>>> include/linux/netpoll.h
>>>>>>>
>>>>>>> Signed-off-by: Tushar Dave <[email protected]>
>>>>>>> ---
>>>>>>>
>>>>>>> drivers/net/kgdboe.c | 10 +---------
>>>>>>> 1 files changed, 1 insertions(+), 9 deletions(-)
>>>>>>>
>>>>>>> diff --git a/drivers/net/kgdboe.c b/drivers/net/kgdboe.c index
>>>>>>> a82ed15..2efa3a6 100644
>>>>>>> --- a/drivers/net/kgdboe.c
>>>>>>> +++ b/drivers/net/kgdboe.c
>>>>>>> @@ -50,20 +50,12 @@ static struct kparam_string kps = {
>>>>>>> .maxlen = MAX_CONFIG_LEN,
>>>>>>> };
>>>>>>>
>>>>>>> -static void rx_hook(struct netpoll *np, int port, char *msg, int
>>>>>>> len,
>>>>>>> - struct sk_buff *skb)
>>>>>>> +static void rx_hook(struct netpoll *np, int port, char *msg, int
>>>>>>> +len)
>>>>>>> {
>>>>>>> int i;
>>>>>>>
>>>>>>> np->remote_port = port;
>>>>>>>
>>>>>>> - /* Copy the MAC address if we need to. */
>>>>>>> - if (use_dynamic_mac) {
>>>>>>> - memcpy(np->remote_mac, eth_hdr(skb)->h_source,
>>>>>>> - sizeof(np->remote_mac));
>>>>>>> - use_dynamic_mac = 0;
>>>>>>> - }
>>>>>>> -
>>>>>>> /*
>>>>>>> * This could be GDB trying to attach. But it could also be
>>>>>>> GDB
>>>>>>> * finishing up a session, with kgdb_connected=0 but GDB
>>>>>>> sending
>>>>>>>
>>>>>
>>>>
>>>>
>>>>--
>>>>"For things to change, we must change"
>>>>-Naresh Bhat
>>>
>>
>>
>> --
>> "For things to change, we must change"
>> -Naresh Bhat
>>
>
>
>--
>"For things to change, we must change"
>-Naresh Bhat
------------------------------------------------------------------------------
Try before you buy = See our experts in action!
The most comprehensive online learning library for Microsoft developers
is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3,
Metro Style Apps, more. Free future releases when you subscribe now!
http://p.sf.net/sfu/learndevnow-dev2
_______________________________________________
E1000-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/e1000-devel
To learn more about Intel® Ethernet, visit
http://communities.intel.com/community/wired