CFQ - "비동기 요청의 경우 모든 프로세스의 모든 요청은 해당 프로세스의 I/O 우선순위에 따라 함께 일괄 처리됩니다."

CFQ - "비동기 요청의 경우 모든 프로세스의 모든 요청은 해당 프로세스의 I/O 우선순위에 따라 함께 일괄 처리됩니다."

답변1

제 생각에는 2번과 3번의 진술이 틀렸다고 생각합니다.

사용자 프로세스는 다음을 sync_file_range()사용하여 비동기 쓰기 IO를 생성할 수 있습니다. 이러한 IO는 호출 프로세스에 의해 직접 제출되므로 프로세스 IO 우선순위의 영향을 받을 수 있습니다.

sync_file_range()는 비동기 쓰기 저장이 트리거되도록 설계되었습니다. 현재 구현(Linux v4.20)에서는 쓰기 저장 모드 WB_SYNC_NONE을 사용하여 REQ_SYNC 설정을 방지합니다. 프로그램이 SYNC_FILE_RANGE_WAIT_AFTER 플래그를 포함하여 쓰기 저장을 기다리는 경우에도 마찬가지입니다. (그러나 v2.6.29와 v4.4 사이의 커널은 WB_SYNC_ALL을 잘못 사용했기 때문에 REQ_SYNC는 sync_file_range()에 의해 트리거된 모든 쓰기 저장에 사용되었습니다.)

비동기 write() 호출 중에 "직접 수집"을 수행해야 한다면 프로세스 IO 우선순위도 사용될 수 있습니다. 라고 한다2011년에 폐지됨.

관련 정보