mzubair wrote:
Hi Jim,
Thanks for the reply. It looks like they included this 'compat_ioctl'
function pointer in the latest kernel trees. My kernel is 2.6.5.
Do BKL is just like any spin_lock? Will it block and lock the entire
kernel? Even stop I/O to the disk?
dunno. It is the BKL, and is an early and conservative solution to the
race problem, kernel-wide. Its been whittled away for many versions,
implying that it warrants that attention.
U have the source, and know to look at lock_kernel().
You can tell me :-)
On 6/14/06, Jim Cromie <jim.cromie@xxxxxxxxx> wrote:
Mohammad Nayyer Zubair wrote:
> Hi all,
>
> I am working on this process which has a lot of pthreads (around 25)
> and 4 of them issue a lot of ioctl calls to my kernel module. I notice
> that as more pthreads start issuing ioctls, system performance
> decreases.
>
> These threads are writing data to Fibre-Channel attached scsi storage.
>
> Is it possible the ioctls are slowing down the entire system, not just
> the usermode process?
>
yes - possibly, esp considering existence of these:
[PATCH] macros to detect existance of unlocked_ioctl and ioctl_compat
*From: *Michael S. Tsirkin
*Date: * Thu Jan 06 2005 - 09:06:51 EST
from the unlocked_* version, Id guess that lock you observed below is
the BKL,
and it certainly could be a choke point, esp as youre getting many
calls to the ioctl.
> I see sys_ioctl() does a lock_kernel()
--
Kernelnewbies: Help each other learn about the Linux kernel.
Archive: http://mail.nl.linux.org/kernelnewbies/
FAQ: http://kernelnewbies.org/faq/