There are some separate eCos configuration items that may be worth tinkering
with. I am in a hurry, and don't have ready access to the eCos config tool,
so the exact names of the config items are not included, but the description
should be enough to locate each one.
1) the tick timer list organization - sorted by time vs. non-sorted. The
default config timing option is to use an unsorted list of timers, with an
explanation to the effect that avoiding the overhead of a sorted by
expiration time is more efficient. However the unsorted method requires
that the entire timing list be scanned for timers to execute each tick.
Use of the sorted timing list is recommended.
2) compiler optimization level - our development was also on a powerPC
platform, and we chose level 2 for best performance (difference between 2 &
3 is an arbitrary one, but either is much better than 0 or 1).
3) there is no mention of the level of eCos run-time checks that are
effective on the test load - if you have not already minimized them ...
PS. I missed the discussion threads that referenced what the caching
resolution entailed - the MPC's caching is a confusing, but extremely
effective one - if the system startup does not currently fully utilize
what's available to the hardware (both read and write), or portions of
memory excluded due to occaisional flakiness, then that's another area to
investigate - this is from one who has "been there and done that".
----- Original Message -----
From: "Matt Jerdonek" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>; <[EMAIL PROTECTED]>
Sent: Monday, September 12, 2005 9:24 PM
Subject: Re: [ECOS] eCos Performance/ eth0,eth1 Routing problem (number of
hops!)
I don't see any problem with the routing tables. It's
curious (but not necessarily problematic) that your
ethx interfaces are also the default gateways.
I have a similar setup, except I have ppp instead of
eth1. I am able to send a ping request to the PPP
interface, and have the ping response exit the
ethernet interface. So, I'm reasonable confident that
your setup will work. You can verify that by pinging
the eth1 interface through the eth0 interface.
Make sure that your ping source has a default gateway
of the eth0 and the ping destination has a default
gateway of eth1. If that's correctly setup, then I
think you're just going to have to dig into the
source.
-- Matt
--- [EMAIL PROTECTED] wrote:
Indeed, it was cache enabling problem.
Here is the new numbers which are getting closer but
still needs some work:
Linux: max 26,000 packets (60 bytes) per second
(single burst) with no drops
eCos: max 23,500 packets (60 bytes) per second
(single burst) with no drops
I DO HAVE A SETUP ISSUE which I need help. I want to
route packet coming
in from IP address: 192.168.1.80 to eth0 (IP ROUTE)
to eth1 and eth1 to
route to its destination ip: 192.168.2.80. As you
see the purpose is to
test performance of my driver and eCos vs Linux by
SmartBits. Here is an
snap-shot of my eCos route table:
UCI DEFAULT GATEWAY TABLE
Interface Gateway IP addr MAC addr
--------------------------------------------------
--------------------------------------------------
Routing tables
Destination Gateway Mask
Flags Interface
0.0.0.0 192.168.1.8 0.0.0.0 UG
eth0
127.0.0.0 127.0.0.1 255.0.0.0 UG
lo0
127.0.0.1 127.0.0.1 U
lo0
192.168.1.0 192.168.1.0 255.255.255.0 U
eth0
192.168.2.0 192.168.2.0 255.255.255.0 U
eth1
Arp table
IP addr MAC addr Flags
----------------------------------------------
192.168.1.8 02:10:12:01:00:08 UHCL
192.168.1.80 00:00:00:00:00:01 UHC
192.168.2.8 02:10:12:01:00:09 UHCL
192.168.2.80 00:00:00:00:00:02 UHC
Interface statistics
IFP: eth0
IP: 192.168.1.8, Broadcast: 192.168.1.255, Netmask:
255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU: 1500,
Metric: 0
Rx - Packets: 0, Bytes: 0, Tx - Packets: 0,
Bytes: 0
IFP: eth1
IP: 192.168.2.8, Broadcast: 192.168.2.255, Netmask:
255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU: 1500,
Metric: 0
Rx - Packets: 0, Bytes: 0, Tx - Packets: 0,
Bytes: 0
IFP: lo0
IP: 127.0.0.1, Broadcast: 127.0.0.1, Netmask:
255.0.0.0
UP LOOPBACK RUNNING MULTICAST MTU: 16384,
Metric: 0
Rx - Packets: 0, Bytes: 0, Tx - Packets: 0,
Bytes: 0
The ip routing between eth0 and eth1 is NOT
happening. I am starting to
think the number of "hops" is the issue. Here is
initialization prints. Is
there any other issue you see. Thanks.
BOOTP[eth0] op: REPLY
htype: Ethernet
hlen: 6
hops: 0
xid: 0x0
secs: 0
flags: 0x0
hw_addr: 02:10:12:01:00:08
client IP: 192.168.1.8
my IP: 192.168.1.8
server IP: 192.168.1.8
gateway IP: 192.168.1.8
options:
subnet mask: 255.255.255.0
IP broadcast: 192.168.1.255
gateway: 192.168.1.8
BOOTP[eth1] op: REPLY
htype: Ethernet
hlen: 6
hops: 0
xid: 0x0
secs: 0
flags: 0x0
hw_addr: 02:10:12:01:00:09
client IP: 192.168.2.8
my IP: 192.168.2.8
server IP: 192.168.2.8
gateway IP: 192.168.2.8
options:
subnet mask: 255.255.255.0
IP broadcast: 192.168.2.255
gateway: 192.168.2.8
--
Before posting, please read the FAQ:
http://ecos.sourceware.org/fom/ecos
and search the list archive:
http://ecos.sourceware.org/ml/ecos-discuss
__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com
--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss
--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss