If the buffer at user side is more then a page, then it may be that complete user space buffer is not available in memory and kernel spend time in processing page fault

I have attached code for module and user program. If anyone is bored over the weekend they are welcome to try and explain the behavior.

Abu Rasheda