Closed MadPlayer closed 3 years ago
kernel에서 mvrlu와 spinlock 을 하나로 합친 benchmark입니다. kernel에 mvrlu를 적용하려면 코드수정이 필요합니다. mvrlu_init 등이 benchmark 실행시마다 실행되어 kernel에 적용되면 충돌이 일어납니다.
충돌이 일어나는건 무슨뜻이에요? mvrlu와 spinlock 실행은 인자로 구분이 가능한거에요?
@gitrvy2 건표씨 커널 벤치마크 부분 코드 리뷰좀 해주세요.
kernel에서 mvrlu와 spinlock 을 하나로 합친 benchmark입니다. kernel에 mvrlu를 적용하려면 코드수정이 필요합니다. mvrlu_init 등이 benchmark 실행시마다 실행되어 kernel에 적용되면 충돌이 일어납니다.
충돌이 일어나는건 무슨뜻이에요? mvrlu와 spinlock 실행은 인자로 구분이 가능한거에요?
벤치마크 타입은 -r 옵션으로 변경가능합니다 0이면 SPINLOCK 1이면 MVRLU 입니다.
충돌은 mvrlu.c 안에 있는 전역변수와 mvrlu_init 함수에서 초기화하는 init 변수때문에 그렇습니다. kernel에 적용하는 것과 동시에 사용할 경우 실행에 문제가 있을 것으로 보입니다. (동시에 다수의 qp_thread가 전역변수 사용 등)
kernel에서 mvrlu와 spinlock 을 하나로 합친 benchmark입니다. kernel에 mvrlu를 적용하려면 코드수정이 필요합니다. mvrlu_init 등이 benchmark 실행시마다 실행되어 kernel에 적용되면 충돌이 일어납니다.