µð¹ö±ëÀ» ÅëÇØ ¹è¿ì´Â ¸®´ª½º Ä¿³ÎÀÇ ±¸Á¶¿Í ¿ø¸®. 2
À§Å°ºÏ½º | 2020-05-12
eBook
2021-06-07
º¸À¯ 1 ´ëÃâ 0 ¿¹¾à 0
ezPDF | ±³º¸ÀüÀÚÃ¥
Ã¥ Á¤º¸
½ÅÀÔ ¸®´ª½º ½Ã½ºÅÛ °³¹ßÀÚºÎÅÍ 5³âÂ÷ °³¹ßÀÚ°¡ ½Ç¹«¸¦ Çϱâ À§ÇØ ¾Ë¾Æ¾ß ÇÒ
¸®´ª½º Ä¿³ÎÀÇ ÁÖ¿ä ¼ºê½Ã½ºÅÛÀ» ´Ù·ì´Ï´Ù!
½ÇÀü °³¹ß¿¡¼ ½ÅÀÔ »ç¿ø ¿·¿¡ Ä£ÀýÇÑ ¼±¹è °³¹ßÀÚ°¡ ¾É¾Æ¼ ¸®´ª½º Ä¿³Î¿¡ ´ëÇØ ²Ä²ÄÇÏ°Ô ¾Ë·ÁÁÖµí, ¸®´ª½º Ä¿³ÎÀ» ½±°í Ä£ÀýÇÏ°Ô ¼³¸íÇϴ åÀÔ´Ï´Ù. ÀÌ Ã¥Àº ÃֽйöÀü(LTS: 4.19)ÀÇ ¸®´ª½º Ä¿³Î ¼Ò½º¸¦ ÇÔ¼ö È帧À» µû¶ó°¡¸ç ÀÚ¼¼È÷ ºÐ¼®Çϰí ftrace¿Í TRACE32 °°Àº µð¹ö±ë ÅøÀ» Ȱ¿ëÇØ Ä¿³ÎÀÇ µ¿ÀÛ ¿ø¸®¸¦ ¼³¸íÇÕ´Ï´Ù. ¶ÇÇÑ ¶óÁ¸® ÆÄÀÌ¿¡¼ ¸®´ª½º Ä¿³ÎÀÇ ¼Ò½ºÄڵ带 Á÷Á¢ ¼öÁ¤ÇØ ¼³Ä¡ÇÑ ´ÙÀ½ Ä¿³ÎÀ» µð¹ö±ëÇÏ´Â ¹æ¹ýÀ» ´Ù·ì´Ï´Ù. °¢ Àå¿¡¼ ¼Ò°³ÇÏ´Â Ä¿³Î µð¹ö±ë ¹æ¹ýÀº ½Ç¹« °³¹ß¿¡ ±×´ë·Î Àû¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.
¢Ã [1ºÎ] Ä¿³Î µð¹ö±ë(ftrace), ÇÁ·Î¼¼½º, ÀÎÅÍ·´Æ®, ÀÎÅÍ·´Æ® ÈĹݺÎ, ¿öũť Æí
¸ÕÀú Ä¿³ÎÀ» µð¹ö±ëÇÏ´Â ¹æ¹ý°ú ÇÔ²² ftrace »ç¿ë¹ýÀ» ¼Ò°³ÇÕ´Ï´Ù. Ä¿³ÎÀ» ½ÇÇàÇÏ´Â ÁÖÀΰøÀÎ ÇÁ·Î¼¼½º¿Í ÀÎÅÍ·´Æ®¸¦ Ä¿³ÎÀÌ Ã³¸®ÇÏ´Â ¼¼ºÎ µ¿ÀÛ ¿ø¸®¸¦ ´Ù·ì´Ï´Ù. ÀÎÅÍ·´Æ® ÈĹݺθ¦ ó¸®ÇÏ´Â IRQ ½º·¹µå(threaded IRQ)¿Í Soft IRQ ±â¹ý°ú Ä¿³Î¿¡¼ ÈĹݺθ¦ ó¸®ÇÏ´Â ¿öũť¿¡ ´ëÇØ ¼³¸íÇÕ´Ï´Ù.
¢Ã [2ºÎ] ŸÀ̸Ó, µ¿±âÈ, ½ºÄÉÁÙ¸µ, ½Ã½ºÅÛ ÄÝ, ½Ã±×³Î, °¡»ó ÆÄÀÏ ½Ã½ºÅÛ, ¸Þ¸ð¸® °ü¸® Æí
Ä¿³ÎÀÌ ½Ã°£ÀÇ È帧À» °ü¸®ÇÏ´Â µ¿ÀÛ ¿ø¸®¿Í µ¿±âÈ ±â¹ý(½ºÇɶô, ¹ÂÅØ½º)À» ´Ù·ì´Ï´Ù. ¿©·¯ ÇÁ·Î¼¼½ºÀÇ ½ÇÇà È帧À» °ü¸®ÇÏ´Â ½ºÄÉÁÙ¸µÀÇ ¼¼ºÎ ±¸Çö ¹æ½Ä°ú ½Ã½ºÅÛ Äݰú ½Ã±×³ÎÀ» Ä¿³Î¿¡¼ ¾î¶² ¹æ½ÄÀ¸·Î ó¸®ÇÏ´ÂÁö ¼³¸íÇÕ´Ï´Ù. ´Ù¾çÇÑ ÆÄÀÏ ½Ã½ºÅÛÀ» °øÁ¸ÇØ ½ÇÇà½Ãų ¼ö ÀÖ´Â °¡»ó ÆÄÀÏ ½Ã½ºÅÛ°ú Ä¿³ÎÀÇ ¸Þ¸ð¸®¸¦ °ü¸®ÇÏ´Â ¹æ½Ä¿¡ ´ëÇØ ´Ù·ì´Ï´Ù.
ºÎ·ÏÀ¸·Î ¸®´ª½º Ä¿³ÎÀÇ ¸ÞÀϸµ ¸®½ºÆ®¸¦ Ȱ¿ëÇÏ´Â ¹æ¹ý°ú ¸®´ª½º Ä¿³Î¿¡ ±â¿©ÇÏ´Â ¹æ¹ýÀ» ÀÚ¼¼È÷ ¼Ò°³ÇÕ´Ï´Ù.
ÀúÀÚ Á¤º¸
±èµ¿Çö( ÀúÀÚ)
ÀúÀÚ : ±èµ¿Çö
ÀúÀÚ : ±èµ¿Çö
LGÀüÀÚ¿¡¼ 11³â° ÀÓº£µðµå ¸®´ª½º BSP ¿£Áö´Ï¾î·Î ÀÏÇϰí ÀÖ´Ù. ÁÖ·Î ¸®´ª½º Ä¿³Î µå¶óÀ̹ö¸¦ ¾ÈÁ¤È(Kernel Stability Troubleshooting)Çϰųª º¸µå¸¦ ºê¸µ¾÷ÇÏ´Â °úÁ¦¿¡ Âü¿©Çß´Ù. ·Î¿ì ·¹ÀÌ¾î ¼ÒÇÁÆ®¿þ¾î(ºÎÆ®·Î´õ, ¸®´ª½º Ä¿³Î µå¶óÀ̹ö)ÀÇ ´Ù¾çÇÑ ¹®Á¦¸¦ ÇØ°áÇÒ ¼ö ÀÖ´Â µð¹ö±ë ¹æ¹ý¿¡ °ü½ÉÀÌ ¸¹À¸¸ç ½Ç¹« Áö½ÄÀ» ºí·Î±×¸¦ ÅëÇØ ´Ù¸¥ °³¹ßÀÚ¿Í °øÀ¯ÇÏ´Â °ÍÀ» Áñ±ä´Ù.
- ºí·Î±×: http://rousalome.egloos.com/
¸ñÂ÷
¢Ã 08Àå: Ä¿³Î ŸÀÌ¸Ó °ü¸®
8.1 Ä¿³Î ŸÀ̸Ó(ÀúÇØ»óµµ ŸÀ̸Ó)ÀÇ ÁÖ¿ä °³³ä
___8.1.1 HZ¶õ?
___8.1.2 Soft IRQÀÇ Å¸ÀÌ¸Ó ¼ºñ½º¶õ?
___8.1.3 Soft IRQ ŸÀ̸Ó(TIMER_SOFTIRQ) ¼ºñ½º¿Í µ¿Àû ŸÀ̸Ӷõ?
___8.1.4 Ä¿³ÎÀÌ ½ÇÇà ½Ã°¢À» °ü¸®ÇÏ´Â ¹æ½ÄÀ» ¿Ö Àß ¾Ë¾Æ¾ß ÇÒ±î?
___8.1.5 Ä¿³Î ŸÀÌ¸Ó ¿ë¾î Á¤¸®
8.2 jiffies¶õ?
___8.2.1 jiffies ¼Ò°³
___8.2.2 jiffies¿Í jiffies_64 º¯¼ö
___8.2.3 jiffies °ªÀº ´©°¡ ¾ðÁ¦ Áõ°¡½Ãų±î?
___8.2.4 msecs_to_jiffies() ÇÔ¼ö¶õ?
8.3 Ä¿³Î¿¡¼ ½Ã°£À» È帧À» Á¦¾îÇÏ´Â ¹æ¹ý
___8.3.1 time_after()/time_before() ¸ÅÅ©·Î ÇÔ¼ö
___8.3.2 time_after()/time_before() ÇÔ¼öÀÇ »ç¿ë ¿¹
8.4 µ¿Àû ŸÀÌ¸Ó ÃʱâÈ
___8.4.1 µ¿Àû ŸÀ̸ÓÀÇ Àüü È帧
___8.4.2 µ¿Àû ŸÀÌ¸Ó ÀڷᱸÁ¶
___8.4.3 µ¿Àû ŸÀÌ¸Ó ÃʱâÈ ÇÔ¼ö
8.5 µ¿Àû ŸÀÌ¸Ó µî·Ï
___8.5.1 µ¿Àû ŸÀ̸ÓÀÇ µî·Ï
___8.5.2 µ¿Àû ŸÀÌ¸Ó µî·Ï °úÁ¤ÀÇ ÁÖ¿ä ÇÔ¼ö
___8.5.3 µ¿Àû ŸÀÌ¸Ó µî·Ï °úÁ¤¿¡¼ È£ÃâÇÏ´Â ÇÔ¼ö ºÐ¼®
8.6 µ¿Àû ŸÀ̸Ӵ ´©°¡ ¾ðÁ¦ ½ÇÇàÇÒ±î?
___8.6.1 Soft IRQ ŸÀÌ¸Ó ¼ºñ½º¿¡¼ µ¿Àû ŸÀ̸Ӹ¦ ½ÇÇàÇÏ´Â °úÁ¤
___8.6.2 Soft IRQ ŸÀÌ¸Ó ¼ºñ½ºÀÇ 1~2´Ü°è ºÐ¼®
___8.6.3 Soft IRQ ŸÀÌ¸Ó ¼ºñ½º¿¡¼ µî·ÏµÈ µ¿Àû ŸÀ̸Ӹ¦ üũÇÏ´Â ´Ü°èÀÇ ÄÚµå ºÐ¼®
___8.6.4 Soft IRQ ŸÀÌ¸Ó ¼ºñ½º Çڵ鷯¿¡¼ µî·ÏµÈ µ¿Àû ŸÀ̸Ӹ¦ ½ÇÇàÇÏ´Â ´Ü°èÀÇ ÄÚµå ºÐ¼®
8.7 ¶óÁ¸® ÆÄÀÌ¿¡¼ÀÇ µ¿Àû ŸÀÌ¸Ó ½Ç½À ¹× ·Î±× ºÐ¼®
___8.7.1 ftraceÀÇ µ¿Àû ŸÀÌ¸Ó µð¹ö±ë À̺¥Æ® ¼Ò°³
___8.7.2 ¶óÁ¸® ÆÄÀÌ¿¡¼ÀÇ µ¿Àû ŸÀÌ¸Ó µî·Ï ¹× ½ÇÇà °úÁ¤À» ftrace·Î È®ÀÎÇϱâ
8.8 Á¤¸®
¢Ã 09Àå: Ä¿³Î µ¿±âÈ
9.1 Ä¿³Î µ¿±âÈÀÇ ÁÖ¿ä °³³ä
___9.1.1 ÀÓ°è ¿µ¿ª°ú ·¹À̽º ÄÁµð¼Ç
___9.1.2 ·¹À̽º ÄÁµð¼ÇÀº ¿Ö ¹ß»ýÇÒ±î?
___9.1.3 ·¹À̽º ÄÁµð¼Ç °ü·Ã Ä¿³Î ÆÐÄ¡
9.2 ·¹À̽º ÄÁµð¼Ç ¹ß»ý ½Ç½À
___9.2.1 À¯Àú ÇÁ·Î¼¼½º¿¡¼ ½Ã½ºÅÛ ÄÝÀ» È£ÃâÇÒ ¶§ ¹ß»ýÇÏ´Â ·¹À̽º ÄÁµð¼Ç
___9.2.2 Ä¿³Î ÇÁ·Î¼¼½ºÀÇ ·¹À̽º ÄÁµð¼Ç
___9.2.3 ÀÎÅÍ·´Æ® ¹ß»ýÀ¸·Î ÀÎÇÑ ·¹À̽º ÄÁµð¼Ç ¹ß»ý
9.3 Ä¿³Î µ¿±âÈ ±â¹ý
___9.3.1 ½ºÇɶô°ú ¹ÂÅØ½º ±â¹ý
___9.3.2 ½ºÇɶô°ú ¹ÂÅØ½º ±â¹ýÀÇ Â÷ÀÌÁ¡
9.4 ½ºÇɶô
___9.4.1 ½ºÇɶôÀÇ Æ¯Â¡
___9.4.2 ½ºÇɶô ÀڷᱸÁ¶
___9.4.3 ½ºÇɶô »ç¿ë ¿¹Á¦
___9.4.4 ½ºÇɶô ó¸® È帧
___9.4.5 spin_lock() ÇÔ¼öÀÇ ÀζóÀÎ ¾î¼Àºí¸® ÄÚµå ºÐ¼®
___9.4.6 spin_lock() ÇÔ¼öÀÇ ¾î¼Àºí¸® ÄÚµå ºÐ¼®
___9.4.7 spin_unlock() ÇÔ¼ö ºÐ¼®
___9.4.8 ½ºÇɶô Ç÷¯±×ÀÎ ÇÔ¼ö: spin_lock_irq()/spin_unlock_irq()
___9.4.9 ½ºÇɶô Ç÷¯±×ÀÎ ÇÔ¼ö: spin_lock_irqsave()/spin_unlock_irqrestore()
9.5 ¹ÂÅØ½º¶õ?
___9.5.1 ¹ÂÅØ½ºÀÇ ±âº» °³³ä
___9.5.2 ¹ÂÅØ½ºÀÇ fastpath µ¿ÀÛ
___9.5.3 ¹ÂÅØ½º slowpath: mutex_lock() ÇÔ¼ö ºÐ¼®
___9.5.4 ¹ÂÅØ½º slowpath: mutex_unlock() ÇÔ¼ö ºÐ¼®
9.6 Ä¿³Î µ¿±âÈ µð¹ö±ë
___9.6.1 ½ºÇɶô
___9.6.2 ¹ÂÅØ½º µð¹ö±ë
9.8 Á¤¸®
¢Ã 10Àå: ÇÁ·Î¼¼½º ½ºÄÉÁÙ¸µ
10.1 ½ºÄÉÁÙ¸µÀÇ ÁÖ¿ä °³³ä
___10.1.1 ½ºÄÉÁÙ¸µÀ̶õ?
___10.1.2 ¼±Á¡ ½ºÄÉÁÙ¸µ°ú ºñ¼±Á¡ ½ºÄÉÁÙ¸µÀ̶õ?
___10.1.3 ÄÁÅØ½ºÆ® ½ºÀ§ÄªÀ̶õ?
___10.1.4 ½ºÄÉÁÙ¸µ Á¤Ã¥À̶õ?
___10.1.5 ½ºÄÉÁÙ·¯ Ŭ·¡½º¶õ?
___10.1.6 ·±Å¥¶õ?
___10.1.7 ¿ì¼±¼øÀ§(nice)¶õ?
10.2 ÇÁ·Î¼¼½º »óÅ °ü¸®
___10.2.1 ÇÁ·Î¼¼½º »óÅÂ
___10.2.2. ÇÁ·Î¼¼½º »óÅ º¯È
___10.2.3 ¾î¶² ÇÔ¼ö°¡ ÇÁ·Î¼¼½º »óŸ¦ ¹Ù²Ü±î?
___10.2.4 ÇÁ·Î¼¼½º »óŸ¦ ftrace·Î È®ÀÎÇϱâ
10.3 ½ºÄÉÁÙ·¯ Ŭ·¡½º
___10.3.1 ½ºÄÉÁÙ·¯ Ŭ·¡½º ÀڷᱸÁ¶
___10.3.2 5°¡Áö ½ºÄÉÁÙ·¯ Ŭ·¡½º¶õ?
___10.3.3 ÇÁ·Î¼¼½º´Â ½ºÄÉÁÙ·¯ Ŭ·¡½º¸¦ ¾î¶»°Ô µî·ÏÇÒ±î?
___10.3.4 ÇÁ·Î¼¼½º´Â ½ºÄÉÁÙ·¯ Ŭ·¡½º·Î ½ºÄÉÁÙ·¯ÀÇ ¼¼ºÎ ÇÔ¼ö¸¦ ¾î¶»°Ô È£ÃâÇÒ±î?
10.4 ·±Å¥
___10.4.1 ·±Å¥ ÀڷᱸÁ¶(rq) ¼Ò°³
___10.4.2 runqueues º¯¼ö
___10.4.3 ·±Å¥¿¡ Á¢±ÙÇÏ´Â ÇÔ¼ö
___10.4.4 ·±Å¥ ÀڷᱸÁ¶
10.5 CFS ½ºÄÉÁÙ·¯
___10.5.1 CFS ½ºÄÉÁÙ·¯ÀÇ ÁÖ¿ä °³³ä
___10.5.2 CFS ½ºÄÉÁÙ·¯ ¾Ë°í¸®Áò
___10.5.3 CFS °ü·Ã ¼¼ºÎ ÇÔ¼ö ºÐ¼®
___10.5.4 vruntimeÀ» ftrace·Î È®ÀÎÇÏ´Â ½Ç½À
10.6 ¼±Á¡ ½ºÄÉÁÙ¸µ
___10.6.1 ¼±Á¡ ½ºÄÉÁÙ¸µÀ̶õ?
___10.6.2 ¼±Á¡ ½ºÄÉÁÙ¸µ ÁøÀÔÁ¡Àº ¾îµðÀϱî?
___10.6.3 ¼±Á¡ ½ºÄÉÁÙ¸µÀÇ ¹ß»ý ½ÃÁ¡À» ¾Æ´Â °ÍÀº ¿Ö Áß¿äÇÒ±î?
___10.6.4 ¼±Á¡ ½ºÄÉÁÙ¸µÀÇ ÁøÀÔÁ¡: Ä¿³Î ¸ðµå Áß ÀÎÅÍ·´Æ® ¹ß»ý
___10.6.5 ¼±Á¡ ½ºÄÉÁÙ¸µ ÁøÀÔÁ¡: À¯Àú ÇÁ·Î¼¼½º ½ÇÇà Áß ÀÎÅÍ·´Æ® ¹ß»ý
___10.6.6 ¼±Á¡ ½ºÄÉÁÙ¸µ ÁøÀÔÁ¡:
ÃßÃµÇØ¿ä
- µî·ÏµÈ Ãßõ±ÛÀÌ ¾ø½À´Ï´Ù.
±èµ¿ÇöÀÇ ´Ù¸¥ Ã¥