上一页 1 ··· 3 4 5 6 7 8 9 下一页
摘要: 在Linux内核中likely和unlikely函数有两种(只能两者选一)实现方式,它们的实现原理稍有不同,但作用是相同的,下面将结合linux-2.6.38.8版本的内核代码来进行讲解。 1、对__builtin_expect的封装 它们的源代码如下: [cpp] view plaincopypr 阅读全文
posted @ 2015-04-10 16:26 跑马灯的忧伤 阅读(1279) 评论(0) 推荐(0) 编辑
摘要: 朋友,你相信,一只蝴蝶在北京拍拍翅膀,将使得纽约几个月后出现比狂风还厉害的龙卷风吗?看过那部经典的影片蝴蝶效应的朋友们一定会说,这不就是蝴蝶效应吗.没错.蝴蝶效应其实是混沌学理论中的一个概念.它是指对初始条件敏感性的一种依赖现象.蝴蝶效应的原因在于蝴蝶翅膀的运动,导致其身边的空气系统发生变化,并引起 阅读全文
posted @ 2015-04-10 16:10 跑马灯的忧伤 阅读(7330) 评论(1) 推荐(0) 编辑
摘要: mmc io的读写从mmc_queue_thread()的获取queue里面的request开始。 先列出调用栈,看下大概的调用顺序, 下面的内容主要阐述这些函数如何工作。 host->ops->request() // sdhci_request() mmc_start_request() mmc 阅读全文
posted @ 2015-04-08 11:36 跑马灯的忧伤 阅读(1286) 评论(0) 推荐(0) 编辑
摘要: 在学习Linux驱动的过程中,遇到一个宏叫做container_of。 该宏定义在include/linux/kernel.h中,首先来贴出它的代码: /** * container_of - cast a member of a structure out to the containing st 阅读全文
posted @ 2015-04-07 14:17 跑马灯的忧伤 阅读(279) 评论(0) 推荐(0) 编辑
摘要: tasklet Tasklet的使用比较简单,只需要定义tasklet及其处理函数并将两者关联 例子: Void my_tasklet_func(unsigned long) DECLARE_TASKLET(my_tasklet.my_tasklet_func,data) 代码DECLARE_TAS 阅读全文
posted @ 2015-04-07 11:24 跑马灯的忧伤 阅读(1227) 评论(0) 推荐(0) 编辑
摘要: 自旋锁 自旋锁(spinlock)是用在多个CPU系统中的锁机制,当一个CPU正访问自旋锁保护的临界区时,临界区将被锁上,其他需要访问此临界区的CPU只能忙等待,直到前面的CPU已访问完临界区,将临界区开锁。自旋锁上锁后让等待线程进行忙等待而不是睡眠阻塞,而信号量是让等待线程睡眠阻塞。自旋锁的忙等待 阅读全文
posted @ 2015-04-07 11:10 跑马灯的忧伤 阅读(925) 评论(0) 推荐(0) 编辑
摘要: [驱动注册]platform_driver_register()与platform_device_register() 设备与驱动的两种绑定方式:在设备注册时进行绑定及在驱动注册时进行绑定。 以一个USB设备为例,有两种情形: (1)先插上USB设备并挂到总线中,然后在安装USB驱动程序过程中从总线 阅读全文
posted @ 2015-04-07 11:01 跑马灯的忧伤 阅读(775) 评论(0) 推荐(0) 编辑
摘要: Android的休眠唤醒主要基于wake_lock机制,只要系统中存在任一有效的wake_lock,系统就不能进入深度休眠,但可以进行设备的浅度休眠操作。wake_lock一般在关闭lcd、tp但系统仍然需要正常运行的情况下使用,比如听歌、传输很大的文件等。本文主要分析driver层wake_loc 阅读全文
posted @ 2015-04-03 11:05 跑马灯的忧伤 阅读(3101) 评论(0) 推荐(0) 编辑
摘要: 原文地址:schedule_delayed_work()用法作者:Valley 第一篇 工作队列 在Linux内核中,对下半部(或者说推后执行的工作)的处理方式有好几种,包括BH(bottom half),软中断,Tasklets和工作队列等等。在2.6内核中,大名鼎鼎的BH处理被废除,新增了更方便 阅读全文
posted @ 2015-04-03 11:04 跑马灯的忧伤 阅读(6826) 评论(0) 推荐(1) 编辑
摘要: 最近在做视频输出相关的东西,对于预留给framebuffer的内存使用不是很清楚,现在找到一些资料整理一下,以备使用。if (想看使用方法) goto 使用方法;对于一个系统来讲,会有很多的外设,那么这些外设的管理都是通过CPU完成。那么CPU在这个过程中是如何找到外设的呢?尽管在一个系统中会有诸... 阅读全文
posted @ 2015-04-03 09:12 跑马灯的忧伤 阅读(775) 评论(0) 推荐(0) 编辑
上一页 1 ··· 3 4 5 6 7 8 9 下一页