摘要:
为了性能,同一类型的softirq有可能在不同的CPU上并发执行, 如果一个tasklet在processor A上被调度执行,那么它永远也不会同时在processor B上执行,也就是说,tasklet是串行执行的(注:不同的tasklet还是会并发的),不需要考虑重入的问题 如果一个中断处理函数 阅读全文
摘要:
dtc将dts编译为dtb dtb其实是有一定格式的,叫做fdt,这是一个协议规范; 内核会根据fdt的格式进行解析; 阅读全文
摘要:
为什么要有slub 伙伴子系统是以4k * 2^order分配内存,往往驱动分配内存用不了4k,必然会有大量的内存碎片,为了解决这一个问题,提出了slub; slub能分配多大的内存?从slub中想分配多大就多大吗? 从slub中分配的内存大小是固定的,在kmem_cache_create中传入参数 阅读全文
摘要:
  }} 阅读全文
摘要:
dup_task_struct sched_fork copy_mm copy_thread_tls 阅读全文
摘要:
为什么需要PELT? 之前CFS以每个运行队列为单位跟踪负载;存在几个问题: 一个运行队列存在很多个调度实体,所以无法存在当前的负载来源; 即使工作负载相对稳定的情况下,在rq级别跟踪负载,其值也会产生很大变化。(为什么?) 为了解决以上问题:提出了PETL算法,PELT算法跟踪每个调度实体; 如何 阅读全文
摘要:
预备处理 do_page_fault do_anonymous_page do_fault do_wp_page 阅读全文
摘要:
  阅读全文
摘要:
 阅读全文