3월, 2025의 게시물 표시

리눅스 커널 파일 시스템 [2] 코드 분석 - generic_file_read_iter()

리눅스 커널 파일 시스템 Read [1] 리눅스 커널 파일 시스템 Read [2] 리눅스 커널 파일 시스템 Read [3] 리눅스 커널 파일 시스템 Read [4] Page cache와 관련된 코드를 함께 먼저 보기 위해 generic_file_read_iter() 부터 분석한다. 이전 게시물 mm/filemap.c generic_file_read_iter() 정의 먼저 이 함수 위 주석을 보자. /**  * generic_file_read_iter - generic filesystem read routine  * @iocb: kernel I/O control block  * @iter: destination for the data read  *  * This is the "read_iter()" routine for all filesystems  * that can use the page cache directly .  *  * The IOCB_NOWAIT flag in iocb->ki_flags indicates that -EAGAIN shall  * be returned when no data can be read without waiting for I/O requests  * to complete ; it doesn't prevent readahead. --> IOCB_NOWAIT flag가 있으면 prefetch를 막지 않는다고 함. --> "I/O requests가 complete 되는 것을 기다리지 않고" -EAGAIN이 리턴된다는 것임. --> Prefetch (readahead) 던져 놓고 리턴될거야~ 라는 것인 듯.  *  * The IOCB_NOIO flag in iocb->ki_flags ...

리눅스 커널 파일 시스템 [1] Top View 및 코드 분석 그리고 그 너머

리눅스 커널 파일 시스템 Read [1] 리눅스 커널 파일 시스템 Read [2] 리눅스 커널 파일 시스템 Read [3] 리눅스 커널 파일 시스템 Read [4] 본 공부에서 다루게 되는 내용 및 리눅스 커널 버전 선정