RE: 8xx_io/enet.c
From: Kári Davíðsson <hidden>
Date: 2002-12-10 12:03:30
Duhhh, I was not even running with CONFIG_ENET_BIG_BUFFERS enabled. Enabling this got rid of the error.. Regarding your patch, then 20% throughput increase looks very tempting 8-).... Thanks and sorry for the noise, K.D.
-----Original Message----- From: Joakim Tjernlund [mailto:joakim.tjernlund@lumentis.se] Sent: 10. desember 2002 10:47 To: Kári Davíðsson; linuxppc-embedded@lists.linuxppc.org Subject: RE: 8xx_io/enet.cquoted
Hello, I am hitting the following code (i.e. the printk() isreached) in the interrupt handler for the ethernet on a custom 823equoted
board in arch/ppc/8xx_io/enet.c /* Check for receive busy, i.e. packets coming but no place to * put them. This "can't happen" because the receive interrupt * is tossing previous frames. */ if (int_events & SCCE_ENET_BSY) { cep->stats.rx_dropped++; printk("CPM ENET: BSY can't happen.\n"); } Clearly this can happen, even though the comment sais otherwise. This happens for a "high" datarate sunrpc interfaceoperating over TCP/IP.quoted
Is it safe to ignore this "error" or is it a real bug thatshould be investigated? hmm, not sure it's safe to ignore this "error", chances are that receive gets "stuck" since there won't be any more RX interrupts until at least one RX BD is freed. Try increasing the number of RX BD's(CONFIG_ENET_BIG_BUFFERS, will increase TX and RX BD's to 32). You can also try my patch, see http://lists.linuxppc.org/linuxppc-embedded/200210/msg00272.html or http://lists.linuxppc.org/linuxppc-embedded/200210/msg00317.html Version 2 has a small bug(need to move the invalidate_dcache_range). It's still under verification so there may be problems with it. Jocke
** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/