public inbox for ecos-discuss@sourceware.org
 help / color / mirror / Atom feed
* [ECOS] eth_recv out of MBUFs
@ 2011-07-20 19:16 Stanislav Meduna
  2011-07-20 21:27 ` Stanislav Meduna
  2011-08-05  7:52 ` Lambrecht Jürgen
  0 siblings, 2 replies; 20+ messages in thread
From: Stanislav Meduna @ 2011-07-20 19:16 UTC (permalink / raw)
  To: ecos-discuss

Hi,

I am quite reproducibly able to produce

  eth_recv out of MBUFs

in the FreeBSD stack. The setup is two incoming TCP connections
sending data, a UDP socket sending data, pinging the device,
closing and reopening the TCP connections a few times and
to pull and put back the ethernet cable.

The device then never recovers. The partner sends ARP requests
with no response from eCos, as there is no mbuf to accept them.
The eCos never send anything. eth_drv_tickle_devices runs, but
finds IF_IS_EMPTY(&ifp->if_snd) true and never touches
the interface. Maybe it wants to ARP first, but was unable
to send the request - I don't know. Unless I am blind
I am caling tx_done for every packet I got into send
(but I am going to double-check this).

The mbufs as shown by cyg_net_show_mbufs are full of DATA
with short size (60 or 64) and flags 2 (M_PKTHDR).

Anyone has seen something like that? I am not very familiar
with the TCP/IP stacks in general - so it is quite problematic
for me to debug something there. Are there some constraints
of the "mbuf space has to be larger than tcp window of active
connections" type or something like that?

I am reluctant to try to "fix" it enlarging the space for mbufs,
as I think this should never happen regardless of mbufs and I am
also on a quite memory-constrained device where every 100 kB
matter.

Thanks for any hints
-- 
                                       Stano

-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss

^ permalink raw reply	[flat|nested] 20+ messages in thread
* [ECOS] eth_recv out of MBUFs
@ 2010-07-16  8:26 cyl cyl
  2010-07-16 11:52 ` James Hunter
  2010-07-17 12:44 ` John Mills
  0 siblings, 2 replies; 20+ messages in thread
From: cyl cyl @ 2010-07-16  8:26 UTC (permalink / raw)
  To: ecos-discuss

 Hello!
I got warning: eth_recv out of MBUFs, when I was writing to a
connection(frequently) which is NOT  NORMALLY closed (hardware is
taken out). Usually "write" returns -1,  but sometimes it shows that
message. I'm using ecos3.0 by the way.
Anything will be helpful !
Thank you!

--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss

^ permalink raw reply	[flat|nested] 20+ messages in thread
* [ECOS]  eth_recv out of MBUFs
@ 2001-10-16  9:21 Christoph Csebits
  2001-10-16 14:55 ` Jonathan Larmour
  0 siblings, 1 reply; 20+ messages in thread
From: Christoph Csebits @ 2001-10-16  9:21 UTC (permalink / raw)
  To: eCos mailing list

hi,

i am working on a FCC driver for the MPC8260ADS.
(FCC driver is based on the Viper FEC driver)
cvs-version 02-Oct-2001

i am getting "warning: eth_recv out of MBUFs" messages
after while running the tcp_echo - "test suite".
sending only 100 packets instead of 1024 works fine.

What does this message mean, where should i
start in my driver code.

Any suggestions are appreciated

regards, christoph

target log:
INK connection from 172.17.2.1:3993
SOURCE connection from 172.17.2.1:3996
Using 100 buffers of 8192 bytes each, 0%  background load
Set no background load
Set no background load
439 ticks elapsed, 3273 kloops predicted for an idle system
actual kloops 3084, CPU was 94%  idle during transfer
Set no background load
Set no background load
Final load[1458] = 742341 => 1% 
Net malloc:
  count:     80, min:       0.18, max:       1.17, total:      38.65, ave:       0.47
Net free:
  count:     32, min:       0.35, max:       4.50, total:      23.12, ave:       0.71
Mbuf alloc:
  count:   4109, min:       0.24, max:       6.23, total:    1603.69, ave:       0.38
Mbuf free:
  count:   3747, min:       0.32, max:       1.08, total:    1771.50, ave:       0.47
Cluster alloc:
  count:    200, min:       0.24, max:       0.53, total:      70.28, ave:       0.35
Checksum:
  count:   3689, min:       0.18, max:       7.91, total:    3214.81, ave:       0.86
Net memcpy:
  count:   7119, min:       0.02, max:      21.57, total:    4152.86, ave:       0.58
Net memset:
  count:   1128, min:       0.05, max:       1.77, total:     245.93, ave:       0.21
-- 

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

end of thread, other threads:[~2011-11-22 17:50 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-07-20 19:16 [ECOS] eth_recv out of MBUFs Stanislav Meduna
2011-07-20 21:27 ` Stanislav Meduna
2011-08-05  7:52 ` Lambrecht Jürgen
2011-08-09  6:37   ` Stanislav Meduna
2011-08-09 12:55     ` Wayne Visser
2011-08-11 16:52       ` Stanislav Meduna
2011-11-22 17:50         ` Stefan Sommerfeld
  -- strict thread matches above, loose matches on Subject: below --
2010-07-16  8:26 cyl cyl
2010-07-16 11:52 ` James Hunter
2010-07-17 12:44 ` John Mills
2010-07-18 21:07   ` Ross Younger
2010-07-19  1:55     ` John Mills
2010-07-20  7:45   ` cyl cyl
2010-07-21  1:12     ` John Mills
2010-07-21  1:58       ` cyl cyl
2001-10-16  9:21 Christoph Csebits
2001-10-16 14:55 ` Jonathan Larmour
2001-10-16 17:19   ` Rosimildo da Silva
2001-10-17  1:49     ` Peter Graf
2001-10-17  1:03   ` Christoph Csebits

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).