LinuxÄÚºËÖÐARMÖжÏʵÏÖÏê½ârequest_irq£¨£©
ÔÚlinuxÄÚºËÖÐÓÃÓÚÉêÇëÖжϵĺ¯ÊýÊÇrequest_irq£¨£©£¬º¯ÊýÔÐÍÔÚKernel/irq/manage.cÖж¨Ò壺
int request_irq(unsigned int irq, irq_handler_t handler,
unsigned long irqflags, const char *devname, void *dev_id)
irq
ÊÇÒªÉêÇëµÄÓ²¼þÖжϺš£
handler
ÊÇÏòϵͳע²áµÄÖжϴ¦Àíº¯Êý£¬ÊÇÒ»¸ö»Øµ÷º¯Êý£¬ÖжϷ¢Éúʱ£¬ÏµÍ³µ÷ÓÃÕâ¸öº¯Êý£¬dev_id²ÎÊý½«±»´«µÝ¸øËü¡£
irqflags
ÊÇÖжϴ¦ÀíµÄÊôÐÔ£¬ÈôÉèÖÃÁËIRQF_DISABLED
£¨ÀÏ°æ±¾ÖеÄSA_INTERRUPT£¬±¾°æzhonÒѾ²»Ö§³ÖÁË£©£¬Ôò±íʾÖжϴ¦Àí³ÌÐòÊÇ¿ìËÙ´¦Àí³ÌÐò£¬¿ìËÙ´¦Àí³ÌÐò±»µ÷ÓÃʱÆÁ±ÎËùÓÐÖжϣ¬ÂýËÙ´¦Àí³Ì
Ðò²»ÆÁ±Î£»ÈôÉèÖÃÁËIRQF_SHARED
£¨ÀÏ°æ±¾ÖеÄSA_SHIRQ£©£¬Ôò±íʾ¶à¸öÉ豸¹²ÏíÖжϣ¬ÈôÉèÖÃÁËIRQF_SAMPLE_RANDOM£¨ÀÏ°æ±¾ÖеÄ
SA_SAMPLE_RANDOM£©£¬±íʾ¶ÔϵͳìØÓй±Ï×£¬¶Ôϵͳ»ñÈ¡Ëæ»úÊýÓкô¦¡££¨Õ⼸¸öflagÊÇ¿ÉÒÔͨ¹ý»òµÄ·½Ê½Í¬Ê±Ê¹Óõģ©
dev_id
ÔÚÖжϹ²Ïíʱ»áÓõ½£¬Ò»°ãÉèÖÃΪÕâ¸öÉ豸µÄÉ豸½á¹¹Ìå»òÕßNULL¡£
devname
ÉèÖÃÖжÏÃû³Æ£¬ÔÚcat /proc/interruptsÖпÉÒÔ¿´µ½´ËÃû³Æ¡£
request_irq()·µ»Ø0±íʾ³É¹¦£¬·µ»Ø-INVAL±íʾÖжϺÅÎÞЧ»ò´¦Àíº¯ÊýÖ¸ÕëΪNULL£¬·µ»Ø-EBUSY±íʾÖжÏÒѾ±»Õ¼ÓÃÇÒ²»Äܹ²Ïí¡£
Ïà¹ØÎĵµ£º
ÀýÈ磺
/home/filesÎļþ¼ÐÏÂÓÐÎļþmain.c:
#include <stdio.h>
#include "tou.h"
void main()
{
a();
}
/home/files/commonÎļþ¼ÐÏÂÓÐÎļþtou.hºÍshixian.c¡£
tou.hΪ£º
extern void a();
ÈôÓжà¸öshixianÎļþ£¬±ÈÈçshixian1.c, shixian2.c£¬¶¼¿ÉÒÔÔÚtou.hÖÐÓÃexternÉùÃ÷³öÀ´¡£
shixian.cΪ£º
#inclu ......
¼¶±ð£º ³õ¼¶
Ñî ¾ (cdlyangj@cn.ibm.com), Èí¼þ¹¤³Ìʦ, IBM
2008 Äê 11 ÔÂ 27 ÈÕ
ÈçºÎ¶¨Î»Ó¦ÓóÌÐò¿ª·¢ÖеÄÄÚ´æÎÊÌ⣬һֱÊÇ inux Ó¦ÓóÌÐò¿ª·¢ÖеÄÆ¿¾±ËùÔÚ¡£ÓÐÒ»¿î·Ç³£ÓÅÐãµÄ linux Ï¿ªÔ´µÄÄÚ´æÎÊÌâ¼ì²â¹¤¾ß£ºvalgrind£¬Äܹ»¼«´óµÄ°ïÖúÄã½â¾öÉÏÊöÎÊÌâ¡£ÕÆÎÕ valgrind µÄʹÓÃÒÔ¼°¹ ......
LinuxÍøÂç¹ÜÀíԱӦƸ¿¼ÊÔÌ⣨º¬´ð°¸£©
Ò»£®Ìî¿ÕÌ⣺
£¨¼Ó´ÖµÄÎÄ×ÖΪ¸ÃÌâµÄ´ð°¸£©
1. ÔÚLinuxϵͳÖУ¬ÒÔ Îļþ
·½Ê½·ÃÎÊÉ豸 ¡£
2. LinuxÄÚºËÒýµ¼Ê±£¬´ÓÎļþ /etc/fstab
ÖжÁÈ¡Òª¼ÓÔصÄÎļþϵͳ¡£
3. LinuxÎļþϵͳÖÐÿ¸öÎļþÓà i½Úµã
À´±êʶ¡£
4. È«²¿´ÅÅÌ¿éÓÉËĸö²¿·Ö×é³É£¬·Ö±ðΪÒýµ¼¿é ¡¢×¨ÓÃ¿é ¡¢ i½Úµã±í¿é ......
Linuxϸ߲¢·¢µÄSquid·þÎñÆ÷£¬TCP TIME_WAITÌ×½Ó×ÖÊýÁ¿¾³£´ïµ½Á½¡¢ÈýÍò£¬·þÎñÆ÷ºÜÈÝÒ×±»ÍÏËÀ¡£Í¨¹ýÐÞ¸ÄLinuxÄں˲ÎÊý£¬¿ÉÒÔ¼õÉÙSquid·þÎñÆ÷µÄTIME_WAITÌ×½Ó×ÖÊýÁ¿¡£
¡¡¡¡
vi /etc/sysctl.conf
¡¡¡¡Ôö¼ÓÒÔϼ¸ÐУº
ÒýÓÃ
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_keepalive_time = 1200
net.ipv4.tcp_syncookie ......
O.S ʹÓÃGnu gprof½øÐÐLinuxƽ̨ϵijÌÐò·ÖÎö
¹Ø ¼ü ´Ê£ºgprof callgraph º¯ÊýÏûºÄµÄʱ¼ä LinuxÓ¦Ó÷ÖÎö
ÔĶÁÌáʾ£º±¾ÎĽéÉÜÁËÈçºÎʹÓÃGnu gprof ¶ÔLinuxƽ̨ϵÄÏÖÓгÌÐò½øÐÐÓÅ»¯·ÖÎöºÍÉú³É³ÌÐòµ÷ÓÃͼ¡£Ö÷ҪƫÖØÓÚ¶ÔÉú³ÉºÍʹÓÃÁ÷³Ìͼ×÷½éÉÜ¡£
Gprof ¼ò½é:
Gprof¹¦ÄÜ£º´òÓ¡³ö³ÌÐòÔËÐÐÖи÷¸öº¯ÊýÏûºÄ ......