易截截图软件、单文件、免安装、纯绿色、仅160KB

Linux 2.6内核的新锁机制 RCU

http://www.ibm.com/developerworks/cn/linux/l-rcu/
函数摘要:
C代码
/*读者在读取由RCU保护的共享数据时使用该函数标记它进入读端临界区。*/ 
rcu_read_lock()  
/* 
该函数与rcu_read_lock配对使用,用以标记读者退出读端临界区。夹在这两个函数之间的代码区称为"读端临界区"(read-side critical section)。读端临界区可以嵌套,如图3,临界区2被嵌套在临界区1内。 
*/ 
rcu_read_unlock()  
 
/* 
该函数由RCU写端调用,它将阻塞写者,直到经过grace period后,即所有的读者已经完成读端临界区,写者才可以继续下一步操作。如果有多个RCU写端调用该函数,他们将在一个grace period之后全部被唤醒。 
*/ 
synchronize_rcu()  
/* 

数 call_rcu 也由 RCU 写端调用,它不会使写者阻塞,因而可以在中断上下文或 softirq 使用,而
synchronize_rcu、synchronize_kernel 和synchronize_shced
只能在进程上下文使用。该函数将把函数 func 挂接到 RCU回调函数链上,然后立即返回。一旦所有的 CPU
都已经完成端临界区操作,该函数将被调用来释放删除的将绝不在被应用的数据。参数 head 用于记录回调函数 func,一般该结构会作为被 RCU
保护的数据结构的一个字段,以便省去单独为该结构分配内存的操作。需要指出的是,函数 synchronize_rcu
的实现实际上使用函数call_rcu。 
*/ 
void fastcall call_rcu(struct rcu_head *head,  
                                void (*func)(struct rcu_head *rcu))  
 
/* 
写端调用,把一个指针p赋为指针v。 
*/ 
rcu_assign_pointer()  
typeof(p) rcu_assign_pointer(p, typeof(p) v);  
 
/* 
获得指针p的解引用值 
*/ 
rcu_dereference()  
typeof(p) rcu_assign_pointer(p, typeof(p) v); 
http://group.ednchina.com/1036/21283.aspx
http://blog.chinaunix.net/u1/51562/showart_1341707.html
http://www.360doc.com/content/10/0106/17/701200_12820595.shtml


相关文档:

Linux设备模型之input子系统详解

一:前言
最近在研究android的sensor driver,主要是E-compass,其中用到了Linux input子系统.在网上也看了很多这方面的资料,感觉还是这篇分析的比较细致透彻,因此转载一下以便自己学习,同时和大家分享!
(这篇博客主要是以键盘驱动为例的,不过讲解的是Linux Input Subsystem,可以仔细的研究一下!)
键盘驱动将检 ......

Linux网卡配置(一) 通过文件配置网卡

1)/etc/sysconfig/network-scripts/ifcfg-interface-name
配置文件ifcfg-interface-name包含了初始化接口所需的大部分详细信息。其中interface-name将根据网卡的类型和排序而不同,一般其名字为eth0、eth1、ppp0等,其中eth表示以太(eth0)类型网卡,0表示第一块网卡,1表示第二块网卡,而ppp0则表示第一个point-to-poir ......

[zz]在 linux 下使用 CMake 构建应用程序

原文地址:http://www.ibm.com/developerworks/cn/linux/l-cn-cmake/index.html
本文介绍了一个跨平台的自动化构建系统 CMake 在 linux 上的使用方法。 CMake 是一个比 automake 更加容易使用的工具,能够使程序员从复杂的编译连接过程中解脱出来。文中通过一些例子介绍使用 CMake 处理多源文件目录的方法、查找并使用其他 ......

教你轻松实现用SCOM监控Linux主机

最近由于工作需要,埋头研究了一下如何利用Scom来监控开源平台的系统,经过努力后获得小小的成果-成功监控了redhat系统。小弟在开心之余当然不忘把成果拿出来share一下,顺便发扬与人分享的新世纪雷锋精神^_^
  要想使用Scom成功监控Redhat,您的环境需要满足如下条件:
  1.  Scom版本为2007 R2,并且导入了Red ......

怎么在Linux中添加新的系统调用

系统调用是应用程式和操作系统内核之间的功能接口。其主要目的是使得用户
能使用操作系统提供的有关设备管理、输入/输入系统、文件系统和进程控制、
通信及存储管理等方面的功能,而不必了解系统程式的内部结构和有关硬件细
节,从而起到减轻用户负担和保护系统及提高资源利用率的作用。
  Linux操作系统作为免费软件 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号