Help Please

NEZU, Kensuke nez at samba.gr.jp
Mon May 21 05:21:42 GMT 2001


Hi, Ulf.

Ulf Bertilsson wrote:
> > There are some reasons:
> >   - inetd is usually optimized with running operating system.
> >   - inetd is usually enougth small resources requirements for fork().
> >   - master smbd/nmbd (invoked at boot time) always inclease their
> >     resources, and become 'fat process.' It causes fork() cost higher.
> 
> Any idea what would be the best for non posix systems ?
> What would scale best on small 'embeded' systems ?

If you said 'non posix systems' means 'non exist inetd,' I have two idea:
First, the best but most difficult way is re-construct samba to take
strategic buffer management such as malloc()/free() not to produce fragments
owned by system malloc library. It is because some of these incleased resource
seems to be owned by system malloc library's fragments.
Secondly, I would think more realistic and reasonable way is execve() samba-self
after fork(). This costs equivalent to fork/execed from inetd. And this does
not inherit parent daemon processes' resource. Of course, if system has XPG4
specification vfork(), the costs is less than fork().

Regards,
--
----------
Kensuke Nezu, nez at samba.gr.jp
Auditor , Samba Users Group in Japan




More information about the samba-technical mailing list