[Xorp-users] Need suggestion about Embedded platform requirments.

Ben Greear greearb at candelatech.com
Sat Jun 26 14:13:32 PDT 2010


On 06/26/2010 11:47 AM, naresh raga wrote:
> Hello Ben and Surabh,
> I am also working to port xorp onto Embedded platform(arm-based).I have
> seen all your conversations in the mailing list.You have worked a lot in
> reducing the memory footprint of xorp.I am worried about the CPU
> requirements.
> I have observed while starting xorp using ./xorp_rtrmgr with a small
> boot file having interfaces and fea enabled is more CPU resource
> intensive.Using top I have observed CPU and memory requirements (peak
> values) as:
> Process %CPU %MEM
> xorp_rtrmgr 6 0.3
> xorp_fea 4 0.2
>
> These values are for xorp-1.7 built with optimization(compiler flags
> used-Os ) and the build size in /usr/local/xorp is around 21MB after
> stripping the binaries.My systems had two CPUs each of 3.00GHz and RAM
> is 1.9GB.So on calculating 10% of 6.00GHz=600MHz (nearly) is the CPU
> needed to start xorp with such a small configuration.Are there ways in
> reducing CPU .

You might try xorp.ct 1.8 or top-of-tree xorp.ct.  It has all of my patches,
which includes some startup optimizations I did some time back.  1.7 has
only a few of my patches, and very little of the optimizations I worked
on back when I was trying to run 100 instances of xorp on a single machine.

It's still a pretty heavy CPU load to startup though.

> I need suggestion what could be the minimum CPU and RAM requirement for
> complete xorp to work on embedded target.Or
> Quagga(unicast)+Xorp(multicast):For this combination what could be the
> CPU and RAM requirements of an embedded target to work.
> I think saurabh can come up with a good reply for the latter case as he
> is working on this combination on embedded platform.

You really need to try it out and see how it works.  You could use optimization
tools (gprof, valgrind, etc) to try to find hot-spots in your particular
configuration for further optimizations.  Also, I'd compile out anything
you don't need.  Getting rid of IPv6 support is likely to help CPU usage a small
bit, for instance.

Also, if you get it cross-compiling for your ARM target, please post
instructions how you did it and I'll add to the BUILD_NOTES file.

Thanks,
Ben


-- 
Ben Greear <greearb at candelatech.com>
Candela Technologies Inc  http://www.candelatech.com



More information about the Xorp-users mailing list