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
_______________________________________________
[email protected]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel