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