[ CnUnix ] in KIDS 글 쓴 이(By): sang (Grid) 날 짜 (Date): 2004년 12월 8일 수요일 오후 10시 06분 16초 제 목(Title): [Q] system call overhead 두개의 platform에서 dummy system call overhead를 한번 재어봤습니다. (간단한 device driver를 만들고 새로운 ioctl command를 만들어서 아무런 일도 하지 않고 바로 return하도록 했음.) platform 1. P3 850MHz 2way SMP, linux 2.2 : 1000번 반복했을 경우 약 800ns/syscall platform 2. P4 1.5GHz 4way SMP, linux 2.4 : 1000번 반복했을 경우 약 1600ns/syscall 예상치 못한 결과에 조금 당황스러운데... 질문1. 과연 저 결과가 믿을만한 것인지요? 다른 시스템이나 흔히 알려져있는 system call overhead가 어느정도 되는지 궁금합니다. 질문2. 왜 clock speed가 더 빠른 platform 2에서 system call overhead가 더 증가하는것으로 측정되었을까요? 4way이기 때문에? -_-? 등등 코멘트 대환영입니다. 질문3. 위의 결과는 1000번 반복해서 평균 낸 것인데.. 딱 1번만 수행시키면 약 6배~8배정도 더 오랜 시간이 걸립니다. 이것의 주된 원인은 무엇일까요? system call 하러 들어왔다가 schedule()되는 경우가 종종 있기 때문에 armotize된 효과 발생 등등 -_-? 코멘트 대환영입니다. 참고. 시간 측정은 TSC를 읽어서 시간으로 환산한 것입니다. |