Jared,

On Thu, 12 Dec 2002, Jared Riley wrote:

> Hi,
> 
> >There are several things to bear in mind when contrasting LiS
> >STREAMS with other SMP STREAMS implementations:
> >  
> >
> The implementation of streams we are comparing to are OpenUnix 8 (or 
> whatever it is called now), and Solaris 8.  We don't run SMP on anything 
> else.
> 
> >LiS STREAMS uses agressive multiprocessing.  That is it will
> >drive as many processors as it can through a module's putq
> >routine.  This is drastically difference than most STREAMS
> >implementations on SMP.
> >
> >Solaris runs modules single-threaded by default, and provides
> >the barriers facility for limiting the number of processors into
> >a putq routine.  The most typical Solaris module or driver uses
> >the default (only one processor through the module at a time).
> >
> Solaris runs modules multi-threaded, but they let you put in perimiters 
> to make your life  easier.  You have to explicitly say what kind of 
> perimiter setup you want.  Our Solaris drivers all made use of this 
> facility until about May.
> 
> OpenUnix allows you to bind a driver to a single processor so that you 
> can use splstr around the bits that need protection from interrupts. 
>  This nifty little feature is also broken :)  Our drivers were getting 
> run on every processor.
> 
> As a result of our problems with OU8, we converted all of our drivers to 
> use the locking mechanism provided by the OS.  So we use mutexes on 
> Solaris, LOCKs on OU8, and spin_locks on Linux.  Aside from the 
> different nomenclature, everything is now the same on each OS.

Take a look at the locking mechanism for LiS that I presented in another
note of this thread.  You might not be aware that (at least some versions
of) LiS can re-enter put and service routines, potentially with other
processors.

--brian

-- 
Brian F. G. Bidulock    ¦ The reasonable man adapts himself to the ¦
[EMAIL PROTECTED]    ¦ world; the unreasonable one persists in  ¦
http://www.openss7.org/ ¦ trying  to adapt the  world  to himself. ¦
                        ¦ Therefore  all  progress  depends on the ¦
                        ¦ unreasonable man. -- George Bernard Shaw ¦

_______________________________________________
Linux-streams mailing list
[EMAIL PROTECTED]
http://gsyc.escet.urjc.es/mailman/listinfo/linux-streams

Reply via email to