治肾虚不含糖,专注内核性能优化二十年。 https://github.com/KnightKu
发布时间:2013-01-10 18:11:31
刚刚接触内核,在调试过程中用printk打印信息当然是直接有效的办法,但当我们不知到一个函数或者一个模块到底在哪里出了问题时我们可以利用dump_stack有效的找到问题的根源,下面只是简单的给出了使用方法。 我在自己的主机上试了一下dump_stack() Makefile文件 点击(此处)折叠或打开obj-m := hello.oKERNELBUILD :=/lib/modules/$(shell uname -r)/builddefault: ......【阅读全文】
发布时间:2013-01-10 14:45:34
1. 什么是workqueueLinux中的Workqueue机制就是为了简化内核线程的创建。通 过调用workqueue的接口就能创建内核线程。并且可以根据当前系统CPU的个数创建线程的数量,使得线程处理的事务能够并行化。workqueue 是内核中实现简单而有效的机制,他显然简化了内核daemon的创建,方便了用户的编程. 工作队列(workqueue)是另外一种将工作推后执行的形式.工作队列可以把工作推后,交由一个内核线程去执行,也就是说,这个下半部分可以在进程上下文中执行。最重要的就是工作队列允许被重新调度甚至是睡眠。 2. 数据结构我们把推后执行的任务叫做工作(work),描......【阅读全文】