Re: unlocked_ioctl explanation

2011-05-19 Thread Ezequiel García
Thanks Dave for your answer. I guess the same question has been answered 
several times before. For the interest reader, I've found these:

http://unix.stackexchange.com/questions/4711/what-is-the-difference-between-ioctl-unlocked-ioctl-and-compat-ioctl

http://lwn.net/Articles/119652/

http://www.mail-archive.com/kernelnewbies@nl.linux.org/msg00269.html

I have a remaining question, though. In the lwn article I read this:

The ioctl() system call has long been out of favor among the
kernel developers, who see it as a completely uncontrolled entry point into
the kernel.

Is this pointing that ioctl() is planning to get removed from the kernel ? In 
that case what's the currently preferred mechanism for giving 'control 
commands' to device drivers ?

Thanks again and greetings,
Ezequiel.

--- El mié 18-may-11, Dave Hylands dhyla...@gmail.com escribió:

De: Dave Hylands dhyla...@gmail.com
Asunto: Re: unlocked_ioctl explanation
Para: Ezequiel García elezegar...@yahoo.com.ar
Cc: kernelnewbies@kernelnewbies.org
Fecha: miércoles, 18 de mayo de 2011, 3:20

Hi Ezequiel,

2011/5/17 Ezequiel García elezegar...@yahoo.com.ar

 I am aware that ioctl has been superseeded by unlocked_ioctl. I've been 
 looking through patches and this seems to be BKL related.

 Could someone explain further the differences and reasons for the new ioctl 
 prototype and name?

 I guess 'unlocked' means BKL is no longer held inside ioctl, right?

Exaclty.

 What precautions should we take when using unlocked_ioctl ?

Well, since there is no BKL, your ioctl can get preempted by another
process and that other process just might happen to make an ioctl call
to your driver.

So your driver has to protect itself from being called by 2 threads
simultaneously, if that's a problem.

Some drivers won't need any extra protection. Unfortunately, it really
depends on exactly what your driver code does.

--
Dave Hylands
Shuswap, BC, Canada
http://www.davehylands.com

___
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
___
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies


Re: unlocked_ioctl explanation

2011-05-19 Thread Daniel Baluta
2011/5/19 Ezequiel García elezegar...@yahoo.com.ar

 Thanks Dave for your answer. I guess the same question has been answered 
 several times before. For the interest reader, I've found these:

 http://unix.stackexchange.com/questions/4711/what-is-the-difference-between-ioctl-unlocked-ioctl-and-compat-ioctl

 http://lwn.net/Articles/119652/

 http://www.mail-archive.com/kernelnewbies@nl.linux.org/msg00269.html

 I have a remaining question, though. In the lwn article I read this:

 The ioctl() system call has long been out of favor among the kernel 
 developers, who see it as a completely uncontrolled entry point into the 
 kernel.

 Is this pointing that ioctl() is planning to get removed from the kernel ? In 
 that case what's the currently preferred mechanism for giving 'control 
 commands' to device drivers ?

I would bet for 'sysfs'.

thanks,
Daniel.

___
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies