Gary,

On Wed, 10 May 2006, Gary Schumacher wrote:

> 
>    We are making use of the lis_register_driver_qlock_option method to
>    remove the qlock protection on some of our drivers and have some
>    question  on  the  correct  way  to  use it.  If the driver is a clone
>    driver

If you mean that you are using the option in an attempt to remove private
locks from your fully MP-safe drivers, that would be a bad idea from the
perspective of STREAMS design.  Fully MP-safe drivers are always preferred
to using any STREAMS synchronization.  Also, the synchronization added to
LiS 2.18.0 has never been tested and fails inspection in a number of places.

It is easy to crash or lock a kernel on LiS 2.18 on SMP kernels (does not
even have to be an SMP machine).

OpenSS7 project drivers lock up easinly on LiS 2.18 in this fashion and
use private locks and are MP-safe.  The very same drivers run on Linux
Fast-STREAMS under full SMP without any locking problems.

If you are considering using LiS syncrhonization mechanisms because you
are experiencing kernel locks or crashes on SMP, the problem is most
likely LiS, not the locking in your driver.

> 
>    I suspect that we would use the major number returned by the register
>    call.  What is the queue locking state of the clone driver and do we
>    need to control this also?

Yes lis_register_driver_qlock_option uses the major number returned by the
register call and is applicable to all clone minors of the major device
number.

--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