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
>
------------------------------------------------------------------------------
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