Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

Linux 2.6ÄÚºËÖÐеÄËø»úÖÆ RCU


Ô­ÎÄÍøÖ·£ºhttp://www.ibm.com/developerworks/cn/linux/l-rcu/
±¾ÎÄÏêϸµØ½éÉÜÁË Linux 2.6 ÄÚºËÖÐеÄËø»úÖÆ RCU(Read-Copy Update) µÄʵÏÖ»úÖÆ£¬Ê¹ÓÃÒªÇóÓëµäÐÍÓ¦Óá£
Ò»¡¢ ÒýÑÔ
ÖÚËùÖÜÖª£¬ÎªÁ˱£»¤¹²ÏíÊý¾Ý,ÐèҪһЩͬ²½»úÖÆ,Èç×ÔÐýËø(spinlock)£¬¶ÁÐ´Ëø(rwlock)£¬ËüÃÇʹÓÃÆðÀ´·Ç³£¼òµ¥,¶øÇÒÊÇÒ»ÖÖºÜÓÐЧµÄͬ²½»úÖÆ£¬ÔÚUNIXϵͳºÍLinuxϵͳÖеõ½Á˹㷺µÄʹÓᣵ«ÊÇËæ×żÆËã»úÓ²¼þµÄ¿ìËÙ·¢Õ¹£¬»ñµÃÕâÖÖËøµÄ¿ªÏúÏà¶ÔÓÚCPUµÄËÙ¶ÈÔڳɱ¶µØÔö¼Ó£¬Ô­ÒòºÜ¼òµ¥£¬CPUµÄËÙ¶ÈÓë·ÃÎÊÄÚ´æµÄËٶȲî¾àÔ½À´Ô½´ó£¬¶øÕâÖÖËøÊ¹ÓÃÁËÔ­×Ó²Ù×÷Ö¸ÁËüÐèÒªÔ­×ӵطÃÎÊÄڴ棬Ҳ¾Í˵»ñµÃËøµÄ¿ªÏúÓë·Ã´æËÙ¶ÈÏà¹Ø£¬ÁíÍâÔڴ󲿷ַÇx86¼Ü¹¹ÉÏ»ñÈ¡ËøÊ¹ÓÃÁËÄÚ´æÕ¤(Memory Barrier)£¬Õâ»áµ¼Ö´¦ÀíÆ÷Á÷Ë®ÏßÍ£ÖÍ»òˢУ¬Òò´ËËüµÄ¿ªÏúÏà¶ÔÓÚCPUËٶȶøÑÔ¾ÍÔ½À´Ô½´ó¡£±í1Êý¾ÝÖ¤Ã÷ÁËÕâÒ»µã¡£
±í1ÊÇÔÚ700MHzµÄ±¼ÌÚIII»úÆ÷ÉϵĻù±¾²Ù×÷µÄ¿ªÏú£¬ÔڸûúÆ÷ÉÏÒ»¸öʱÖÓÖÜÆÚÄܹ»Ö´ÐÐÁ½ÌõÕûÊýÖ¸Áî¡£ÔÚ1.8GHzµÄ±¼ÌÚ4»úÆ÷ÉÏ, Ô­×Ó¼Ó1Ö¸ÁîµÄ¿ªÏúÒª±È700MHzµÄ±¼ÌÚIII»úÆ÷Âý75ÄÉÃë(ns)£¬¾¡¹ÜCPUËÙ¶È¿ìÁ½±¶¶à¡£
ÕâÖÖËø»úÖÆµÄÁíÒ»¸öÎÊÌâÔÚÓÚÆä¿ÉÀ©Õ¹ÐÔ£¬ÔÚ¶à´¦ÀíÆ÷ϵͳÉÏ£¬¿ÉÀ©Õ¹ÐԷdz£ÖØÒª£¬·ñÔò¸ù±¾ÎÞ·¨·¢»ÓÆäÐÔÄÜ¡£Í¼1±íÃ÷ÁËLinuxÉϸ÷ÖÖËøµÄÀ©Õ¹ÐÔ¡£
ͼ 1 LinuxµÄ4ÖÖËø»úÖÆµÄÀ©Õ¹ÐÔͼ 1 LinuxµÄ4ÖÖËø»úÖÆµÄÀ©Õ¹ÐÔ
×¢£ºrefcnt±íʾ×ÔÐýËøÓëÒýÓüÇÊýÒ»ÆðʹÓá£
¶ÁÐ´ËørwlockÔÚÁ½¸öCPUµÄÇé¿öÏÂÐÔÄÜ·´µ¹±ÈÒ»¸öCPUµÄ²î£¬ÔÚËĸöCPUµÄÇé¿öÏ£¬refcntµÄÐÔÄÜÒª¸ßÓÚrwlock£¬refcnt´óÔ¼ÊÇÀíÂÛÐÔÄܵÄ45%£¬¶ørwlockÊÇÀíÂÛÐÔÄܵÄ39%,×ÔÐýËõspinlockµÄÐÔÄÜÃ÷ÏÔºÃÓÚrefcntºÍrwlock£¬µ«ËüÒ²Ö»´ïµ½ÁËÀíÐÔÐÔÄܵÄ57%£¬brlock£¨Big Reader Lock£©ÐÔÄÜ¿ÉÒÔÏßÐÔÀ©Õ¹¡£BrlockÊÇÓÉRedhatµÄIngo MolnarʵÏÖµÄÒ»¸ö¸ßÐÔÄܵÄrwlock£¬ËüÊÊÓÃÓÚ¶ÁÌØ¶à¶øÐ´ÌØÉÙµÄÇé¿ö£¬¶ÁÕß»ñµÃbrlockµÄ¿ªÏúºÜµÍ£¬µ«Ð´Õß»ñµÃËøµÄ¿ªÏú·Ç³£´ó£¬¶øÇÒËüÖ»Ô¤¶¨ÒåÁ˼¸¸öËø£¬Óû§ÎÞ·¨Ëæ±ã¶¨Ò岢ʹÓÃÕâÖÖËø£¬ËüÒ²ÐèҪΪÿ¸öCPU¶¨ÒåÒ»¸öËø×´Ì¬Êý×飬Òò´ËÕâÖÖËø²¢Ã»Óб»×÷ΪrwlockµÄÌæ´ú·½°¸¹ã·ºÊ¹Óã¬Ö»ÊÇÔÚÒ»Ð©ÌØ±ðµÄµØ·½Ê¹Óõ½¡£
ÕýÊÇÔÚÕâÖÖ±³¾°Ï£¬Ò»¸ö¸ßÐÔÄܵÄËø»úÖÆRCUºôÖ®Óû³ö£¬Ëü¿Ë·þÁËÒÔÉÏËøµÄȱµã£¬¾ßÓкܺõÄÀ©Õ¹ÐÔ£¬µ«ÊÇÕâÖÖËø»úÖÆµÄʹÓ÷¶Î§±È½ÏÕ­£¬ËüÖ»ÊÊÓÃÓÚ¶Á¶àдÉÙµÄÇé¿ö£¬ÈçÍøÂç·ÓɱíµÄ²éѯ¸üС¢É豸״̬±íµÄά»¤¡¢Êý¾Ý½á¹¹µÄÑÓ³ÙÊÍ·ÅÒÔ¼°¶à¾¶I/OÉ豸µÄά»¤µÈ¡£
RCU²¢²»ÊÇеÄËø»úÖÆ£¬ËüÖ»ÊǶÔLinuxÄں˶øÑÔÊÇеġ£ÔçÔÚ¶þÊ®ÊÀ¼Í°


