PAGE CACHE DIAGRAM
Retired DISLab
(*) --> "add_to_page_cache_lru()" --> [① ret=]"add_to_page_cache()" "add_to_page_cache_lru()" --> [② if(ret==0)]"lru_cache_add_file()" --> "__lru_cache_add()" -left-> "page_cache_get()" note top : 일반적인 페이지 혹은 페이지 복합체의 head를 얻음 --> "__lru_cache_add()" note top : struct pagevec {\n\tunsigned long nr;\n\tunsigned long cold;\n\tstruct page *page[PAGEVEC_SIZE];\n}; -right-> [!pagevec_space()일 경우]"__pagevec_lru_add()" "__lru_cache_add()" --> "pagevec_add()" --> (*) "__pagevec_lru_add()" --> "pagevec_lru_move_fn()" --> "..."
"add_to_page_cache()" --> "add_to_page_cache_locked" --> "...."