근 10일에 걸친 대장정이 끝났습니다. ㅠㅠ)-b 중간에 코드를 한번 잘못짜서 디버깅을 다시 하는 사태도 발생했지만, 결국 끝났습니다. ㅠㅠ 잠결에 코딩을 했더니만 알 수 없는 코드들이 중간 중간에 잔뜩 들어가 있더군요. ㅠㅠ 어흑 ㅠㅠ
코어 16개를 모두 활성화한 뒤에 대칭 I/O 모드(Symmetric I/O Mode)로 전환하여 인터럽트 처리 횟수가 전체적으로 10 이상 차이가 나면 인터럽트를 분산하도록 했습니다. 뭐, 매번 돌리면서 인터럽트를 분산시킬 수도 있지만 약간 오바인 것 같아서... ^^;;;;
아래는 인증 샷입니다. :) 코어 16개를 활성화하기 전에 인터럽트 처리 횟수를 출력하고, 16개를 활성화한 후 다시 출력했습니다. 그리고 마지막으로 인터럽트 부하 분산 기능을 활성화해서 키보드를 난타한 다음 최종적으로 처리된 횟수를 출력하도록 했습니다.
에혀~ 이제 스케줄러를 코어마다 추가하고 태스크 부하 분산(Task Load Balancing)만 처리하면 끝이군요. ;) 대망의 GUI로 넘어갈 수 있을 것 같습니다. ㅎㅎ 정리하면서 하느라 여기까지 오는데 꽤나 걸렸는데... 이제 좀 속도가 다시 붙을 것 같군요. ;) GUI는 지금까지 했던 것 보다는 알고리즘이 간단하니까 말이죠 ;)
에궁~ 오늘은 일찍 잘려고 했는데... 결국 또 이렇게 되는군요. ㅠㅠ 언능 누워야 겠습니다. ㅎㅎ 다들 좋은 밤 되세요 ;)
ps) 인터럽트 부하 분산 기능을 추가하긴 했는데... 시리얼 포트를 폴링 방식으로 사용하다보니 그다지 인터럽트 부하가 발생하지 않더군요. ㅡ_ㅡa... 사실 크게 이득이 없는 것 같습니다. 나중에 기가바이트 이더넷이나 추가하면 효과를 좀 볼지... ㅎㅎ :)
'OS Kernel > MINT64 OS' 카테고리의 다른 글
[Milestone] MINT64 OS의 GUI 프로토타입이 나왔습니다. ;) (10) | 2009.08.21 |
---|---|
디버깅을 11시간째 하다가 포기하고 다른 방법으로 선회를 고려 중입니다. ㅠㅠ (7) | 2009.08.16 |
어흑... 행복한 주말이 거의 다 지나갔군요. ㅠㅠ (1) | 2009.07.26 |
[MileStone] 최대 16개 멀티코어 프로세서 또는 멀티 프로세서 지원 기능을 추가했습니다 (18) | 2009.07.10 |
[MileStone] MP Configuration Table 분석 기능을 추가했습니다. (14) | 2009.06.23 |