随笔分类 -  Embeded

1 2 3 4 5 下一页

RCU(三)
摘要:查阅:https://code.google.com/p/wjcdx-learning/downloads/detail?name=Linux-2.6.35.7-RCU-code-reading.doc&can=2&q= 阅读全文

posted @ 2014-12-31 23:18 阿加

时间管理—— 5 seconds(三)
摘要:如果已经切换到高精度时钟,且支持 动态时钟&NO_HZ===>现在切换到X86 & 3.14.251.tick_period/* * We rearm the timer until we get disabled by the idle code.* Called with interrupts ... 阅读全文

posted @ 2014-12-31 23:15 阿加

workqueue
摘要:v3.14.25每个CPU上有两个work_pool,每个work_pool上有一个worker:work_thread。work_thread从相应work_pool->worklist上取出work_struct进行执行。创建workqueue_struct时,会在每个CPU上都创建一个pool... 阅读全文

posted @ 2014-12-26 00:37 阿加

时间管理(四) ---- SMP更新tick职责处理
摘要:v3.14.25系统初始化时会设定哪个CPU更新 jiffies,谁先运行了这段代码谁负责更新166 static void tick_setup_device(struct tick_device *td,167 +--- 2 lines: struct clock_event_device *... 阅读全文

posted @ 2014-12-21 23:36 阿加

watchdog(二)-----softlockup
摘要:如果CPU可以响应中断,但是在长时间内不能调度(比如禁止抢占时间太长),此时就需要一种机制(softlockup)来检测这种情形。本文基于3.14.25记录下第二种比较严重的“死锁”:禁止抢占的时间太长,此时依旧可以相应中断,但是本CPU上在长时间内没有发生调度。 检测机制:softlockupre... 阅读全文

posted @ 2014-12-14 19:52 阿加

Task Hung
摘要:针对不同级别的进程、CPU上可能发生的"hang",CPU/内核提供了4种检测机制,记录下比较简单的 task hung。?:msleep(1)后,线程A在120s没有得到调度,hung task检测到线程A hung了。debug选项kernel/Makefile: obj-$(CONFIG_DE... 阅读全文

posted @ 2014-12-01 23:21 阿加 阅读(1050) 评论(0) 推荐(0)

Load Balancing(三)
摘要:实时进程的负载均衡在进程创建和销往时进行,所以系统的负载均衡机制,大部分是针对CFS的。v3.14.25负载均衡有两种方式:pull, push:1) pull拉:负载轻的CPU,从负载繁重的CPU pull tasks来运行。这应该是主要的方式,因为不应该让负载本身就繁重的CPU执行负载均衡任务。... 阅读全文

posted @ 2014-12-01 00:06 阿加

Load Balancing(二)
摘要:引述:《Operating System Multilevel Load Balancing》The machine shown in Figure(a) is a NUMA computer with 16 nodes, 64 processors and three memory access ... 阅读全文

posted @ 2014-11-29 22:04 阿加

Load Balancing(一)
摘要:参考:《Operating System Multilevel Load Balancing》Up to kernel version 2.4, the Linux process scheduler had a single shared process queue. When a process... 阅读全文

posted @ 2014-11-29 21:21 阿加

NUMA(一)
摘要:引述自:http://msdn.microsoft.com/en-us/library/ms178144.aspx Operating System Multilevel Load Balancingwhy:看下 sched_domain……对于现有的嵌入式系统来说应该只有numa节点,但是还是记录... 阅读全文

posted @ 2014-11-28 00:16 阿加

ramdisk
摘要:今天在一个android平台上,即使取得root权限也不能修改根目录下的部分文件……意识到这部分文件应该不会有相应固态硬盘的存放位置,一直都在内存中,这显然是ramdisk。为什么会有此记录:需修改类似于ramdisk中的文件。一:ext#http://my.oschina.net/SmileWol... 阅读全文

posted @ 2014-11-14 08:33 阿加

watchdog (一)
摘要:为什么有此记录?A:关闭了watchdog,设定panic_timeout,X时系统竟然重启了。因此,自己看下watchdog。version:3.14, smpRead lockup-watchdog.txtsoftlockup:程序连续持有某CPU资源超过20s watchdog_thresh(... 阅读全文

posted @ 2014-10-18 17:13 阿加

sysrq
摘要:参考自:https://www.kernel.org/doc/Documentation/sysrq.txthttp://en.wikipedia.org/wiki/Magic_SysRq_keyhttp://www.ibm.com/developerworks/cn/linux/l-cn-sysr... 阅读全文

posted @ 2014-10-11 00:15 阿加

CONFIG_CMDLINE & BOARD_KERNEL_CMDLINE
摘要:linux:find ./ -name Kconfig -exec grep 'config *CMDLINE' {} -nH \;android:find ./ -name BoardConfig.mk -exec grep 'BOARD_KERNEL_CMDLINE' {} -nH \; 阅读全文

posted @ 2014-09-23 22:06 阿加

cpu freq limit
摘要:声明:以下内容来自于网络,仅收集但并未修正,有几处不妥。因为电脑故障,并未再次查询引述网址。为什么由此记录: 因为需要在内核中完成一个限制频率的功能:虽然在init程序启动后,可以限定工作频率,但是有些bug是在kernel initialization阶段产生,此时需要及早地限频; 变频技术是指... 阅读全文

posted @ 2014-08-16 09:27 阿加

mmap
摘要:查阅:http://www.cnblogs.com/geneil/archive/2011/12/08/2281222.htmlhttp://my.oschina.net/orion/blog/32218 阅读全文

posted @ 2014-05-02 16:48 阿加

版本控制与vermagic
摘要:http://hychen.wuweig.org/blog/2009/10/09/rao-guo-linux-driver-vermagicjian-cha/cd scriptsgrep 'dirty' ./ -rn 阅读全文

posted @ 2014-04-28 16:17 阿加

make INSTALL_MOD_PATH=path_dir modules_install
摘要:The INSTALL_MOD_PATH variable is needed to install the modules in the target root filesystem instead of your host root filesystem. 阅读全文

posted @ 2014-02-13 21:20 阿加 阅读(815) 评论(0) 推荐(0)

slab着色,可以减少cache conflict miss概率么?
摘要:以内部slab为例,管理区 + object总大小+left_over size = 1page,我们做个极端假设,cache为 direct-mapped caches.1、没有采用slab着色: 页面起始为slab管理区,后接所有object,后接left_over大小空间。如果有两个slab管理区,一个是A,一个是B,那么对于A、B中给出相同的索引时,必定发生conflict miss.2、采用slab着色: 首先看下代码片段:struct kmem_cache *kmem_cache_create(const char *name, size_t size, size_t align. 阅读全文

posted @ 2013-10-11 12:12 阿加 阅读(926) 评论(0) 推荐(0)

内存管理 初始化(八) 至kswapd_init
摘要:至此,内存初始化部分已看完,遗留问题:1、对于unicore或者mips的页表建立都很清楚,但是对于ARM我不清楚: 初始化部分涉及的页表映射建立,我都以unicore架构为准,ARM的页表映射从原理上讲easy,问题在于ARM的页表中没有引入Dirty、Accessed位,因此,对于如何在基于ARM架构的Linux系统上实现页回收就有些疑问,上次和同学看下代码,ARM使用了软件的方法解决了该问题,但是具体方法自己并不清楚. 当然对于新的ARM架构可能在页表项上已支持Dirty、Accessed位。2、kswap的原理、实现?3、对于zone->free_area的free_list的链 阅读全文

posted @ 2013-10-08 17:06 阿加 阅读(2141) 评论(0) 推荐(1)

1 2 3 4 5 下一页

导航