Steve,

On Mon, 13 Feb 2006, Steve Schefter wrote:

> Brian F. G. Bidulock wrote:
> 
> >  - For LiS I will rip the ioctl conversion hash table and the cdrom
> >    conversion functions from the system map and override the CDROM
> >    ioctls with a function that checks for character or block device and
> >    then either calls the CDROM conversion or calls the STREAMS
> >    conversions.
> > 
> >  - For Linux Fast-STREAMS I will take the same approach before kernel
> >    2.6.11.  For kernel 2.6.11 and beyond I will define the compat_ioctl
> >    file operation to perform device specific conversions. (LiS cannot
> >    handle unlocked ioctls so this approach is pointless for LiS.)
> 
> Why does LiS need the kernel lock for ioctls?

Because it is has many races, is not thread safe, and locks on SMP
kernels.  Running unlocked ioctls would like introduce an additional
set of problems in this regard that might negatively affect existing
drivers.

> What about using compat_ioctl() for LiS and have the underlying function
> grab the kernel lock before it does anything else?

Because the locked ioctl path does not need to release the kernel lock
in the first place.  Also because I don't care to do too much work on
LiS as Linux Fast-STREAMS is superior.

Besides, the RH EL4 2.6.9 kernel is here to stay for quite a while and it
does not support compat_ioctl.

Do you think it really makes that much difference?

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