Hi Tushar, Sorry for the delay in reply. I know why you are not able to see invoking kgdboe.c file. In your configuration file KGDBOE is set as M (module).
Please, set it to Y ( * ) - built-in and re-test it. You will be able to reproduce the issue Thanks -Naresh Bhat On 2/28/12, Dave, Tushar N <[email protected]> wrote: >>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 > -- "For things to change, we must change" -Naresh Bhat ------------------------------------------------------------------------------ Virtualization & Cloud Management Using Capacity Planning Cloud computing makes use of virtualization - but cloud computing also focuses on allowing computing to be delivered as a service. http://www.accelacomm.com/jaw/sfnl/114/51521223/ _______________________________________________ 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
