· KLDP.org · KLDP.net · KLDP Wiki · KLDP BBS ·
EDAC



1. Intro

  • ¿ø¹®Àº [http]¿©±â ¿¡¼­ º¼ ¼ö ÀÖ´Ù.
  • ÀÌ À§Å°´Â À§ÀÇ ¿ø¹®¿¡ ´ëÇÑ ¹ø¿ªº» ÀÌ´Ù.
  • ¹ø¿ª: ÀåÇö¼º <hsjang@neowiz.com>


2. ÀÌ°Ô ¹ºµ¥?

EDAC ´Â "Error Detection And Correction"ÀÇ ¾àÀÚÀÌ´Ù. Linux EDAC ÇÁ·ÎÁ§Æ®´Â Linux Kernel Module ½Ã¸®ÁîÀÇ Áß ÄÄÇ»ÅÍ Çϵå¿þ¾î ¿¡·¯°ËÃâ ÆÄÆ®¿¡ Æ÷ÇԵǾî ÀÖ°í, ÇöÀç ¾Æ·¡ÀÇ ¿¡·¯ °ËÃâÀÌ Áö¿øµÈ´Ù.
  • ½Ã½ºÅÛ ·¥ ¿¡·¯(ÀÌ ÇÁ·ÎÁ§Æ®ÀÇ ±âº» ¸ñÀûÀ̸ç, °¡Àå ¸¹ÀÌ ±¸ÇöµÇ¾î ÀÖ´Ù) - ¸¹Àº ÄÄÇ»Å͵éÀÌ RAM EDAC(°í°¡¿ë¼º ¾îÇø®ÄÉÀ̼ÇÀ» ¸ñÇ¥·ÎÇϴ Ĩ¼Âµé) À» Áö¿øÇÑ´Ù. ±×·¯³ª ÀÌ ±â´ÉÀÌ µ¿ÀÛÇϱâ À§Çؼ± ECC RAM ÀÌ ÇÊ¿äÇÏ´Ù.
  • PCI ¹ö½º Àü¼Û¿¡·¯ - PCI ºê¸®Áö À§ÁÖÀ̸ç ÁÖº¯ÀåÄ¡ ¿¡·¯°ËÃâµµ Áö¿ø.

3. ÀÌ°Ô ¿Ö ÇÊ¿äÇÏÁö?

ÃÖ±ÙÀÇ Linux ½Ã½ºÅÛ¿¡¼­ EDAC ¸ðµâÀÌ ¾ø´Ù¸é...
  • PCI data ¿À·ù¸¦ °æÇèÇÏ°Ô µÉ °ÍÀÌ´Ù. (¿¹¸¦µé¸é, NIC³ª ½ºÅ丮Áö ¾î´ðÅÍ ¿Í PCI ¹ö½º »çÀ̸¦ ¿Ô´Ù°¬´ÙÇÏ´Â µ¥ÀÌÅ͵é) ±×¸®°í ´ëºÎºÐÀÇ ½Ã½ºÅÛÀº PCI µð¹ÙÀ̽º¿¡¼­ Á¦°øÇÏ´Â PCI Æи®Æ¼ ¿¡·¯¸¦ üũÇÏÁö ¾Ê´Â´Ù. (¾î¶²³ðµéÀº NMI ¸¦ À¯¹ß½ÃÅ°±âµµ Çϴµ¥ ´ç½ÅÀº ¹¹°¡ NMI¸¦ ¹ß»ý½ÃÅ°´ÂÁö ¸ð¸£Áö ¾Ê´Â°¡..)
    • [http]NMI¶õ?? - non maskable interrupt. ½Ã½ºÅÛÀÇ standard interrupt masking Å×Å©´Ð(ÀÌ°Ô¹¹Áö??)À¸·Î ¹«½ÃµÉ¼ö ¾ø´Â ÄÄÇ»ÅÍ ÇÁ·Î¼¼¼­ ÀÎÅÍ·´Æ®ÀÌ´Ù. ÀÌ°ÍÀº ÀϹÝÀûÀ¸·Î º¹±¸µÉ¼ö ¾ø´Â Çϵå¿þ¾î ¿¡·¯°¡ ¹ß»ýÇßÀ»¶§ ÁÖÀǸ¦ ÁÖ±â À§ÇÑ ½ÅÈ£·Î »ç¿ëµÈ´Ù.
  • ´ç½ÅÀÌ ECC ¸Þ¸ð¸®¸¦ °¡Áö°í ÀÖ°í Á¤Á¤°¡´ÉÇÑ ECC ¿À·ù¸¦ ¹ß°ßÇÑ´ÙÇصµ ±×°Ô Á¤È®È÷ ¹ºÁö ¾Ë ¼ö ¾øÀ»°ÍÀÌ´Ù. ½Ã½ºÅÛ¿¡ EDAC ¸ðµâÀÌ ¼³Ä¡µÇ¾î ÀÖ´Ù¸é, ¿¡·¯°¡ º¹±¸ÇÒ ¼ö ¾øÀ» Áö°æÀÌ µÇ±â Àü¿¡ ´ç½ÅÀº ³ª»Û(!) ¸Þ¸ð¸® ¸ðµâÀÌ ¾î¶²°ÍÀÎÁö ¾Ë¼ö ÀÖÀ»°ÍÀÌ´Ù. ÀÌ´Â ½Ã½ºÅÛÀÌ ¼­ºñ½º¿¡ ÅõÀԵDZâ Àü¿¡ Ãʵµ ºÒ·®À» ã¾Æ ³¾ ¼ö ÀÖ´Ù´Â °ÍÀ» ÀǹÌÇϱ⵵ ÇÑ´Ù.
  • ´ç½ÅÀÌ ECC¸¦ Áö¿øÇÏ´Â ¸ÞÀκ¸µå¸¦ °¡Áö°í Àִµ¥, BIOS¿¡¼­ ECC ¸ðµå¸¦ È°¼ºÈ­½ÃÅ°Áö ¾Ê¾Ò´Ù¸é, ¾Ë¼ö¾ø´Â ¸Þ¸ð¸® ¿¡·¯·Î ½Ã½ºÅÛÀÌ »¸À»¶§±îÁö ´ç½ÅÀº ¾Æ¹«°Íµµ ¾Ë ¼ö ¾ø´Ù. (ÀÌ °æ¿ì NMI °æ°íµµ ¹ÞÀ» ¼ö ¾ø°í ECC¸Þ¸ð¸®¸¦ »ç´Âµ¥ »ç¿ëÇÑ µ·Àº ³¶ºñµÇ´Â °ÍÀÌ´Ù.)

4. ¾î¶»°Ô ÄÑÁö??

  • PCI ¿¡·¯Ã¼Å·Àº ¾Æ·¡¿Í °°ÀÌ »ç¿ëÇÒ ¼ö ÀÖ´Ù.
dougal:~# modprobe edac_mc 
dougal:~# cd /sys/devices/system/edac/pci/
dougal:/sys/devices/system/edac/pci# cat check_pci_parity
0
dougal:/sys/devices/system/edac/pci# echo 1 > check_pci_parity
dougal:/sys/devices/system/edac/pci# cat pci_parity_count
1
dougal:/sys/devices/system/edac/pci# dmesg | tail -4
usb0: rxqlen 0 --> 4
usb0: no IPv6 routers present
EDAC MC: Ver: 2.0.1 May  9 2007
EDAC PCI: Detected Parity Error on 0000:00:09.0
dougal:/sys/devices/system/edac/pci# lspci -s 0000:00:09.0
00:09.0 Multimedia audio controller: Yamaha Corporation YMF-744B [DS-1S Audio Controller] (rev 02)
dougal:/sys/devices/system/edac/pci# arecord > /dev/null
Recording WAVE 'stdin' : Unsigned 8 bit, Rate 8000 Hz, Mono
Aborted by signal Interrupt...
dougal:/sys/devices/system/edac/pci# cat pci_parity_count
15
dougal:/sys/devices/system/edac/pci# dmesg | tail -4
EDAC PCI: Detected Parity Error on 0000:00:09.0
EDAC PCI: Detected Parity Error on 0000:00:09.0
EDAC PCI: Detected Parity Error on 0000:00:09.0
EDAC PCI: Detected Parity Error on 0000:00:09.0
¿À¸¶ÀÌ°«, ³ªÀÇ ·¦Å¾ÀÇ »ç¿îµå µð¹ÙÀ̽º°¡ ¸Á°¡Áø°Í °°´Ù.. Áö±ÝÇöÀç PCI üŷÀÌ edac_mc(memory controller) Ä¿³Î¸ðµâ¿¡ µé¾î°¡ ÀÖÁö¸¸ ¶§°¡ µÇ¸é ºÐ¸®µÉ °ÍÀÌ´Ù. À§¿¡¼­ º¸µíÀÌ PCI ¿¡·¯Ã¼Å·Àº ±âº»À¸·Î OFF µÇ¾î ÀÖ°í, »ç¿ëÇÏ·Á¸é À§¿Í °°ÀÌ ÄÑ¸é µÈ´Ù.

5. EDAC¿¡¼­ º¸¿©ÁÖ´Â ¿¡·¯¿¡ ´ëÇØ

