Two network interfaces
Leon Pollak
leonp at plris.com
Wed Mar 12 19:40:12 UTC 2008
On Tuesday, 11 בMarch 2008, Thomas Doerfler (nt) wrote:
> Leon, this behaviour is NOT normal. Maybe the second driver really
> consumes all the remaining mbufs? Remember, each driver will pull in a
> certain bunch of mbufs to equip the rx buffer queue, no matter whether
> the PHY has a link or not. So when you have two interfaces, you will
> need twice as many mbufs ready than with one interface.
>
> Maybe you can increase the global mbuf/cluster count in the network
> configuration?
Great! As usual Thomas is not merciful and again hit the bull in the eye:-))
Many many thanks.
I searched the docs and did not find any considerations about the mbuf
capacity and mbuf cluster capacity. The manual says that it's default values
are 64K and 128K.
I was sure that for the simple ping it will be enough, but....
Now, I begin to understand the importance of the issue and will be very glad
for the link to the place where are any considerations about these numbers.
> By the way: Could you fix the networking problem you had some weeks ago?
No, I left it for now, as missing the first after power-up 1-2 packets is not
so serious bug.
------
On Tuesday, 11 בMarch 2008, Chris Johns wrote:
>Thomas is correct with the need to correctly size the network buffers. When
>getting new hardware up and running I tend to over allocate to remove this
>from being a problem.
Well, the same question remains: what is overallocate?
>I see from your trace below the driver is 'rtems_enet_driver_attach' how-ever
>there are a few of these in the RTEMS tree so I do not know what hardware you
>are using.
This is FCC of MPC8247, derivative of MPC8260.
>I saw from an earlier post mention of the mpc8260ads driver so the remainder
>is just guess work. Do you have both controllers in a single device sharing
>some resources ? If you do then I would check what is being shared. For
>example BD allocation and interrupts are always tricky to sort out.
No, everything is separate.
>I hope this helps.
And very much!
---------------------------------------------
Searching rtems wiki for mbuf I found the "Controlling MBUF Allocation" paper.
As the first stage to improve the performance it suggests to use static mbuf
assignment. Does somebody know how does this influence on the performance?
And why somebody will prefer dynamic allocation against static (for an
embedded system)?
Many many thanks.
--
Leon
More information about the users
mailing list