Hello,

I did the IP forwarding test for USB->Ethernet 1 direction as below.

USB--->TSEC1 IP forwarding:

   PowerPC               LINKSYS USB200M       Generator/Capturer
+-----------------+     +-----------------+      +-------------+
|        USB port |<----| AX88172+RTL8201 |<-----|PORT1        |
|                 |     +---------------- +      |             |
|                 |                              |             |
|      Ethernet 1 |----------------------------->|PORT2        |
+-----------------+                              +-------------+

When I sent the 64 bytes size packet and if I sent packet with
throughput more than 47 Mbps, the kernel error will happen. The error
message is the flowing, the eth2 port is usb net port. I noticed that
the error message is triggered by NO available memory in the USB net
drivers, that is saying we can not alloc_skb from system. The code is in
drivers/usb/net/usbnet.c

static void rx_submit (struct usbnet *dev, struct urb *urb, gfp_t flags)
{
        struct sk_buff          *skb;
        struct skb_data         *entry;
        int                     retval = 0;
        unsigned long           lockflags;
        size_t                  size = dev->rx_urb_size;

        if ((skb = alloc_skb (size + NET_IP_ALIGN, flags)) == NULL) {
                if (netif_msg_rx_err (dev))
                        devdbg (dev, "no rx skb");
                usbnet_defer_kevent (dev, EVENT_RX_MEMORY);
                usb_free_urb (urb);
                return;
        }
...
}

I think the issue is happening in the usb net drivers, not USB EHCI host
drivers. If anybody have any idea, experiences or patch, please give me.
TIA.

David,
I will take a look the AX88772 issue on big endian according your
feedback. thank your help.

Regards,
Dave

===
eth2: kevent 2 may have been dropped
events/0: page allocation failure. order:0, mode:0x20
Call Trace:
[C0605930] [C00085D0]  (unreliable)
[C0605960] [C004A130] 
[C06059B0] [C0062D08] 
--- Exception: c0605a80[C06059E0] [C00631E8]  (unreliable)
[C06059F0] [C016D5A0] 
[C0605A10] [C0162794] 
[C0605A50] [C0162BCC] 
[C0605A80] [C0147E18] 
[C0605A90] [C01557F4] 
[C0605AA0] [C0156E4C] 
[C0605AE0] [C0157834] 
[C0605B30] [C0158354] 
[C0605BF0] [C0148C3C] 
[C0605C00] [C0042B90] 
[C0605C20] [C0044350] 
[C0605C40] [C00056D0] 
[C0605C50] [C000F7BC] 
--- Exception: 501[C0605D30] [C016DED0] 
[C0605D40] [C016DC2C] 
[C0605D50] [C0174D48] 
[C0605D70] [C016258C] 
[C0605D80] [C0163E00] 
[C0605DA0] [C00268C4] 
[C0605DC0] [C00264D0] 
[C0605DF0] [C000577C] 
[C0605E00] [C002657C] 
[C0605E10] [C00056D4] 
[C0605E20] [C000F7BC] 
--- Exception: 501[C0605EE0] [C0250000]  (unreliable)
[C0605F00] [C0063CB8] 
[C0605F20] [C0033488] 
[C0605F40] [C0033638] 
[C0605FC0] [C00378D0] 
[C0605FF0] [C000FF54] 
Mem-info:
DMA per-cpu:
CPU    0: Hot: hi:   90, btch:  15 usd:  14   Cold: hi:   30, btch:   7
usd:   2
Active:405 inactive:2728 dirty:0 writeback:0 unstable:0 free:184
slab:60948 mapped:186 pagetables:12
DMA free:736kB min:2036kB low:2544kB high:3052kB active:1620kB
inactive:10912kB present:260096kB pages_scanned:0 all_unreclaimable? no
lowmem_reserve[]: 0 0
DMA: 0*4kB 0*8kB 0*16kB 1*32kB 1*64kB 1*128kB 0*256kB 1*512kB 0*1024kB
0*2048kB 0*4096kB = 736kB
Swap cache: add 0, delete 0, find 0/0, race 0+0
Free swap  = 0kB
Total swap = 0kB
Free swap:            0kB
65536 pages of RAM
1184 reserved pages
455 pages shared
0 pages swap cached
eth2: kevent 2 may have been dropped
events/0: page allocation failure. order:0, mode:0x20
Call Trace:
[C0605930] [C00085D0]  (unreliable)
[C0605960] [C004A130] 
[C06059B0] [C0062D08] 
--- Exception: c0605a80[C06059E0] [C00631E8]  (unreliable)
[C06059F0] [C016D5A0] 
[C0605A10] [C0162794] 
[C0605A50] [C0162BCC] 
[C0605A80] [C0147E18] 
[C0605A90] [C01557F4] 
[C0605AA0] [C0156E4C] 
[C0605AE0] [C0157834] 
[C0605B30] [C0158354] 
[C0605BF0] [C0148C3C] 
[C0605C00] [C0042B90] 
[C0605C20] [C0044350] 
[C0605C40] [C00056D0] 
[C0605C50] [C000F7BC] 
--- Exception: 501[C0605D30] [C016DED0] 
[C0605D40] [C016DC2C] 
[C0605D50] [C0174D48] 
[C0605D70] [C016258C] 
[C0605D80] [C0163E00] 
[C0605DA0] [C00268C4] 
[C0605DC0] [C00264D0] 
[C0605DF0] [C000577C] 
[C0605E00] [C002657C] 
[C0605E10] [C00056D4] 
[C0605E20] [C000F7BC] 
--- Exception: 501[C0605EE0] [C0250000]  (unreliable)
[C0605F00] [C0063CB8] 
[C0605F20] [C0033488] 
[C0605F40] [C0033638] 
[C0605FC0] [C00378D0] 
[C0605FF0] [C000FF54] 
Mem-info:
DMA per-cpu:
CPU    0: Hot: hi:   90, btch:  15 usd:  14   Cold: hi:   30, btch:   7
usd:   2
Active:405 inactive:2728 dirty:0 writeback:0 unstable:0 free:184



-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to