nez at samba.gr.jp
Mon May 21 05:21:42 GMT 2001
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().
Kensuke Nezu, nez at samba.gr.jp
Auditor , Samba Users Group in Japan
More information about the samba-technical