1. 목적

ㄱ. cpufreq.h 파일을 분석하여 DVFS 관련 정책 함수를 찾아냄


2. 내용

ㄱ. 리눅스 커널 소스 안에 arch/arm/mach-exynos/cpufreq.h 분석

cpufreq_policy_notifier_call  함수가 정책을 변경하는것으로 보임

 *policy에 data를 넣고 코드에 따라서 바뀌는 것으로 보임

int exynos_cpufreq_lock(unsigned int nId, enum cpufreq_level_index cpufreq_level)

함수로 freq 락이 가능할 것 같다.

3. 결론
ㄱ. cpufreq.h 헤더 파일안에 exynos의 주파수 관련 조종 함수들이 있음을 보았고 사용해 보아야 함.


Posted by 시크한공돌이
,

1. 목적 

ㄱ. odroid x2 타깃으로 DVFS 및 performance monitering을 하기위해 cpufreq.h, perf_event.h를 분석한다. 


2. 내용 

ㄱ. 먼저  리눅스 커널/include/linux/perf_event.h의 분석

 

파일 중간에 sample관련 함수부가 나옴 참조 (1012 줄)

그림 1. perf_event.h속의 perf_output_sample 및 관련 함수부

 그림1을 참고하면 흔히 커널 모듈 프로그램에서 볼 수 있는 값 반환 형식이 아닌 struct 포인터로 값을 지정하고 주고 받는것으로 보임

perf_output_handle의 stuct는 아래와 그림 2와 같음.

그림 2. perf_output_handle의 strucure

 그림 2 하단을 보면 perf_output_handle의 구조가 보이는데 이중 event와 buffer, void 형 포인터인 addr을 주목해야 할 것으로 보임.

(perf_buffer 구조형 *buffer와 void형 *addr 중 하나가 데이터를 받을 것으로 추정 - 후에 코멘트 업데이트 예정)

 

Posted by 시크한공돌이
,