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&#174; Ethernet, visit 
http://communities.intel.com/community/wired

Reply via email to