上一页 1 ··· 20 21 22 23 24 25 26 27 28 ··· 32 下一页
摘要: 统计参数只会在这里设置: 但是这貌似都是处理大页的情况哪,小页呢? 其中,mm_counter_file是在include 目录下设置的,注意一下,这个函数返回的是页的类型,有两种类型,一种是: SHMEMPAGES 感觉和ANON/FILE是两种不同的考察维度呀,也就是说匿名页和filebacke 阅读全文
posted @ 2017-10-29 23:09 honpey 阅读(398) 评论(0) 推荐(0) 编辑
摘要: 内存cgroup的值都是从哪里来的呀 page_counter_charge是增加page_counter的计数, try_charge函数和mem_cgroup_migrate函数是增加普通进程内存统计的重要方法; try_charge< mem_cgroup_try_charge< 然后在许多缺 阅读全文
posted @ 2017-10-28 21:14 honpey 阅读(707) 评论(0) 推荐(0) 编辑
摘要: cfq调度是block层最复杂的一个调度器,主要思想是是说每个进程平均享用IO带宽,实现方法是在时间上对进程进行划分,以此达到平均占用IO的目的。带着几个问题去看cfq 1)现在进程来了之后,是插入到某一个队列中去,或者说是进程的IO插入到其中; 2)上面提到的队列是啥子咧?是一个接收BIO的队列? 阅读全文
posted @ 2017-10-25 08:20 honpey 阅读(3197) 评论(0) 推荐(1) 编辑
摘要: 恢复内容开始 今天查看iotop的原理,竟然发现了IO优先级一说,IO是block层cfs调度器中的概念 block层也有一个类似于CPU的调度算法 对进程分成三个级别:RT,BE,IDLE 其中,RT就是最高优先级的调度,类似与CPU调度中的RT调度,当有RT进程在的时候,其他的进程不会享受到磁盘 阅读全文
posted @ 2017-10-14 11:49 honpey 阅读(807) 评论(0) 推荐(0) 编辑
摘要: [ 113.180820] sgs->group_load:2039,sum_nr_running:2,sum_weighted_load:2039,sgs->group_capacity:1024, avg_load:2039,group_weight:1 [ 113.181144] sgs->group_load:2026,sum_nr_running:2,sum_weighted_lo... 阅读全文
posted @ 2017-08-03 23:14 honpey 阅读(260) 评论(0) 推荐(0) 编辑
摘要: 这周问过公司里专家,说cpu-load是说CPU的计算能力,但是从代码实在不知道cpu-load说的是啥! SD_SHARE_CPUPOWER 0X8000 domain的成员共享cpu power! SD_SHARE_PKG_RESOURCES domain成员共享pkg resource! 为什 阅读全文
posted @ 2017-07-31 23:09 honpey 阅读(1023) 评论(0) 推荐(0) 编辑
摘要: CFS调度器的原理明白了但是有个地方,搜遍了整个网络也没找到一个合理的解释: if (delta > ideal_runtime) resched_task(rq_of(cfs_rq)->curr); 这出代码是在patch:f685ceaca sched: Strengthen buddies a 阅读全文
posted @ 2017-07-26 22:49 honpey 阅读(705) 评论(0) 推荐(0) 编辑
摘要: RCU看了好几遍,但是一直没有看明白,今明两天一定要攻下RCU这座大山 RCU是Read-Copy-Update 读的时候,该CPU上禁止抢占,也就是说这个CPU是不允许调度的【是设置了什么环境变量吗?在schedule_tick中会判断这个环境变量,然后会禁止去设置PREET的值】,也就是说这个C 阅读全文
posted @ 2017-07-25 22:41 honpey 阅读(350) 评论(0) 推荐(0) 编辑
摘要: 确定新的负载的时候,代码中给出的公式是: (old×(2^i-1) + new))/2^i 整理下来是: old + (new-old)/2^i i的范围是[1, 4],也就是说,i的层级越高,那么new的影响就越低,从而使得函数曲线更加平滑一些 如果当前的new比old高,那么会对new有个补偿, 阅读全文
posted @ 2017-07-25 22:17 honpey 阅读(259) 评论(0) 推荐(0) 编辑
摘要: 最近一套方案涉及到内核线程之间的同步,用到了函数wait_event_interruptible_timeout函数,大致是这样: A:是一个后台的线程,平常没事就睡觉,有时被唤醒,或者每5分钟醒一次看看; B:普通线程,负责唤醒后台的线程让它干活! 此处唤醒的操作使用到的函数是wake_up,然后 阅读全文
posted @ 2017-06-04 15:50 honpey 阅读(6052) 评论(0) 推荐(0) 编辑
上一页 1 ··· 20 21 22 23 24 25 26 27 28 ··· 32 下一页