ÀÌ Ã¥Àº ARM64 ±â¹ÝÀÇ ÃֽЏ®´ª½º Ä¿³ÎÀÇ ÁÖ¿ä ¼ºê½Ã½ºÅÛÀ» ÄÚµå ¼öÁØ¿¡¼ ºÐ¼®Çϰí ÀÖ´Ù. ƯÁ¤ ±â´ÉÀÌ µ¿ÀÛÇÏ´Â ÄÚµåÇ÷ο츦 ÄÚµå ·¹º§¿¡¼ ¼³¸íÇϰí ÀÖÀ¸¸ç, ¾à 360°³ÀÇ ±×¸²À» ÅëÇØ ÁÖ¿ä µ¿ÀÛÀ» ½Ã°¢ÈÇϰí ÀÖ´Ù. »õ·Ó°Ô ½ÃÀÛÇϰųª Á» ´õ ±íÀº ÀÌÇØ¸¦ À§ÇØ Ä¿³ÎÀ» ºÐ¼®ÇÏ´Â °³¹ßÀÚ°¡ Ä¿³ÎÀÇ ¹Ì·Î¿¡¼ ±æÀ» ã´Â µ¥ Å« µµ¿òÀÌ µÉ °ÍÀÌ´Ù. _xixÂÊ
ÇÁ·Î¼¼¼°¡ °¡»ó ÁÖ¼Ò¸¦ ¹ßÇàÇϸé MMU¿¡ ÀÇÇØ ¹°¸® ÁÖ¼Ò·Î º¯È¯µÈ´Ù. MMU´Â º¯È¯ Å×À̺íÀ» ÅëÇØ ÀÌ ÁÖ¼Ò º¯È¯ °úÁ¤À» ¼öÇàÇÑ´Ù. º¯È¯ Å×ÀÌºí¿¡´Â °¡»ó ÁÖ¼Ò¸¦ ¹°¸® ÁÖ¼Ò·Î º¯È¯ÇÏ´Â ...
´õº¸±â
ÀÌ Ã¥Àº ARM64 ±â¹ÝÀÇ ÃֽЏ®´ª½º Ä¿³ÎÀÇ ÁÖ¿ä ¼ºê½Ã½ºÅÛÀ» ÄÚµå ¼öÁØ¿¡¼ ºÐ¼®Çϰí ÀÖ´Ù. ƯÁ¤ ±â´ÉÀÌ µ¿ÀÛÇÏ´Â ÄÚµåÇ÷ο츦 ÄÚµå ·¹º§¿¡¼ ¼³¸íÇϰí ÀÖÀ¸¸ç, ¾à 360°³ÀÇ ±×¸²À» ÅëÇØ ÁÖ¿ä µ¿ÀÛÀ» ½Ã°¢ÈÇϰí ÀÖ´Ù. »õ·Ó°Ô ½ÃÀÛÇϰųª Á» ´õ ±íÀº ÀÌÇØ¸¦ À§ÇØ Ä¿³ÎÀ» ºÐ¼®ÇÏ´Â °³¹ßÀÚ°¡ Ä¿³ÎÀÇ ¹Ì·Î¿¡¼ ±æÀ» ã´Â µ¥ Å« µµ¿òÀÌ µÉ °ÍÀÌ´Ù. _xixÂÊ
ÇÁ·Î¼¼¼°¡ °¡»ó ÁÖ¼Ò¸¦ ¹ßÇàÇϸé MMU¿¡ ÀÇÇØ ¹°¸® ÁÖ¼Ò·Î º¯È¯µÈ´Ù. MMU´Â º¯È¯ Å×À̺íÀ» ÅëÇØ ÀÌ ÁÖ¼Ò º¯È¯ °úÁ¤À» ¼öÇàÇÑ´Ù. º¯È¯ Å×ÀÌºí¿¡´Â °¡»ó ÁÖ¼Ò¸¦ ¹°¸® ÁÖ¼Ò·Î º¯È¯ÇÏ´Â µ¥ ÇÊ¿äÇÑ Á¤º¸µéÀÌ ³ª¿µÇ¾î ÀÖ´Ù. ÇÁ·Î±×·¡¸Ó´Â º¯È¯ Å×À̺íÀ» ¸Þ¸ð¸®»ó¿¡ À§Ä¡½Ã۰í TTBR ·¹Áö½ºÅ͸¦ ÅëÇØ Å×À̺íÀÇ ÁÖ¼Ò¸¦ MMU¿¡°Ô Àü´ÞÇÑ´Ù. MMU ³»ÀÇ Àü¿ë H/W°¡ ÀÌ º¯È¯ Å×À̺íÀ» ÀÐ¾î º¯È¯À» ¼öÇàÇÑ´Ù. ÀÌ·± µ¿ÀÛÀ» ÆäÀÌÁö Å×À̺í Ž»ö(page table walk)À̶ó°í ÇÑ´Ù. _29ÂÊ
±×¸² 3-27Àº new¶ó´Â Å©±â¸¸ÅÀÇ °ø°£ÀÌ ÇÊ¿äÇÏ¿© °¡»ó ÁÖ¼Ò ¹üÀ§ ³»¿¡¼ ºó °ø°£À» ãÀ» ¶§ ¸ÕÀú free_vmap_cache À§Ä¡ºÎÅÍ ¿ìÃø ¹æÇâÀ¸·Î size°¡ µé¾î°¥ ºó °ø°£À» °Ë»öÇÏ´Â ¸ð½ÀÀ» º¸¿©ÁØ´Ù. ÀÌ·¸°Ô ÃÖ±Ù¿¡ »ç¿ëÇÑ À§Ä¡ºÎÅÍ °Ë»öÇÏ´Â ÆíÀÌ Ã³À½ºÎÅÍ °Ë»öÇÏ´Â °Í¿¡ ºñÇØ ºü¸£°Ô °ø°£À» ãÀ» ¼ö ÀÖ´Ù. ÃÖ±Ù¿¡ vmap_area°¡ µî·ÏµÈ °æ¿ì ±× vmap_area¸¦ free_vmap_cache°¡ °¡¸®Å²´Ù. ¸¸ÀÏ ÃÖ±Ù¿¡ vmap_area°¡ »èÁ¦µÆ´Ù¸é, »èÁ¦µÈ vmap_area ÀÌÀü¿¡ ÀÖ¾ú´ø vmap_area¸¦ free_vmap_cache°¡ °¡¸®Å²´Ù. _180ÂÊ
3°³ÀÇ ¸¶À̱׷¹ÀÌ¼Ç Å¸ÀÔ ¸®½ºÆ®¿¡¼ ½Ì±Û ÆäÀÌÁöµéÀ» °ü¸®ÇÑ´Ù. ¹öµð ½Ã½ºÅÛ¿¡¼¿Í µ¿ÀÏÇÑ ¹æ¹ýÀ¸·Î ¸®½ºÆ®ÀÇ ¼±µÎ ¹æÇâÀ» hotÀ̶ó ºÎ¸£°í ÈÄ¹Ì ¹æÇâÀ» cold ¹æÇâÀ̶ó ºÎ¸¥´Ù. hot ¹æÇâÀº ¹æ±Ý Àü¿¡ »ç¿ë ÇØÁ¦µÈ ÆäÀÌÁö°¡ À§Ä¡ÇÏ¿© ´Ù½Ã Àç»ç¿ëµÉ °¡´É¼ºÀÌ ³ôÀº À§Ä¡´Ù. cold ¹æÇâÀº ¿À·¡Àü¿¡ ÇØÁ¦µÈ ÆäÀÌÁöµé·Î, Àç»ç¿ë °¡´É¼ºÀÌ ³·Àº ÆäÀÌÁöµéÀÌ À§Ä¡ÇÑ´Ù. ÀÌ·¸°Ô ¿À·¡µÈ ÆäÀÌÁöµéÀÌ ¹öµð(¦)¸¦ ÀÌ·ç¾î ÇÕÃÄÁö¸é ij½Ã¿¡¼ ¹þ¾î³ª ¹öµð ÇÒ´çÀڷΠȸ¼ö½ÃŲ´Ù. ÀÌ·¸°Ô °ü¸®ÇÔÀ¸·Î½á ÆäÀÌÁö ´ÜÆíȸ¦ ÁÙÀÏ ¼ö ÀÖ´Ù. _343ÂÊ
per-cpu µ¥ÀÌÅÍ´Â NR_CPUS ¼ö¸¸Å ¹è¿À» »ç¿ëÇϱ⠶§¹®¿¡ ½ÇÁ¦ Á¸ÀçÇÏ´Â cpuÀÇ ¼öº¸´Ù Å« ¼ö¸¦ »ç¿ëÇÏ´Â °æ¿ì ¸Þ¸ð¸®°¡ ³¶ºñµÉ ¼ö ÀÖ´Ù. ¼öõ °³ÀÇ cpu¸¦ Áö¿øÇϵµ·Ï ¼³Á¤(NR_CPUS)µÈ ½Ã½ºÅÛ¿¡¼ ½ÇÁ¦ ºÎÆÃ ½Ã µ¿ÀÛÇÏ´Â cpu°¡ ¸î °³ ¾È µÉ ¶§ ÀÌ·Î ÀÎÇØ ³¶ºñµÇ´Â per-cpu ¹è¿À» ÁÙ¿© °ø°£À» È¿°úÀûÀ¸·Î »ç¿ëÇÏ°Ô ÇÑ´Ù. _512ÂÊ
CFS´Â Å« load weight¸¦ °®´Â ŽºÅ©°¡ »ó´ëÀûÀ¸·Î Àû°Ô ½ÇÇàµÇ¾ú´Ù°í ÆÇ´ÜÇÏ°í ´õ ÀÚÁÖ ½ÇÇàÇÏ°Ô ÇØÁØ´Ù. ¶ÇÇÑ »ç¿ë °¡´ÉÇÑ Å¸ÀÓ ½½¶óÀ̽ºµµ Áõ°¡ÇÏ°Ô µÈ´Ù. load weight´Â ŽºÅ©ÀÇ ¿ì¼±¼øÀ§°¡ ³ôÀ»¼ö·Ï Å©°Ô, ¿ì¼±¼øÀ§°¡ ³·À»¼ö·Ï ¹Ý´ë·Î ÀÛ°Ô ¼³Á¤µÈ´Ù. load weight´Â load_weight ±¸Á¶Ã¼¿¡ ÀÇÇØ Ç¥ÇöµÇ°í ÀÖÀ¸¸ç, ŽºÅ©ÀÇ load weight´Â ŽºÅ©¸¦ Ç¥ÇöÇÏ´Â ½ºÄÉÁÙ¸µ ¿£Æ¼Æ¼ÀÇ load Çʵ尡 Ç¥ÇöÇϰí ÀÖ´Ù. _660ÂÊ
´Ý±â