Ïà¹ØÎĵµ£º

ʵսLinux Bluetooth±à³Ì£¨Èý£© HCI²ã±à³Ì

1. HCI²ãЭÒé¸ÅÊö£º
HCIÌṩһÌ×ͳһµÄ·½·¨À´·ÃÎÊBluetoothµ×²ã¡£ÈçͼËùʾ£º
´ÓͼÉÏ¿ÉÒÔ¿´³ö£¬Host Controller Interface(HCI)  ¾ÍÊÇÓÃÀ´¹µÍ¨HostºÍModule¡£Hostͨ³£¾ÍÊÇPC£¬ ModuleÔòÊÇÒÔ¸÷ÖÖÎïÀíÁ¬½ÓÐÎʽ£¨USB,serial,pc-cardµÈ£©Á¬½Óµ½PCÉϵÄbluetooth Dongle¡£
ÔÚHostÕâÒ»¶Ë£ºapplication,SDP,L2capµÈЭÒé ......

Linux»·¾³½ø³Ì¼äͨÐÅ£¨¶þ£©£¨Ï£©


Linux»·¾³½ø³Ì¼äͨÐÅ£¨¶þ£©:
Ðźţ¨Ï£©
ÎĵµÑ¡Ïî
<tr
valign="top"><td width="8"><img alt="" height="1" width="8"
src="//www.ibm.com/i/c.gif"/></td><td width="16"><img alt="" width=& ......

ÆÊÎöLinuxϵͳÆô¶¯¹ý³Ì

ÄÚÈÝÌáÒª
¡¡¡¡±¾ÎÄÒÔRedHat9.0ºÍi386ƽ̨ΪÀý£¬ÆÊÎöÁË´ÓÓû§´ò¿ªµçÔ´Ö±µ½ÆÁÄ»³öÏÖÃüÁîÐÐÌáʾ·ûµÄÕû¸öLinuxÆô¶¯¹ý³Ì¡£²¢ÇÒ½éÉÜÁËÆô¶¯ÖÐÉæ¼°µ½µÄ¸÷ÖÖÎļþ¡£
¡¡¡¡ÔĶÁLinuxÔ´´úÂ룬ÎÞÒÉÊÇÉîÈëѧϰLinuxµÄ×îºÃ·½·¨¡£ÔÚ±¾ÎĶÔLinuxÆô¶¯¹ý³ÌµÄ½éÉÜÖУ¬ÎÒÃÇÒ²³¢ÊÔ´ÓÔ´´úÂëµÄÊÓ½ÇÀ´¸üÉîÈëµÄÆÊÎöLinuxµÄÆô¶¯¹ý³Ì£¬ËùÒÔÆäÖÐÒ²¼òµ¥Éæ ......

Linux netfilterÔ´Âë·ÖÎö(6)

תÌù×Ô£ºhttp://alexanderlaw.blog.hexun.com/8968944_d.html
Áù¡¢ À©Õ¹µÄmatch
 
6.1 do_matchº¯Êý  ip_tables.c
do_matchͨ¹ýIPT_MATCH_ITERATEºêÀ´µ÷ÓÃ,
IPT_MATCH_ITERATEÊÇÔÚipt_do_tableº¯ÊýÖе÷Óõĺê
IPT_MATCH_ITERATE(e, do_match,
         &nb ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