·¢²¼Ê±¼ä:2020-06-26 18:43:17 ÎÄÕÂÀ´Ô´:ÓêÁÖľ·çϵͳÏÂÔØ ×÷Õß: ³ÌÐòÔ³VB½ã
·ÖÎöµ½ÕâÀïÒѾÐγÉÁËÒ»ÌõÏߣ¬__dev_xmit_skbÖжÔÓÚqlenΪ0µÄ״̬ÏÂÖ±½Óµ÷ÓÃsch_direct_xmitÈ¥·¢ËÍ£¬Õâ¸öʱºòsch_direct_xmitÒ²Ö±½Óµ÷ÓÃÁËdev_hard_start_xmitÀ´Ö±½ÓË͵½driver£¬Èç¹û·¢Ëͳɹ¦»á·µ»ØNETDEV_TX_OK£¬Èç¹ûÓÉÓÚһЩÔÒò²úÉúTX_BUSYµÄ»°£¬ÖØн«Õâ¸ö°ürequeuµ½QdiscÖУ¬ÔÙʹÓÃÓµÈûµÄ·½Ê½·¢ËÍ
½ÓÏÂÀ´ÔÙ·ÖÎöÏÂÁíÍâÒ»ÌõÏߣ¬Èç¹û²»Âú×ãÉÏÊöµÄ3¸öÌõ¼þ£¬¼´interfaceÅäÖò»ÔÊÐíÖ±½Ó·¢ËÍ£¬»òÕßÊÇÓз¢ËÍʧ°ÜµÄ°ü»òÕß»ýÀ۵ķâ°üµÈ£¬¾ÍÐèÒª±»enqueueÁË£¬½øÈëQdiscµÄ²Ù×÷£¡
´ÓcodeÖп´£¬Ö±½ÓÊÇq->enqueueÕâÑùµÄ¹³×Óº¯Êýµ÷Óã¬ÄÇôÕâ¸öº¯ÊýÔÚÄÄÀï±»¸³ÖµµÄ£¡
1. win7ϵͳÏÂÔغóÔõôÎļþÔÚÄÄÀïÉèÖà ע²áµÄflow£¬Ä¬ÈÏÊÇûÓÐQdiscµÄ
register_netdevice-->dev_init_scheduler--->dev->qdisc=&noop_qdisc; //ĬÈÏÊÇûÓÐqdisc
¿ÉÒÔ¿´ÏÂCodeÖжÔnoop_qdiscµÄ¹æ¶¨...
2.ÔÚ´ò¿ªÉ豸µÄʱºò£¬¸³Óèdefault
ʵ¼ÊÉϸտªÊ¼×¢²áµÄʱºò ¾ÍÊÇÕâÑù £¬²¢Ã»ÓÐÈκοÉÓõĹæÔò£¬µ«ÊÇÔÚÕæÕý´ò¿ªinterfaceµÄʱºò£¬ÏµÍ³»¹ÊǸø¸³ÓèϵͳĬÈϵģ¡dev_open-->__dev_open-->dev_activate
ÔÚÕâÀïÎÒÃÇ¿ÉÒÔ¿´µ½TCQ_F_CAN_BYPASS£¬Õâ¸öflagÖÃ룬¾Í±íÃ÷Êý¾Ý°ü·¢ËͲ»Ò»¶¨·ÇµÃ×߶ÓÁеĹæÔò£¬¿ÉÒÔby win7ϵͳÅÌÔõôÆô¶¯²»ÁËϵͳÎļþ¼Ð passÕâ¸ö¹æÔò£¬Ö±½Óͨ¹ý·¢Ë͵½driver£¬²»¹ýÔÚÒ»°ãûÓÐ×èÈûµÄͨѶ״¿öÏ£¬ÓÐÁËÕâ¸öflag£¬»ù±¾¾Í¶¼ÊÇÖ±½Ó·¢ËͳöÈ¥ÁË£¡
»Ø¹éµ½ÕýÌ⣬¼ÙÉèinterface¾ÍÊÇʹÓõÄpfifo_fast Qdisc¹æÔò£¬ÄÇôÎÒÃǵ÷ÓõÄenqueueÖ±½Ó×ßµ½pfifo_fast_enqueue£¬ÔÚÀïÃæ¾ÍÖ±½Ó·Åµ½¶ÓÁÐÀÈç¹û³¬³öÁË×î´óµÄ»ýÔÜÊýÁ¿¾ÍDROPµôÁË£¬·µ»ØNET_XMIT_DROP
ÔÚÆäÖÐÖ÷ÒªÊǵ÷ÓÃÁËqdisc_restartÀ´´Ó¶ÓÁÐÖÐdequeue³ö·â°ü£¬È»ºóÔÙµ÷ÓÃsch_direct_xmitº¯ÊýÈ¥Ö±½Ó·¢ËÍ·â°ü£¬Õâ¸öº¯ÊýÎÒÃÇÉÏÃæÓзÖÎö¹ý£¬¾ÍÊÇÖ±½Ó·¢Ë͸ødriverÁË
È»ºó³öÏÖBUSYµÄ¾Írequeueµ½¶ÓÁÐÖÐ
ÕâЩ֢״»áÖ±½Óµ¼ÖµçÄÔÎÞ·¨Á¬½ÓÓÐÏßÍøÂ磬´Ëʱ£¬¿ÉÒÔÊ×ÏÈÀûÓõçÄÔ×ÔÉíµÄÐÞ¸´¹¦ÄܽøÐÐÐÞ¸´
¡¡¡¡ºÜ¶àµÄ¶öʱºòÎÒÃǶ¼ÊÇÐèÒªÔÚµçÄÔÖÐÉèÖÃÎÒÃǵÄÒþ˽µÄ°²È«µÄ£¬ÓêÁÖľ·çwin10´¿¾»°æ64λÆì½¢°æ£¬Æäʵ½ûÓÿÉÒÔ°ïÖúÎÒÃǵçÄÔ²»»á±»ºÚ¿Í¿ØÖƵÄÇé¿ö£¬Ò»ÆðÀ´¿´¿´±£»¤µçÄÔ°²È«ÉèÖÃÉãÏñÍ·½ûֹʹÓõIJÙ×÷²½ÖèÏ£Íû¶ÔÄãÓкܶàµÄ°ïÖú
µçÄÔ¿ª»ú£¬Á¬Windowsͼ±ê¶¼±äºìÁË£¬ÓêÁÖľ·çuÅÌװϵͳ£¬µ«ÊÇ¿ÉÒÔÕý³£½øÈëϵͳ£¬¾¿¾¹Ì¨Ê½µçÄÔ Win7 ¿ª»úºìÆÁÔõô°ì?
´ÓÍøÉÏ¿´µÄ´ð°¸¶¼ÊÇǧƪһÂɵģºÐ£×¼ÑÕÉ«!
È»¶ø£¬Äã»á·¢ÏÖ£¬¾ÍËãУ׼ºÃÁË£¬ÖØÆôºó»¹Êǻָ´ÁËÒì³£ºìÉ«ÔÚϵͳÕâÒ»À¸£¬ÎÒÃÇ¿ÉÒÔ¿´µ½ÏµÍ³ÖÆÔìÉ̺ÍϵͳÐͺţ¬ÎÒÃÇ¿´µ½ÎÒÕâ¸öµçÄÔµÄÐͺžÍÊÇÐñÈÕc510m£¬µã»÷Í˳ö¼´¿É£¬ÏÂÃæÊÇʹÓÃÈí¼þ²é¿´ÏµÍ³Ðͺŵķ½·¨
Îļþ¼Ðͼ±êÐÞ¸Ä
Êó±êÓÒ¼üµã»÷ÐèÒªÐ޸ĵÄÎļþ¼Ð£¬´ò¿ªÊôÐÔ£¬µã»÷×Ô¶¨ÒåÖеĸü¸Äͼ±ê
ͬʱ»¹¿ÉÒÔ´´½¨¶à¸öÕÊ»§¹©ÆäËûÓû§Ê¹Óã¬Ò²Ðí´ó¶àÊýµçÄÔÓû§²»Ì«ÖªÊ¶Ôõôȥ¸ø²Ù×÷ϵͳµÇ½ÕÊ»§ÃÜÂëÉèÖÃuÅ̽øÈëboot×°win7ϵͳ3. µ¥»÷ÒÉÄѽâ´ð£¬¸ü¸ÄÉèÖ㬰ÑÖ¸Õë´ÓÍêÈ«Íϵ½ÎÞ¡£
ºÜ¶àÓû§ÃǶ¼²»ÖªµÀ´ÅÅÌÔõôÎÞËð·ÖÇø£¬½ñÌìС±à¾ÍÒÔwin8ϵͳΪÀý£¬Îª´ó¼Ò·ÖÏí´ÅÅÌÎÞËð·ÖÇøµÄ·½·¨Ïà¹ØÔĶÁ£ºCPU¹ÊÕÏʵÀý·ÖÎö
¡¡¡¡ÎļþË𻵵ÄÇé¿öÎÒÃÇÊÇ¿ÉÒÔÊÔÊÔ±¾´ÎµÄ½Ì³ÌÀ´½â¾öµÄ£¬ÕâÊÇÎÞ·¨²Ù×÷ÃüÁîÀ´ÐÞ¸´µçÄÔµÄÇé¿ö±¾´ÎµÄ·½·¨²»ÐèÒªÃüÁî¾Í¿ÉÒÔ´¦Àí£¬´¦Àígrub.confÎļþÔÚLinuxϵͳ³ö´íÎļþË𻵶ªÊ§µÄ½Ì³Ì¡£
±¾ÎÄÊôÓÚÔ´´ÎÄÕ£¬ÈçÈôתÔØ£¬Çë×¢Ã÷À´Ô´£ºÓêÁÖľ·çϵͳÏÂÔØ¡£ÎÒÃDZ¾ÎÄ»°Ìâ¾ÍÊÇ£º64λϵͳװ32λÈí¼þÓÐÓ°ÏìÂðÈçºÎÖÆ×÷ÅÌ°²×°xpϵͳ£¬ÒÔÉϵÄÈ«²¿ÄÚÈݲ»´ú±í±¾Õ¾µãÆÀ,½ö´Ë²Î¿¼£¬ÏëÒªÁ˽â¸ü¶à£¬Çë¹Ø×¢±¾ÎÄ×÷Õß:³ÌÐòÔ³VB½ã,Ó¦Óо¡ÓС£