porting samba/CIFS server

Bob Mastors bob.mastors at pcisys.net
Wed May 12 16:13:54 GMT 1999


I once looked at the issues of porting Samba into an RTOS environment.
Here are the ones I can remember.

You will need a really good file system. Many RTOSs have
crap for file systems. Samba of course leverages off of the Unix host
file system which typically is quite good.

Samba depends on the being able to fork and exit with typical unix semantics
such as memory management and protected process address space.
Many RTOSs do not provide this capability.

Samba uses large chunks of contiguous memory, both on the stack
and from the heap. This is a problem if you do not have memory mapping
in your hardware (or your RTOS does not support it).

Any changes you make to Samba to work in an RTOS environment
you need to make available to the rest of the world, according to the GPL.
This can be a plus or minus depending on your business model.
If you are successful porting Samba to an RTOS, I am certain there will
be lots of other companies that want to leverage off of your work.

Obtaining high performance is mostly an exercise in persistence. Don't
expect any one thing (including zero-copy) to get you more than a 5%
performance improvement. Plan on spending most of your time working
on the ethernet driver, socket layer, file system, volume manager, and disk
driver.
In other words, Samba should be the least of your performance worries.

Personally I do not think it is worth the effort to port Samba into
a traditional RTOS environment. The project is very high risk and
you will not know if it fails until it is too late. The more sane approach
would be to pick Linux as your RTOS. Then you just have the problem
of porting Linux to new hardware (which has been done lots of times before).
Samba of course already runs under Linux.

Bob
www.crosstor.com

----- Original Message -----
From: Zdenek Radouch <zdenek at mediaone.net>
To: Multiple recipients of list <samba-technical at samba.org>
Sent: Tuesday, May 11, 1999 8:23 PM
Subject: porting samba/CIFS server


>
> I am looking for software engineers interested in developing a CIFS server
> for a commercial
> product (the CIFS server is just one of the components).  We are planning
> to buy/license
> an existing server code and port it to our platform.  The samba server is
> one of the candidates
> (mostly because I assume I can find people that will know the code and
will
> want to work on it).
>
> This will be a non-trivial port, since the target platform is an RTOS on
> proprietary hardware
> specifically designed to deliver very high performance (i.e., far from the
> standard Unix/POSIX box).
> The port will also require modifications for high performance and
> scalability, for example
> separating the metadata and data processing in order to achieve "zero
copy"
> I/O.
>
> If you are interested and would like to get involved in the project in any
> capacity (from a project leader
> to an occasional consultant) on a full time or part time basis, please
drop
> me a line and I will get
> in touch with you to discuss the details.
>
> Thank you.
> -Zdenek Radouch
>



More information about the samba-technical mailing list