Linux RCU»úÖÆÏê½â
ÔÎÄÍøÖ·£ºhttp://blog.chinaunix.net/u1/51562/showart_1341707.html
Ò»:ǰÑÔ
RCU»úÖÆ³öÏֵıȽÏÔç,Ö»ÊÇÔÚlinux kernelÖÐÒ»Ö±µ½2.5°æ±¾µÄʱºò²Å±»²ÉÓÃ.¹ØÓÚRCU»úÖÆ,ÕâÀï¾Í²»×ö¹ý¶àµÄ½éÉÜÁË,ÍøÉÏÓкܶàÓйØRCU½éÉܺÍʹÓõÄÎĵµ.Çë×ÔÐвéÔÄ.±¾ÎÄÖ÷ÒªÊÇ´Ólinux kernelÔ´´úÂëµÄ½Ç¶È.À´·ÖÎöRCUµÄʵÏÖ.
ÔÚÌÖÂÛRCUµÄʵÏÖ֮ǰ.ÓбØÒªÖØÉêÒÔϼ¸µã:
1:RCUʹÓÃÔÚ¶ÁÕß¶à¶øÐ´ÕßÉÙµÄÇé¿ö.RCUºÍ¶ÁÐ´ËøÏàËÆ.µ«RCUµÄ¶ÁÕßÕ¼ËøÃ»ÓÐÈκεÄϵͳ¿ªÏú.дÕßÓëддÕßÖ®¼ä±ØÐëÒª±£³Öͬ²½,ÇÒдÕß±ØÐëÒªµÈËü֮ǰµÄ¶ÁÕßÈ«²¿¶¼Í˳öÖ®ºó²ÅÄÜÊÍ·Å֮ǰµÄ×ÊÔ´.
2:RCU±£»¤µÄÊÇÖ¸Õë.ÕâÒ»µãÓÈÆäÖØÒª.ÒòΪָÕ븳ֵÊÇÒ»Ìõµ¥Ö¸Áî.Ò²¾ÍÊÇ˵ÊÇÒ»¸öÔ×Ó²Ù×÷.ÒòËü¸ü¸ÄÖ¸ÕëÖ¸Ïòû±ØÒª¿¼ÂÇËüµÄͬ²½.Ö»ÐèÒª¿¼ÂÇcacheµÄÓ°Ïì.
3:¶ÁÕßÊÇ¿ÉÒÔǶÌ×µÄ.Ò²¾ÍÊÇ˵rcu_read_lock()¿ÉÒÔǶÌ×µ÷ÓÃ.
4:¶ÁÕßÔÚ³ÖÓÐrcu_read_lock()µÄʱºò,²»ÄÜ·¢Éú½ø³ÌÉÏÏÂÎÄÇл».·ñÔò,ÒòΪдÕßÐèÒªÒªµÈ´ý¶ÁÕßÍê³É,дÕß½ø³ÌÒ²»áÒ»Ö±±»×èÈû.
ÒÔϵĴúÂëÊÇ»ùÓÚlinux kernel 2.6.26
¶þ:ʹÓÃRCUµÄʵÀý
Linux kernelÖÐ×Ô¼º¸½´øÓÐÏêϸµÄÎĵµÀ´½éÉÜRCU,ÕâЩÎĵµÎ»ÓÚlinux-2.6.26.3/Documentation/RCU. ÕâЩÎĵµÖµµÃ¶à»¨µãʱ¼äÈ¥×ÐϸÑжÁÒ»ÏÂ.
ÏÂÃæÒÔwhatisRCU.txtÖеÄÀý×Ó×÷Ϊ½ñÌì·ÖÎöµÄÆðµã:
struct foo {
int a;
char b;
long c;
};
DEFINE_SPINLOCK(foo_mutex);
struct foo *gbl_foo;
void foo_update_a(int new_a)
{
struct foo *new_fp;
struct foo *old_fp;
new_fp = kmalloc(sizeof(*new_fp), GFP_KERNEL);
spin_lock(&foo_mutex);
old_fp = gbl_foo;
*new_fp = *old_fp;
new_fp->a = new_a;
rcu_assign_pointer(gbl_foo, new_fp);
spin_unlock(&foo_mutex);
sync
Ïà¹ØÎĵµ£º
×÷Õß:fbysss
msn:jameslastchina@hotmail.com
blog:blog.csdn.net/fbysss
ÉùÃ÷£º±¾ÎÄÓÉfbysssÕûÀí±àд£¬×ªÔØÇë×¢Ã÷³ö´¦
¹Ø¼ü×Ö£ºshell±à³Ì
±³¾°
ͬÊÂÇóÖú¡£
ÐèÇó
Ò»¸öÎı¾Îļþ£¬ÒªµÃµ½×îºóÒ»ÐÐÓëµ¹ÊýµÚÒ»ÐÐÏà¼õµÄ½á¹û¡£
²âÊÔÎÄ ......
²Î¿¼ÍøÖ·£º
http://trac.edgewall.org/wiki/TracInstall
http://trac.edgewall.org/wiki/TracInstallPlatforms
http://trac.edgewall.org/wiki/TracOnRhel5
http://dag.wieers.com/rpm/FAQ.php#B
http://tech.idv2.com/2008/12/26/install-trac-on-linux/
Èí¼þÏÂÔØµØÖ·£º
trac:http://trac.edgewall.org/wiki/TracDo ......
Emebedded System and Application(Linux)
Goal
--
ÕÆÎÕǶÈëʽϵͳ¿ª·¢µÄÁ÷³Ì£¬ÏµÍ³ÒÆÖ²µÄ·½·¨£¬±àдBootloader
(Be familiar with the process of ES Developing
, System Migration
amd Bootloader Programming
)
Requriem ......
Linux LVM µÄʹÓÃÏê½â
http://blog.csdn.net/icejadelove/archive/2009/10/30/4747657.aspx
ÕªÒª£ºLinuxÓû§°²×°Linux²Ù×÷ϵͳʱÓöµ½µÄÒ»¸ö×î³£¼ûµÄÄÑÒÔ¾ö¶¨µÄÎÊÌâ¾ÍÊÇÈçºÎÕýÈ·µØ¸øÆÀ¹À¸÷·ÖÇø´óС£¬ÒÔ·ÖÅäºÏÊʵÄÓ²Å̿ռ䡣¶øÓöµ½³öÏÖij¸ö·ÖÇø¿Õ¼äºÄ¾¡Ê±£¬½â¾öµÄ·½·¨Í¨³£ÊÇʹÓ÷ûºÅÁ´½Ó£¬»òÕßʹÓõ÷Õû·ÖÇø´óСµÄ¹¤¾ß(±ÈÈçP ......
welcome Linux LVM µÄʹÓÃÏê½â ÕªÒª£ºLinuxÓû§°²×°Linux²Ù×÷ϵͳʱÓöµ½µÄÒ»¸ö×î³£¼ûµÄÄÑÒÔ¾ö¶¨µÄÎÊÌâ¾ÍÊÇÈçºÎÕýÈ·µØ¸øÆÀ¹À¸÷·ÖÇø´óС£¬ÒÔ·ÖÅäºÏÊʵÄÓ²Å̿ռ䡣¶øÓöµ½³öÏÖij¸ö·ÖÇø¿Õ¼äºÄ¾¡Ê±£¬½â¾öµÄ·½·¨Í¨³£ÊÇʹÓ÷ûºÅÁ´½Ó£¬»òÕßʹÓõ÷Õû·ÖÇø´óСµÄ¹¤¾ß(±ÈÈçPatition MagicµÈ)£¬µ«Õâ¶¼Ö»ÊÇÔÝʱ½â¾ö°ì·¨£¬Ã»Óиù±¾½â¾öÎ ......