
Linux内核篇
王wwww
这个作者很懒,什么都没留下…
展开
-
linux 内核之block trim BLKDISCARD过程
对SSD进行trim,是通过ioclt发送BLKDISCARD命令完成的。 下面是block层ioctl的调用栈。 sys_ioctl->do_vfs_ioctl->block_ioctl->blkdev_ioctl->blkdev_issue_discard->__blk_run_queue->scsi_request_fn->.... 具体通过代码讲解BLKDISCARD执行原创 2017-08-09 09:37:45 · 8576 阅读 · 0 评论 -
linux 内核缓冲区管理之slab机制
【原创】 未经允许,请勿转载 linux 内核采用一种称为"slab"的缓冲区分配和管理的方法。在slab方法中,每种重要的数据结构都有自己专用的缓冲区队列,每种数据结构都有相应的构造constructor和析构destrucor函数。 slab管理特点,每种对象的缓冲区队列并非由各个对象直接构成,而是由一连串的大块slab构成,而每个大块中则包含了若干同种的对象。一原创 2017-08-15 10:54:24 · 1502 阅读 · 0 评论 -
linux pagecache bdi writeback 机制
(原创,未经允许,请勿转载) 第一部分 pagecache write概述 1. pagecache write的过程,即非direct IO的写,通过系统调用sys_write写下来的数据,是先在内核的pagecache中分配一块pages,然后将数据写到pages; 2.之后便通过balance_dirty_pages_ratelimmited来检查dirty page是否超过预原创 2017-08-22 16:27:44 · 2801 阅读 · 0 评论