Kernel compile options are optimized, very different from userspace.
you can use the same object (memcpy.o) to link userspace program and kernel module.
-----原始邮件-----
发件人:"bing zhu" <zhubohong12@xxxxxxxxx>
发送时间:2018-07-08 22:03:48 (星期日)
收件人: "Valdis Kletnieks" <valdis.kletnieks@xxxxxx>
抄送: kernelnewbies@xxxxxxxxxxxxxxxxx
主题: Re: Question about memcpy
void *p = malloc(4096 * max);start = usec();for (i = 0; i < max; i++) {memcpy(p + i * 4096, page, 4096);}end = usec();printf("%s : %d time use %lu us \n", __func__, max,end - start);
static unsigned long usec(void){struct timeval tv;gettimeofday(&tv, 0);return (unsigned long)tv.tv_sec * 1000000 + tv.tv_usec;}
I'm don't think it's really precise but i did notice a difference ,
2018-07-08 2:44 GMT+08:00 <valdis.kletnieks@xxxxxx>:
On Sat, 07 Jul 2018 19:36:47 +0800, bing zhu said:
> and in user space i do the same thing,I noticed that kernel is faster than
> user ,
How did you measure the times? Doing this right is actually harder than it looks...
_______________________________________________ Kernelnewbies mailing list Kernelnewbies@xxxxxxxxxxxxxxxxx https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies