精简内核mod的两个办法……

网上乱搜,发现了几个精简kernel mod的办法:

仅仅适用于CentOS 5

零、如何查看已经加载的内核模块
/sbin/lsmod
一、使用blacklisk
vi /etc/modprobe.d/blacklist
blacklist cdrom
二、直接禁用
vi /etc/modprobe.conf
alias 内核模块名字 off
三、mkinit
注意新生成的**.img必须不存在,我这里直接禁用了raid、usb、lvm、dmraid(软raid)[......]

继续阅读

关于sendfile、splice等零拷贝函数的小结

今天折腾了一上午零拷贝,发现了许多许多问题,总结如下。

所谓零拷贝:就是避免了从内核向用户空间传送数据、再回传过去的过程。
而传统常用的场景:需要拷贝到用户空间处理,再写回去。
概括来说,零拷贝减少了用户态和核态之间的切换开销

Linux从2.4就支持了sendfile系统调用/函数,可以直接用来零拷贝。

我的应用场景现在需要拷贝文件,本以为sendfile耶可以的(看名字吗),结果折腾半天总是Invalid argument。。。
看了半天么,发现man中赫然写着:[......]

继续阅读