Subject: Re: data transfer limit using ioctl()?

From: Arnd Bergmann <[email-masked]>
Date: Wed, 13 Dec 2006 18:09:02 +0100

On Wednesday 13 December 2006 10:24, Parav Pandit wrote:
>   How much maximum data transfer should be done using ioctl() to driver?

No, there is no technical limit. Usually, it's considered good style
to transfer only a basic data type with fixed length though, like uint32_t
or loff_t, not a long buffer. You should also make sure you have a fixed
length buffer, and that it's the same size on 32 and 64 bit kernels.

For long non-structured transfers, use read/write operations if possible.

>   I can also use the Netlink sockets to transfer data from user to kernel.
>   Is there any limit that we should consider for choosing ioctl() to driver or using netlink sockets?
>    
No, that decision does not depend on the data size mostly, but more on
what you want to do.

	Arnd <><