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

LinuxÄÚ´æ¹ÜÀíÖ®slab·ÖÅäÆ÷·ÖÎö(ÐøÈý)

Áù£ºkmem_cache_allocµÄʵÏÖ·ÖÎö:
ÎÒÃÇÔÚÉÏÃæ¿ÉÒÔ¿´µ½£¬´´½¨Ò»¸öcacheÃèÊö·ûµÄʱºò£¬²¢Ã»ÓÐÕâÖ®·ÖÅäslabÊý¾Ý¡£ÏÖÔÚÎÒÃÇÀ´¿´Ò»ÏÂÔõô´ÓcacheÖÐÉêÇë¶ÔÏó
void * kmem_cache_alloc (kmem_cache_t *cachep, int flags)
{
     return __cache_alloc(cachep, flags);
}
ʵ¼ÊÉÏ»áµ÷ÓÃ__cache_alloc
ÈçÏ£º
static inline void * __cache_alloc (kmem_cache_t *cachep, int flags)
{
     unsigned long save_flags;
     void* objp;
     struct array_cache *ac;
     //Èç¹û¶¨ÒåÁË__GFP_WAIT¡£¿ÉÄÜ»áÒýÆð˯Ãß
     cache_alloc_debugcheck_before(cachep, flags);
 
     local_irq_save(save_flags);
     //È¡µÃµ±Ç°´¦ÀíÆ÷ËùÔÚµÄarray_cache(¼ò³ÆÎªAC£¬ÎÒÃÇÏÂÃæÒ²ÕâÑù³ÆºôËü)
     ac = ac_data(cachep);
     //ac->avail:ACÖеںóÒ»¸ö¿ÉÓõĶÔÏóË÷Òý
    
//Èç¹ûACÖл¹ÓпÉÓõĶÔÏó
if (likely(ac->avail)) {
         STATS_INC_ALLOCHIT(cachep);
         //ÿ´Î·ÖÅä¶¼»á°Ñac->touchedÖÃΪ1
         ac->touched = 1;
         objp = ac_entry(ac)[--ac->avail];
     } else {
         //Èç¹ûACÖÐûÓпÉÓöÔÏó£¬ÄÇÖ»ÄÜ´Ól3ÖГ°á³ö”¶ÔÏóµ½ACÖÐ
         STATS_INC_ALLOCMISS(cachep);
         objp = cache_alloc_refill(cachep, flags);
     }
     local_irq_restore(save_flags);
     objp = cache_alloc_debugcheck_after(cachep, flags, objp, __builtin_return_address(0));
     return objp;
}
Ê


Ïà¹ØÎĵµ£º

ʵսLinux Bluetooth±à³Ì£¨ËÄ£© L2CAP²ã±à³Ì

£¨L2CAPЭÒé¼ò½é£¬L2CAPÔÚBlueZÖеÄʵÏÖÒÔ¼°L2CAP±à³Ì½Ó¿Ú£©
Ò»£ºL2CAPЭÒé¼ò½é£º
Logical Link Control and Adaptation Protocol(L2CAP)
Âß¼­Á¬½Ó¿ØÖƺÍÊÊÅäЭÒé (L2CAP) ΪÉϲãЭÒéÌá¹©ÃæÏòÁ¬½ÓºÍÎÞÁ¬½ÓµÄÊý¾Ý·þÎñ£¬²¢Ìṩ¶àЭÒ鹦ÄܺͷָîÖØ×é²Ù×÷¡£L2CAP ³äÐíÉϲãЭÒéºÍÓ¦ÓÃÈí¼þ´«ÊäºÍ½ÓÊÕ×î´ó³¤¶ÈΪ 64K µÄ L2CAP Ê ......

linux·þÎñÆ÷ÓÃlighttpd+mysql5+php5+SupeSite/X

Ò»¡¢°²×°ÏµÍ³»·¾³
1¡¢ÏµÍ³£ºcentos5
2¡¢²âÊÔÔÚvm5.5
×¼±¸Èí¼þ
lighttpd-1.4.18
ÏÂÔØµØÖ·
mysql-5.0.41
part1ÏÂÔØµØÖ·
part2ÏÂÔØµØÖ·
part3ÏÂÔØµØÖ·
php-5.2.3
ÏÂÔØµØÖ·
SupeSite/X-Space
part1ÏÂÔØµØÖ·
part2ÏÂÔØµØÖ·
part3ÏÂÔØµØÖ·
discuz
ÏÂÔØµØÖ·
¶þ¡¢´î½¨web·þÎñÆ÷°²×°¹ý³Ì
1¡¢mysql5°²×°
$ tar zx ......

Linux²é¿´ºÍÌÞ³ýµ±Ç°µÇ¼Óû§

ÈçºÎÔÚlinuxϲ鿴µ±Ç°µÇ¼µÄÓû§£¬²¢ÇÒÌßµôÄãÈÏΪӦ¸ÃÌßµôµÄÓû§£¿
¿´ÁËÍøÂçÖеÄһЩÀý×Ó.ÔÚÕâÀï×ܽáÒ»ÏÂ.Ö÷ÒªÓõ½µÄÃüÁîÓÐ,w,who,ps,kill,pkill
²é¿´µ±Ç°µÇ¼Óû§:
node8:/home # who
root     :0           2009-11-04 16:26
root     pts/0       &n ......

linux»ñÈ¡ÎļþµÄ·¾¶Ãû¼°ÆäÎļþÃûµÄ·½·¨

1¡¢¼òµ¥²âÊÔʵÀý
 for i in `find . -type f -name "*.c"`
do
  echo $i
  basename $i    »ñÈ¡*.cÎļþÃû
  dirname $i        »ñÈ¡*.c¶ÔÓ¦µÄĿ¼Ãû
done
2¡¢Êµ¼ÊÓ¦ÓÃ
diff LinuxÔ´Â룬²¢½«Óв»Ò»ÑùµÄÔ´ÂëÕûÀíÔÚÒ»Æð£¬ÒªÇó£ºÎļþ ......

½¨Á¢»ùÓÚlinuxµÄMIPS½»²æ±àÒë»·¾³

 ×÷Õߣº·ëÀÚ (flw10000) MAIL£ºflw10000 AT 163.com
¾­¹ý½üÒ»ÖܵÄæºõ£¬°Ñ»ùÓÚlinuxµÄMIPS½»²æ±àÒë»·¾³»ù±¾´î½¨³É¹¦£¬ÕâÀï˵"»ù±¾"´î½¨³É¹¦ÊÇÒòΪ»·¾³ËäÈ»´î½¨ºÃÁË£¬¿ÉÒÔ±àÒë»ùÓڣͣɣУӵĿÉÖ´ÐÐÎļþÁË£¬µ«»¹Ã»ÓÐÔÚÕæÕýµÄ£Í£É£Ð£Ó»·¾³Ï²âÊÔ¹ý£¬»¹ÓÐÔÚ±àÒëµÄ¹ý³ÌÖгöÏÖÁËЩÎÊÌ⣬ËäÈ»½â¾öÁË£¬Ò²ÒòûÓÐÔÚÕæÕýµÄ£Í£É£ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