All of lore.kernel.org
 help / color / mirror / Atom feed
* 8xx_io/enet.c
@ 2002-12-10 10:19 Kári Davíðsson
  2002-12-10 10:42 ` [linuxppc-embedded:] 8xx_io/enet.c Reinhard Schwillinsky
  2002-12-10 10:46 ` 8xx_io/enet.c Joakim Tjernlund
  0 siblings, 2 replies; 4+ messages in thread
From: Kári Davíðsson @ 2002-12-10 10:19 UTC (permalink / raw)
  To: linuxppc-embedded


Hello,

I am hitting the following code (i.e. the printk() is reached) in the interrupt handler for the ethernet on a custom 823e 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 interface operating over TCP/IP.

Is it safe to ignore this "error" or is it a real bug that should be investigated?

I am a litle unclear on the ethernet operation in whole.

Thanks, for any comment.

K.D.

** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [linuxppc-embedded:] 8xx_io/enet.c
  2002-12-10 10:19 8xx_io/enet.c Kári Davíðsson
@ 2002-12-10 10:42 ` Reinhard Schwillinsky
  2002-12-10 10:46 ` 8xx_io/enet.c Joakim Tjernlund
  1 sibling, 0 replies; 4+ messages in thread
From: Reinhard Schwillinsky @ 2002-12-10 10:42 UTC (permalink / raw)
  To: Kári Davíðsson; +Cc: linuxppc-embedded


Kári Davíðsson wrote:
> Hello,
>
> I am hitting the following code (i.e. the printk() is reached) in the interrupt handler for the ethernet on a custom 823e 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 interface operating over TCP/IP.

As far as I remember "BSY" in an 8xx SCC means that no more receive
buffers are available. This happens when the driver software isn't fast
enough to return currently received buffers to the SCC. This can occur
when too few buffers are allocated or at very high data rates.


>
> Is it safe to ignore this "error" or is it a real bug that should be investigated?

I don't know the current version of the enet driver but I think it's
"save" to ignore that message but you should check why that occurs. You
can increase the number of buffers allocated for the rx part of that
particular SCC.

>
> I am a litle unclear on the ethernet operation in whole.

This has nothing to do with ethernet directly! Only a received ethernet
packet cannot be stored. Higher protocols (f.e. TCP) should resend the
missing data!


rgs Reinhard


--
----------------------------------------------------
Reinhard Schwillinsky        Tel.: ++43/1/205 255/210
Maxxio technologies GmbH     Fax.: ++43/1/205 255/900
Prinz Eugen Strasse 8        A-1040 Vienna/Austria


** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/

^ permalink raw reply	[flat|nested] 4+ messages in thread

* RE: 8xx_io/enet.c
  2002-12-10 10:19 8xx_io/enet.c Kári Davíðsson
  2002-12-10 10:42 ` [linuxppc-embedded:] 8xx_io/enet.c Reinhard Schwillinsky
@ 2002-12-10 10:46 ` Joakim Tjernlund
  1 sibling, 0 replies; 4+ messages in thread
From: Joakim Tjernlund @ 2002-12-10 10:46 UTC (permalink / raw)
  To: =?UNKNOWN?Q?K=E1ri_Dav=ED=F0sson?=, linuxppc-embedded


>
> Hello,
>
> I am hitting the following code (i.e. the printk() is reached) in the interrupt handler for the ethernet on a custom 823e
> 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 interface operating over TCP/IP.
>
> Is it safe to ignore this "error" or is it a real bug that should 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/

^ permalink raw reply	[flat|nested] 4+ messages in thread

* RE: [linuxppc-embedded:] 8xx_io/enet.c
@ 2002-12-10 12:05 Kári Davíðsson
  0 siblings, 0 replies; 4+ messages in thread
From: Kári Davíðsson @ 2002-12-10 12:05 UTC (permalink / raw)
  To: Reinhard Schwillinsky; +Cc: linuxppc-embedded


> -----Original Message-----
> From: Reinhard Schwillinsky [mailto:rsw@maxxio.at]
> Sent: 10. desember 2002 10:43
> To: Kári Davíðsson
> Cc: linuxppc-embedded@lists.linuxppc.org
> Subject: Re: [linuxppc-embedded:] 8xx_io/enet.c
>
[snip snap]
> >
> > I am a litle unclear on the ethernet operation in whole.
>
> This has nothing to do with ethernet directly! Only a
> received ethernet
> packet cannot be stored. Higher protocols (f.e. TCP) should
> resend the
> missing data!

Yes that is the reason for my question... I.e. should I just trust the
TCP protocol....

But enabling CONFIG_ENET_BIG_BUFFERS got rid of the problem.

Thanks,

K.D.

>
>
> rgs Reinhard
>
>
> --
> ----------------------------------------------------
> Reinhard Schwillinsky        Tel.: ++43/1/205 255/210
> Maxxio technologies GmbH     Fax.: ++43/1/205 255/900
> Prinz Eugen Strasse 8        A-1040 Vienna/Austria
>
>

** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2002-12-10 12:05 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2002-12-10 10:19 8xx_io/enet.c Kári Davíðsson
2002-12-10 10:42 ` [linuxppc-embedded:] 8xx_io/enet.c Reinhard Schwillinsky
2002-12-10 10:46 ` 8xx_io/enet.c Joakim Tjernlund
  -- strict thread matches above, loose matches on Subject: below --
2002-12-10 12:05 [linuxppc-embedded:] 8xx_io/enet.c Kári Davíðsson

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.