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

Linux·¢Ëͺ¯Êýdev_queue_xmit·ÖÎö

µ±Éϲã×¼±¸ºÃÒ»¸ö°üÖ®ºó£¬½»¸øÏÂÃæÕâ¸öº¯Êý´¦Àí
int dev_queue_xmit(struct sk_buff *skb)
{
struct net_device *dev = skb->dev;
struct netdev_queue *txq;
struct Qdisc *q;
int rc = -ENOMEM;
/* GSO will handle the following emulations directly. */
if (netif_needs_gso(dev, skb))
goto gso;
//Ê×ÏÈÅжÏskbÊÇ·ñ±»·Ö¶Î£¬Èç¹û·ÖÁ˶β¢ÇÒÍø¿¨²»Ö§³Ö·ÖÉ¢¶ÁµÄ»°ÐèÒª½«ËùÓжÎÖØÐÂ×éºÏ³ÉÒ»¸ö¶Î
//ÕâÀï__skb_linearizeÆäʵ¾ÍÊÇ__pskb_pull_tail(skb, skb->data_len),Õâ¸öº¯Êý»ù±¾ÉϵÈͬÓÚpskb_may_pull
//pskb_may_pullµÄ×÷ÓþÍÊǼì²âskb¶ÔÓ¦µÄÖ÷bufÖÐÊÇ·ñÓÐ×ã¹»µÄ¿Õ¼äÀ´pull³ölen³¤¶È£¬
//Èç¹û²»¹»¾ÍÖØзÖÅäskb²¢½«fragsÖеÄÊý¾Ý¿½±´ÈëзÖÅäµÄÖ÷buffÖУ¬¶øÕâÀォ²ÎÊýlenÉèÖÃΪskb->datalen£¬
//Ò²¾ÍÊǻὫËùÓеÄÊý¾ÝÈ«²¿¿½±´µ½Ö÷buffÖУ¬ÒÔÕâÖÖ·½Ê½Íê³ÉskbµÄÏßÐÔ»¯
if (skb_shinfo(skb)->frag_list &&
!(dev->features & NETIF_F_FRAGLIST) &&
__skb_linearize(skb))
goto out_kfree_skb;
/* Fragmented skb is linearized if device does not support SG,
* or if at least one of fragments is in highmem and device
* does not support DMA from it.
*/
//Èç¹ûÉÏÃæÒѾ­ÏßÐÔ»¯ÁËÒ»´Î£¬ÕâÀïµÄ__skb_linearize¾Í»áÖ±½Ó·µ»Ø
//×¢ÒâÇø±ðfragsºÍfrag_list£¬
//Ç°ÕßÊǽ«¶àµÄÊý¾Ý·Åµ½µ¥¶À·ÖÅäµÄÒ³ÃæÖУ¬sk_buffÖ»ÓÐÒ»¸ö¡£¶øºóÕßÔòÊÇÁ¬½Ó¶à¸ösk_buff
if (skb_shinfo(skb)->nr_frags &&
(!(dev->features & NETIF_F_SG) || illegal_highdma(dev, skb)) &&
__skb_linearize(skb))
goto out_kfree_skb;
/* Èç¹û´Ë°üµÄУÑéºÍ»¹Ã»ÓмÆËã²¢ÇÒÇý¶¯²»Ö§³ÖÓ²¼þУÑéºÍ¼ÆË㣬ÄÇôÐèÒªÔÚÕâÀï¼ÆËãУÑéºÍ*/
if (skb->ip_summed == CHECKSUM_PARTIAL) {
skb_set_transport_header(skb, skb->csum_start -
skb_headroom(skb));
if (!dev_can_checksum(dev, skb) && skb_checksum_help(skb))
goto out_kfree_skb;
}
gso:
/* Disable soft irqs for various locks below. Also
* stops preemption for RCU.
*/
rcu_read_lock_bh();
//Ñ¡ÔñÒ»¸ö·¢ËͶÓÁУ¬Èç¹ûÉ豸ÌṩÁËselect_queue»Øµ÷º¯Êý¾ÍʹÓÃËü£¬·ñÔòÓÉÄÚºËÑ¡ÔñÒ»¸ö¶ÓÁÐ
//´ó²¿·ÖÇý¶¯¶¼²»»áÉèÖöà¸ö¶ÓÁ


Ïà¹ØÎĵµ£º

linuxÏÂmysqlµÄʹÓÃ


Æô¶¯mysql:  /etc/rc.d/init.d/mysql start
ÐÞ¸ÄÃÜÂë: ¸ñʽ£ºmysqladmin -uÓû§Ãû -p¾ÉÃÜÂë password ÐÂÃÜÂë
ʹÓÃÃÜÂëµÇ¼:  mysql -u root -p
ÏÔʾÊý¾Ý¿â:  show databases;
Ñ¡ÔñÊý¾Ý¿â:  use Êý¾Ý¿âÃû;
ÏÔʾ±í:  show tables;
ÏÔʾ±í½á¹¹:  descibe ±íÃû;
Ô¶³ÌµÇ¼mysqlÐèÒª¿ªÆôÈ ......

LinuxЭÒéÕ»Ô´Âë·ÖÎö¶ÁÊé±Ê¼Ç(Ò»)

   ½ñÌì¶ÁÁ˱¾ÊéµÄµÚÒ»ÕÂ.ÕâÒ»Õ³õ²½½éÉÜÁËLinuxÄں˵Ä×ÜÌå²¼¾Ö,Ò²¾ÍÊÇ×ÜÌåÉÏÀ´¿´ÓÐÄÄЩģ¿é×é³É.´ÓÉϵ½ÏÂÖ÷ÒªÊÇ:glidc->ϵͳµ÷ÓÃ->(VFS,Schedular,Soft ISR,ISR,FILE Sytem,Task Manager,Memory Manager,IP Stack)À¨ºÅÀïÃæµÄ¸÷¸öÄ£¿é¶¼ÊDz¢ÁдæÔÚµÄ.Ä¿Ç°¶ÔÓÚÕâÆäÖеÄÐí¶àÃû´ÊÎÒ»¹²»ÊìϤ,²»½û¸Ðµ½²ÑÀ¢,Ҫѧ ......

Linux ¼ÖÆ×ÀÃæµÄ¼òµ¥¹¤¾ß

It's actually an application named <em><strong>recordmydesktop</strong></em>, which can be installed by <strong>sudo apt-get install recordmydesktop</strong>.
There are various kinds of purpose to use, but for me, I would like to present or show some mock-up to o ......

LinuxÄÚºËÉý¼¶È«¹ý³Ì(2_4_20

Ðò  ÑÔ
ÓÉÓÚ¿ª·¢»·¾³ÐèÒªÔÚlinux-2.6ÄÚºËÉϽøÐУ¬ÓÚÊÇ×¼±¸¶ÔÎÒµÄÐéÄâ»úÉϵÄLinuxϵͳÉý¼¶¡£Ã»Ïëµ½ÕâһŪ¾Í»¨ÁËÁ½Ììʱ¼ä(·´¸´×°ÏµÍ³£¬ÐÁ¿à°¡~~)£¬×ÜËã°ÑLinuxϵͳ´Ó2.4.20-8Äں˳ɹ¦Éý¼¶µ½ÁË2.6.18Äںˡ£
ÍøÉÏËäÈ»Óкܶà½éÉÜLinuxÄÚºËÉý¼¶µÄÎÄÕ£¬²»¹ýҪô¹ýʱ£¬ÏÂÔØÁ´½ÓʧЧ£»ÒªÃ´±í´ï²»Ç壬²»ÖªËùÔÆ£»¸ü¿ÉÆøµÄ ......

ѧϰLinuxÄں˵ķ½·¨Ð¡½ázz

¼Ù¶¨Äã»áCÓïÑÔ£¬¶øÇÒÃ÷°×CÓïÑÔÃæÏò¶ÔÏó±à³ÌµÄschme£¬¶Ô²Ù×÷ϵͳ£¨°üÀ¨µ÷¶È£¬ÄÚ´æ·ÖÅ䣬·ÖÒ³£¬Í¬²½£¬etc£©±È½ÏÁ˽⡣ÄÇôÄã¿ÉÒÔ°´ÕÕÈçÏÂ˳ÐòѧϰLinux Äںˡ£
    1.¿´Linux Device DriverÕâ±¾Êé¡£ÕâÊÇΪÁËÈÃÄ㶮µÃ±àÒëÄÚºËÄ£¿éµÄ·½·¨¡£»¹ÓÐΪLinux¸÷ÖÖÉ豸ÁôÏÂһЩӡÏó¡£Í¬Ê±Ò»±é¿´ÊéÒ»±ß¿´Ä³Ð©É豸µÄÔ´´ú ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØͼ | ¸ÓICP±¸09004571ºÅ