I see. However I doubt it's a driver issue. If loading kgdboe with module works and if built into kernel doesn't!
-Tushar >-----Original Message----- >From: Naresh Bhat [mailto:[email protected]] >Sent: Wednesday, March 14, 2012 11:52 AM >To: Dave, Tushar N >Cc: [email protected] >Subject: Re: [PATCH] kgdboe patch > >If the x86 target booted via NFS, passed the kernel parameter with >kgdbwait, in that case how one can insert the module ? I don't think >it is possible. > >If we make it as a built-in in the kernel the target will be waiting >for the GDB connection over Ethernet with the following command line >arguments in the pxe configuration file. > >e.g. > >DEFAULT bzImage root=/dev/nfs rw ip=dhcp kgdboe=@<target >IP>/eth0,@<Host IP>/ kgdbwait > >On 3/14/12, Dave, Tushar N <[email protected]> wrote: >> The reason I set kgdboe option to M because I was having some issues >(can't >> remember what there were) to make it work. And I though it's good idea >to >> set it up as module. >> Can't you use kgdboe as module? >> >> -Tushar >> >>>-----Original Message----- >>>From: Naresh Bhat [mailto:[email protected]] >>>Sent: Wednesday, March 14, 2012 6:24 AM >>>To: Dave, Tushar N >>>Cc: [email protected] >>>Subject: Re: [PATCH] kgdboe patch >>> >>>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 >> > > >-- >"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
