Linux ÄÚºËÈíÖжÏ(softirq)Ö´ÐзÖÎö
Linux ÄÚºËÈíÖжÏ(softirq)Ö´ÐзÖÎö
Author: sinister
Email: sinister@whitecell.org
Homepage:http://www.whitecell.org
Date: 2007-01-11
±¾ÎÄ¶Ô Linux ÄÚºËÈíÖжϵÄÖ´ÐÐÁ÷³Ì½øÐÐÁË·ÖÎö£¬²¢¾¡¿ÉÄܵĽáºÏµ±Ç°ÔË
Ðл·¾³ÏêϸµØÐ´³öÎÒµÄÀí½â£¬µ«Õâ²¢²»±íÃ÷ÎÒµÄÀí½âÒ»¶¨ÕýÈ·¡£Õâ±¾ÊÇÂÛ̳
ÀïµÄһƪÌû×Ó£¬·¢³öÀ´ÊÇΪÁËÅ×שÒýÓñ£¬Èç¹ûÄúÔÚÔĶÁ±¾ÎÄʱ·¢ÏÖÁËÎҵĴí
Î󣬻¹ÍûµÃµ½ÄúµÄÖ¸Õý¡£
½ñÌìÎÞÒâÖп´ÁËÑÛ 2.6 Äں˵ÄÈíÖжÏʵÏÖ£¬·¢ÏÖºÍÒÔǰÎÒ¿´µ½µÄ´ó²»Ïàͬ
£¨ÒÔǰҲÊÇ×ßÂí¹Û»¨£¬²»´ó×Ðϸ£©£¬¿ÉÒÔ˵¸Ä¶¯ºÜ´ó¡£Á¬ softirq µÄµ÷ÓÃ
µã¶¼²»Ò»ÑùÁË£¬ÒÔǰÊÇÈý¸öµ÷Óõ㣬½ñÌìËÑË÷ÁËÒ»ÏÂÔ´´úÂ룬·¢ÏÖÔÚ¶à³öÁË
ksoftirqd ºó£¬softirq ÔÚϵͳÖеĵ÷Óõã½öÊÇÔÚ ISR ·µ»ØÊ±ºÍʹÓÃÁË
local_bh_enable() º¯Êýºó±»µ÷ÓÃÁË¡£Íø¿¨²¿·ÖµÄÏÔʾµ÷Óã¬ÎÒ¾õµÃÓ¦¸Ã²»
ËãÊÇϵͳÖеĵ÷Óõ㡣ksoftirqd ·µ»ØÈ¥µ÷Óà do_softirq() º¯ÊýÓ¦¸ÃÒ²Ö»
ÄÜËãÊÇÆäÖеÄÒ»¸ö·ÖÖ§£¬ÒòΪÆä±¾Éí´ÓÔ´Í·ÉÏÀ´½²Ò²»¹ÊÇÔÚ ISR ·µ»ØÊ±
irq_exit() µ÷Óõġ£ÕâÑùÒ»À´¾ÍºÍǰЩÈÕ×ÓдµÄÄǷݱʼǣ¨Windows/Linux
/Solaris ÈíÖжϻúÖÆ£©Àï½éÉÜµÄ Linux Äں˲¿·ÖµÄÈíÖжÏÓгö´¦ÁË£¬¿´À´
ÒÔºóÌÖÂÛ Linux kernel ´úÂëÒ»¶¨ÒªÒÔÄں˰汾ΪǰÌ⣬Ҫ²»·ÇÂÒÁ˲»¿É¡£
µÃÂò±¾ Linux ·½ÃæµÄÊéÁË£¬Ã¿´ÎÉÏÀ´Ö±½Ó¿´Ïà¹Ø´úÂëÒ²²»ÊÇ»ØÊ£¬Ê±¼äÒ²
²»ÔÊÐí¡£
//
// do_IRQ º¯ÊýÖ´ÐÐÍêÓ²¼þ ISR ºóÍ˳öʱµ÷Óô˺¯Êý¡£
//
void irq_exit(void)
{
account_system_vtime(current);
trace_hardirq_exit();
sub_preempt_count(IRQ_EXIT_OFFSET);
//
// Åжϵ±Ç°ÊÇ·ñÓÐÓ²¼þÖжÏǶÌ×£¬²¢ÇÒÊÇ·ñÓÐÈíÖжÏÔÚ
// pending ״̬£¬×¢Ò⣺ÕâÀïÖ»ÓÐÁ½¸öÌõ¼þͬʱÂú×ã
// ʱ£¬²ÅÓпÉÄܵ÷Óà do_softirq() ½øÈëÈíÖжϡ£Ò²¾ÍÊÇ
// ˵ȷÈϵ±Ç°ËùÓÐÓ²¼þÖжϴ¦ÀíÍê³É£¬ÇÒÓÐÓ²¼þÖжϰ²×°ÁË
// ÈíÖжϴ¦ÀíʱÀíʱ²Å»á½øÈë¡£
//
if (!in_interrupt() && local_softirq_pend
Ïà¹ØÎĵµ£º
´´½¨×ÀÃæÍ¼±ê
Ŀǰ½«ÍøÂçÓ¦ÓÃÀ©Õ¹µ½×ÀÃæÊÇÒ»¸öÇ÷ÊÆ£¬´æÔÚןܶà½â¾ö·½°¸£¬±¾ÎÄÒÔ Mozilla Prism ΪÀý£¬ÀàËÆµÄ·½·¨Í¬ÑùÊÊÓÃÓÚ Google Chrome ¡£
1. µ½ Mozilla Prism µÄÍøÕ¾ÉÏÏÂÔØ Prism£¬µã»÷ Download Now Ö®ºó»áÌáʾÓÐÁ½ÖÖ£¬Ò»ÖÖÊÇÒÔ Mozilla Firefox À©Õ¹µÄ·½Ê½£¬ÊʺÏÒѾ°²×°ÓÐ Firefox µÄÅóÓÑ£»Ò»Ö ......
¹¹½¨»ù±¾µÄLinux C ±à³Ì»·¾³ ÊÕ²Ø
±¾ÎÄ»ùÓÚdebian-40r0(ÄÚºË2.6.18)½éÉÜÒ»ÏÂÈçºÎÔÚÒ»¸ö±ê׼ϵͳÖй¹½¨Linux CµÄ»ù±¾±à³Ì¿ª·¢»·¾³¡£
Ò»¸öÍêÕûµÄ¿ª·¢»·¾³Ö÷Òª°üÀ¨Ëĸö²¿·Ö£º±ê×¼C¿â¡¢Í·Îļþ¡¢¹¤¾ßÁ´¡¢±à¼Æ÷¡¢°ïÖúÎĵµ£¬ÏÂÃæÒÀ´Î½éÉÜ¡£
±ê×¼C¿âglibc
glibcÊÇgnu·¢²¼µÄlibc¿â£¬¼´cÔËÐп⡣glibcÊÇlinuxϵͳÖÐÄÚºËÖ ......
ÓÖÅöµ½ÓʼþÎÊÌ⣬ÔÚmagentoǰ̨ע²áÐÂÓû§£¬Ï¶©µ¥¶¼Ã»ÓÐÊÕµ½Óʼþ¡£µ«ÊÇÌáʾ¶¼ÊÇ˵Õý³£¡£
Ö±½ÓÔÚsshÖÐʹÓÃÏÂÁÐÃüÁî²âÊÔ£¬Á¬½Ó³¬Ê±£º
echo "Subject: test" | /usr/lib/sendmail -v xinhaozheng@gmail.com
Ìáʾ£º
WARNING: local host name (server) is not qualified; see cf/README: WHO AM I?
xinhaozheng ......
×î½ü¸ºÔðµÄsvrѹÁ¦±È½Ï´ó£¬ÒµÎñÂß¼Óе㸴ÔÓ,ÄÜÓÅ»¯µÄµØ·½ÒѾȫ²¿ÓÅ»¯ÁË£¬ ĿǰÿÃë3k´Î£¬cpu¸ºÔØ»¹ÊÇ±È½Ï¸ß top¿´Ò»Ï£¬4ºËµÄcpu¸ºÔز»ÊÇÌ«¾ùºâ£¬´òË㿼ÂÇһϽ«ÒµÎñ½ø³ÌÖ¸¶¨µ½3¸öcpuÉÏÔËÐУ¬ÁíÍâÒ»¸öcpuרߺÔð´¦ÀíÍøÂçÊÕ·¢°ü£»´òËã³¢ÊÔһϣ¬Èç¹û»¹ÊDz»ÐУ¬ÔÙ¹ý¶Îʱ¼ä£¬·ÃÎÊÁ¿ÔÙÔö¼ÓµÄ»°£¬¾ÍÒª¼Ó»úÆ÷ÁË£¬ÎØÎØ ²¹ ......
1¡¢LinuxÎļþµÄÀ©Õ¹Ãû£»
һ̸µ½ÎļþÀàÐÍ£¬´ó¼Ò¾ÍÄÜÏëµ½WindowsµÄÎļþÀàÐÍ£¬±ÈÈçfile.txt¡¢file.doc¡¢file.sys¡¢file.mp3¡¢file.exeµÈ£¬¸ù¾ÝÎļþµÄºó׺¾ÍÄÜÅжÏÎļþµÄÀàÐÍ¡£µ«ÔÚLinuxÒ»¸öÎļþÊÇ·ñÄܱ»Ö´ÐУ¬ºÍºó׺ÃûûÓÐÌ«´óµÄ¹ØÏµ£¬Ö÷Òª¿´ÎļþµÄÊôÐÔÓйء£µ«ÎÒÃÇÁ˽âÒ»ÏÂLinuxÎļþµÄºó׺Ãû»¹ÊÇÓбØÒªµÄ£¬ÌرðÊÇÎÒÃÇ×Ô¼º´´½ ......