threads and VMS [Re: dce/rpc "client" api]

Bob Mastors mastors at
Wed Aug 23 22:23:11 GMT 2000

A single NT client running netbench will have multiple outstanding
CIFS commands to a server at many points in time. In other words
the NT client will not always wait for a CIFS command to complete
before issuing another one.
To take advantage of this you could keep the samba model of one
smbd per connection but redesign smbd to use posix threads.
This won't make the security context issues any different than
in the current smbd design.

This may provide a performance boost but it will be very dependent
on where the bottlenecks in the entire system are.

The other thing to consider is that netbench does not specify
what user account to use or what permissions should be on the share.
Normally netbench is run with the same user account for all netbench
clients. Also the share permissions should be empty or whatever
is the simplest way to allow everyone full access.

So using this information you could design smbd to use posix threads
that would be efficient for running benchmarks but maybe not
so efficient for running real-world loads.

Anyway it sure is a lot easier solving these problems in a kernel environment.

Bob Mastors
CrosStor Software
719 785-4226

----- Original Message ----- 
From: Jeremy Allison <jeremy at>
To: Luke Kenneth Casson Leighton <lkcl at>
Cc: Gerald Carter <gcarter at>; John E. Malmberg <wb8tyw at>; samba-technical <samba-technical at>
Sent: Wednesday, August 23, 2000 10:51 AM
Subject: Re: threads and VMS [Re: dce/rpc "client" api]

> Luke Kenneth Casson Leighton wrote:
> > 
> > there may actually be a technical / speed issue that would, with some
> > performance penalty, speed samba up, for small numbers of clients and/or
> > for workstations that are running large numbers of simultaneous
> > programs/threads, where each program/thread on said workstation is making
> > significant usage of a single samba server.
> > 
> > [i.e. it's a multiplexing issue].
> No it's a POSIX thread security context issue.
> pthreads don't carry around a thread specific uid/gid list.
> Each smb user context needs to. Therefore it's very hard
> to get an efficient, pthread enabled user-mode smb server.
> Jeremy.
> -- 
> --------------------------------------------------------
> Buying an operating system without source is like buying
> a self-assembly Space Shuttle with no instructions.
> --------------------------------------------------------

More information about the samba-technical mailing list