태그 : 타이머 요약보기전체보기목록닫기
- [리눅스커널] 시간관리: time_after()/time_before() 함수 사용 예시 알아보기 (0)2019.07.01
- [리눅스커널] 시간관리: 라즈베리파이에서 동적 타이머 등록 및 실행 과정 ftrace로 확인하기(0)2018.09.02
- [리눅스커널] 시간관리: Soft IRQ 타이머 서비스 실행 시작 단계 코드 분석(14)2018.08.29
- [리눅스커널] 시간관리: 커널 타이머 실행 시작 단계 코드 분석(0)2018.08.27
- [리눅스커널] 시간관리: 커널 타이머 실행 전체 흐름도 알아보기(0)2018.08.15
- [리눅스커널] 시간관리: 동적 타이머 등록 과정 주요 함수(add_timer/mod_timer/__mod_timer) 분석(0)2018.08.10
- [리눅스커널] 시간관리: 동적 타이머 등록 전체 흐름 소개 (0)2018.08.08
- [리눅스커널] 시간관리: 동적 타이머 초기화 (2)2018.08.06
- [리눅스커널] 시간관리: timer_after()/timer_before() 함수 소개(0)2018.08.01
- [라즈베리파이] 커널 타이머 - jiffies란 값은 누가 언제 증가하나 (3)2018.07.25
1 2
- 8. 커널 타이머 관리
- 2019/07/01 23:26
이번에는 time_after()/time_before() 함수를 써서 실행 시간 흐름을 제어하는 예제 코드를 살펴보겠습니다. .다음 소개할 코드는 워크큐 와치독 타이머인 wq_watchdog_timer_fn() 함수입니다.[https://github.com/raspberrypi/linux/blob/rpi-4.19.y/kernel/workqueue.c]0...
- 8. 커널 타이머 관리
- 2018/09/02 23:16
이전 시간에 소스 코드 분석으로 커널 시스템 타이머 동작에 대해 알아봤습니다. 코드를 읽고 이해하는 과정도 중요하지만 배운 내용을 자신의 것으로 만들려면 분석한 코드가 리눅스 시스템에서 실제 어떻게 실행하는지 확인해야 합니다. 한 걸음 나아가 코드를 수정하면서 라즈베리파이에서는 커널 타이머 자료구조 데이터가 어떤 값인지도 확인할 필요도 있습니다...
- 8. 커널 타이머 관리
- 2018/08/29 23:30
이어서 커널 시스템 타이머 처리 3단계를 알아봅시다. 다음 그림에서 검은색으로 된 부분입니다. [그림 8.7] 커널 타이머 전체 흐름도에서 Soft IRQ 타이머 서비스 실행 단계 1~2 단계에서 타이머 인터럽트가 발생하면 TIMER_SOFTIRQ 아이디로 Soft IRQ 서비스 요청을 했습니다. 이후 타이머 인...
- 8. 커널 타이머 관리
- 2018/08/27 17:00
먼저 커널 타이머 1단계 세부 동작을 살펴봅니다. 다음 그림은 커널 시스템 타이머 전체 흐름도 중 1단계 부분입니다. [그림 8.6] 커널 타이머 전체 흐름도에서 동적 타이머 등록 단계 위 그림에서 [1]번 위쪽 화살표 방향으로 호출되는 함수 흐름을 살펴봅시다.타이머 인터럽트가 발생하면 인터럽트 핸들러 함수인 arch_t...
- 8. 커널 타이머 관리
- 2018/08/15 21:21
커널에서 동적 타이머 처리 과정을 이해하려면 Soft IRQ 전체 실행 흐름 과정을 알아야 합니다.다음 그림을 같이 볼까요? [그림 8.5] 커널 타이머 전체 실행 흐름도위 그림에서 [1]~[4] 숫자가 보일 것입니다. 각 숫자는 Soft IRQ 전체 흐름도에서 동적 타이머를 처리하는 단계를 의미합니다. 동적 타이머 처...
- 8. 커널 타이머 관리
- 2018/08/08 12:41
이전 절에서는 동적 타이머를 초기화하는 방법을 소개했습니다. 그런데 동적 타이머를 초기화만 하면 동적 타이머를 실행할 수 없습니다. 동적 타이머를 등록해야 동적 타이머를 실행할 수 있습니다.이번 절에서는 다음 내용을 다룹니다. 동적 타이머를 등록하는 예제 코드 동적 타이머를 등록하는 커널 내부 mod_timer() 함수 분석 동적 타이머 등...
- 8. 커널 타이머 관리
- 2018/08/06 13:21
동적 타이머를 쓰려면 먼저 동적 타이머를 초기화해야 합니다. 다음 내용을 살펴보면서 동적 타이머 초기화 과정을 소개합니다. timer_setup() 함수 소개 동적 타이머 초기화 예제 코드 분석timer_setup() 함수 코드 분석하기동적 타이머를 초기화하려면 timer_setup() 함수를 호출해야 합니다.먼저 timer_setup() 함수 선언...
- 8. 커널 타이머 관리
- 2018/08/01 10:42
리눅스 커널 내부 코드나 디바이스 드라이버에서 time_after()와 time_before() 함수를 써서 실행 시간과 타이밍을 제어합니다. 보통 함수 처리 시간 체크 실행 시간의 데드라인을 점검먼저 time_after() time_before() 함수 구현부를 살펴보겠습니다time_after()와 time_before() 함수 구현부time_af...
- 8. 커널 타이머 관리
- 2018/07/25 11:43
지금까지 jiffies는 1초에 진동수인 HZ 만큼 증감한다고 배웠습니다. HZ가 100이면 1초에 100번 jiffies는 증가할 것입니다. 여기서 한 가지 의문이 생깁니다. 그러면 jiffies는 누가 언제 +1만큼 증감시킬까? 이번 소절에서는 jiffies를 어느 함수에서 증감하는지 살펴보겠습니다. 분석할 함수 목...
1 2
최근 덧글