EDAC ÀÌ ´ç½ÅÀÇ ½Ã½ºÅÛ¿¡¼­ ¿¡·¯¸¦ ¸®Æ÷Æà ÇÑ´Ù¸é [http]³» ÄÄ¿¡ ¿Ö ¸Þ¸ð¸® ¿¡·¯°¡ ¶ßÁö? ¿Í [http]³» ÄÄ¿¡ ¿Ö PCI ¿¡·¯°¡ ¶ßÁö? ¸¦ Âü°íÇضó. ¹ö±×¸®Æ÷Æ®³ª ¸ÞÀϸµ¸®½ºÆ®¿¡ Æ÷½ºÆÃÇϱâÀü¿¡ À§ÀÇ ¸µÅ©¿Í ÀÌ ¹®¼­¸¦ Âü°íÇؼ­ ¹®Á¦Á¡À» ¸ÕÀú È®ÀÎÇضó.

6. EDAC Bug µ¥ÀÌÅͺ£À̽º

¸¸¾à ´ç½ÅÀÌ ¹ö±×¸¦ ã¾Ò´Ù°í »ý°¢Çϸé [http]EDAC Bugzilla ¸¦ °Ë»öÇؼ­ ÀÌ¹Ì ¸®Æ÷Æ®µÇ¾ú´ÂÁö È®ÀÎÇضó. (ÇØ´ç¹ö±×ÀÇ cc ¸®½ºÆ®¿¡ ´ç½ÅÀ» Ãß°¡Çؼ­ ¾÷µ¥ÀÌÆ®¿¡ °ü·ÃµÈ ³»¿ëÀ» ¹Þ¾Æº¼ ¼ö ÀÖ´Ù). ã¾Æº¸°í ¾øÀ¸¸é »õ·Î¿î ¹ö±× ¸®Æ÷Æ®¸¦ Æ÷½ºÆÃÇÏ¸é µÈ´Ù.

7. In Kernel ¹®¼­

Ä¿³Î¼Ò½ºÀÇ Documentation/drivers/edac/ µð·ºÅ丮 ¾È¿¡µµ ¾à°£ÀÇ ¹®¼­°¡ ÀÖ´Ù.

8. EDAC ¸ÞÀϸµ ¸®½ºÆ®

´ëºÎºÐÀÇ EDAC °³¹ßÀÚµéÀº EDAC ¸ÞÀϸµ ¸®½ºÆ®¸¦ ÁÖ½ÃÇÏ°í ÀÖÀ¸³ª ´ëºÎºÐÀÇ EDAC °³¹ßÀÚµéÀÌ EDAC °³¹ßÀ» ÁÖ¾÷¹«·Î ÇÏ°í ÀÖÁö ¾ÊÀ½À» ±â¾ïÇØÁֱ⠹ٶõ´Ù. ±×·¯´Ï ¾î¶² ¹®Á¦°¡ »ý±â¸é À§Å°¿Í ¹ö±× µ¥ÀÌÅͺ£À̽º ±×¸®°í ¸ÞÀϸµ¸®½ºÆ®¸¦ ¸ÕÀú Âü°íÇØÁֱ⠹ٶõ´Ù. ¿©±â¼­ ãÁö ¸øÇÑ ¹®Á¦µéÀº ¸ÞÀϸµ ¸®½ºÆ®¿¡ Æ÷½ºÆ® Çضó.
  • °ø¼ÕÇÏ°Ô..
  • ´ç½Å ½Ã½ºÅÛ¿¡ ´ëÇÑ Á¤È®ÇÑ Á¤º¸¸¦ Á¦°ø.. (¿¹¸¦µé¸é Á¤È®ÇÑ Ä¿³Î¹öÀüÀ̶óµç°¡..)
  • ÂüÀ»¼ºÀ» °¡Áö°í..

¸¸¾à ´äÀåÀ» ¹Þ°Å³ª, À§Å°¿¡ ¾ø´Â °ÍÀ» ã¾Æ¼­ ¹®Á¦¸¦ ÇØ°áÇÏ¿´´Ù¸é ÀÌ °÷ À§Å°¿¡ ÇØ´ç Á¤º¸¸¦ ±â·ÏÇؼ­ ´Ù¸¥ »ç¶÷µé¿¡°Ô µµ¿òÀÌ µÉ ¼ö ÀÖµµ·Ï ÇÏÀÚ.

9. Userspace Tools

[http]http://sourceforge.net/projects/edac-utils ¿¡ »ç¿ëÀÚµéÀ» À§ÇÑ µµ±¸µéÀÌ °³¹ßÁß¿¡ ÀÖ´Ù. ÀÌ°÷¿¡´Â µµ¿òÀÌ ¸¹ÀÌ ÇÊ¿äÇÏ´Ï ¸¹Àº Âü¿© ¹Ù¶õ´Ù.

10. Status

EDAC ÄÚµå´Â Linux Kernel version 2.6.16¿¡ Æ÷ÇԵǾú´Ù. ±×¸®°í userspace API°¡ 2.6.18 °ú ±× ÀÌ»ó¿¡ Æ÷ÇԵǾú´Ù.

