今天折腾了一上午零拷贝,发现了许多许多问题,总结如下。
所谓零拷贝:就是避免了从内核向用户空间传送数据、再回传过去的过程。
而传统常用的场景:需要拷贝到用户空间处理,再写回去。
概括来说,零拷贝减少了用户态和核态之间的切换开销
Linux从2.4就支持了sendfile系统调用/函数,可以直接用来零拷贝。
我的应用场景现在需要拷贝文件,本以为sendfile耶可以的(看名字吗),结果折腾半天总是Invalid argument。。。
看了半天么,发现man中赫然写着:[......]
今天折腾了一上午零拷贝,发现了许多许多问题,总结如下。
所谓零拷贝:就是避免了从内核向用户空间传送数据、再回传过去的过程。
而传统常用的场景:需要拷贝到用户空间处理,再写回去。
概括来说,零拷贝减少了用户态和核态之间的切换开销
Linux从2.4就支持了sendfile系统调用/函数,可以直接用来零拷贝。
我的应用场景现在需要拷贝文件,本以为sendfile耶可以的(看名字吗),结果折腾半天总是Invalid argument。。。
看了半天么,发现man中赫然写着:[......]