msleep : schedule_timeout_uninterruptible
msleep_interruptible : schedule_timeout_interruptible
schedule_timeout : 현재 task의 상태에 따라 다름.
schedule_timeout_interruptible : task는 sleep을 합니다. 또 시그널에 의해서 깨어날수 있습니다.
timeout 된후 우선순위에 따라 실행된다.
즉 최소한 timeout 에 의해서 설정된 시간이상 지연된다.
__set_current_stat(TASK_INTERRUPTIBLE);
return schedule_timeout(timeout);
schedule_timeout_uninterruptible : 타임아웃이 될때까지 sleep 상태를 유지합니다.
지연이 끝나면 schedule 되어 실행된다.
__set_current_stat(TASK_UNINTERRUPTIBLE);
return schedule_timeout(timeout);
wait_event(wq, condition) : 조건이 참이 될때까지 기다립니다.
wait_event_timeout(wq, condition, timeout) : 조건이 참이 되거나 타임아웃때까지 기다린다.
wait_event_interruptible(wq, condition) : 조건이 참이 되거나 시그널을 받을때까지 기다린다.
wait_event_interruptible_timeout : 조건이 참이 되거나 타임아웃될때까지 기다린다.
msleep_interruptible : schedule_timeout_interruptible
schedule_timeout : 현재 task의 상태에 따라 다름.
schedule_timeout_interruptible : task는 sleep을 합니다. 또 시그널에 의해서 깨어날수 있습니다.
timeout 된후 우선순위에 따라 실행된다.
즉 최소한 timeout 에 의해서 설정된 시간이상 지연된다.
__set_current_stat(TASK_INTERRUPTIBLE);
return schedule_timeout(timeout);
schedule_timeout_uninterruptible : 타임아웃이 될때까지 sleep 상태를 유지합니다.
지연이 끝나면 schedule 되어 실행된다.
__set_current_stat(TASK_UNINTERRUPTIBLE);
return schedule_timeout(timeout);
wait_event(wq, condition) : 조건이 참이 될때까지 기다립니다.
wait_event_timeout(wq, condition, timeout) : 조건이 참이 되거나 타임아웃때까지 기다린다.
wait_event_interruptible(wq, condition) : 조건이 참이 되거나 시그널을 받을때까지 기다린다.
wait_event_interruptible_timeout : 조건이 참이 되거나 타임아웃될때까지 기다린다.
댓글
댓글 쓰기