11. ¼Ò½ºÄÚµå ¾ò±â

Á» ´õ ÃֽŹöÀüÀÇ Äڵ带 ¿øÇϸé, ¼Ò½ºÆ÷Áö ´Ù¿î·Îµå ÆäÀÌÁö³ª À͸íSVN üũ¾Æ¿ôÀ» ÅëÇØ ¾òÀ» ¼ö ÀÖ´Ù.
$ cd mydev-dir
$ svn checkout https://bluesmoke.svn.sourceforge.net/svnroot/bluesmoke/trunk edac-trunk/
$ less bluesmoke/edac/patches/README
2007³â 5¿ù ÀÌÀü°ÍµéÀº CVS¿¡¼­ ãÀ» ¼ö ÀÖ´Ù. ¼Ò½ºÆ÷Áö ¸ÞÀÎÆäÀÌÁöÀÇ CVS Á¤º¸¸¦ È®ÀÎÇضó..

ÀÌ ÄÚµåµéÀ» »ç¿ëÇÏ·Á¸é ÃֽŠ¸®´ª½º Ä¿³Îµµ ÇÊ¿äÇÏ´Ù. ¾Æ´Ï¸é ±×³É ÃÖ±ÙÀÇ º¯°æ»çÇ׸¸ È®ÀÎÇÏ·Á¸é ¾Æ·¡ÀÇ SVN ¿¡¼­ º¼ ¼ö ÀÖ´Ù.

12. È÷½ºÅ丮

EDAC ÇÁ·ÎÁ§Æ®´Â ¸®´ª½º Ä¿³ÎÀÇ ¸ÞÀνºÆ®¸²¿¡ Æ÷ÇԵDZâ Àü "Bluesmoke" ¶ó´Â À̸§¿¡¼­ º¯°æµÈ °ÍÀÌ´Ù. Bluesmoke ÄÚµå´Â Thayne Harbaugh°¡ ÀÛ¼ºÇÏ¿´´Ù. Linux-ECC ÇÁ·ÎÁ§Æ®´Â EDACÀÇ ¼±ÇÁ·ÎÁ§Æ® ¿´°í EDAC°¡ ³ª¿À´Âµ¥ ¿µ°¨À» ÁÖ¾ú´Ù. Dan Hollis ¿Í ¿©·¯»ç¶÷µé¿¡ ÀÇÇØ °³¹ßµÈ Linux-ECC ÇÁ·ÎÁ§Æ®´Â ÇöÀç ´õÀÌ»ó À¯ÁöµÇÁö ¾Ê°í ÀÖ´Ù.

13. Áö¿øµÇ´Â Çϵå¿þ¾î ¸®½ºÆ®

  • Áö¿øµÇ´Â ¸ÞÀθ޸𸮠ÄÁÆ®·Ñ·¯µé
Manufacturer Model EDAC Driver Tech Docs Controll Capabilities Status
AMD Opteron k8_edac.c [http]AMD EDAC, ErrorScrub, BackgroundScrub Supported Development Tree
AMD Athlon64 k8_edac.c [http]AMD EDAC, ErrorScrub, BackgroundScrub Supported Development Tree
AMD AthlonFX k8_edac.c [http]AMD EDAC, ErrorScrub, BackgroundScrub Supported Development Tree
AMD 760 amd76x_edac.c [http]AMD Supported(Linux 2.6.16)
AMD 762 amd76x_edac.c [http]AMD Supported(Linux 2.6.16)
AMD 768 amd76x_edac.c [http]AMD Supported(Linux 2.6.16)
Intel e7500 e7xx_edac.c Supported(Linux 2.6.16)
Intel e7501 e7xx_edac.c Supported(Linux 2.6.16)
Intel e7505 e7xx_edac.c Supported(Linux 2.6.16)
Intel e7520 e752x_edac.c Supported(Linux 2.6.16)
Intel e7525 e752x_edac.c Supported(Linux 2.6.16)
Intel 8287p i82875p_edac.c EDAC Supported(Linux 2.6.16)
Intel e7210 Supported(Linux 2.6.16)
Intel 82860 i82860_edac.c Supported(Linux 2.6.16)
Intel 5000(P/V/X) i5000_edac.c Patch in CVS
Intel 82443BX/GX(440BX/GX) i82443bxgx_edac.c [http]Intel EDAC, ErrorScrub Patch in SVN
Radisys 82600 r82600_edac.c [http]Radisys EDAC, ErrorScrub Supported(linux 2.6.16)
Via VT82c693(pro133) [http]Local EDAC Author Needed


ID
Password
Join
Nobody expects the Spanish Inquisition!


sponsored by andamiro
sponsored by cdnetworks
sponsored by HP

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2011-06-01 15:48:35
Processing time 0.0116 sec