Read test용

(버전 사이의 차이)
이동: 둘러보기, 찾기
1번째 줄: 1번째 줄:
 
<uml>
 
<uml>
  
"do_sync_read()" --> Ext4
+
"do_sync_read()" --> "generic_file_aio_read()"
  
partition Ext4 {
+
partition EXT4 {
--> "generic_file_aio_read()"
+
"generic_file_aio_read()"--> if "not O_DIRECT" then
"generic_file_aio_read()" --> if "!O_DIRECT" then
+
-->"do_generic_file_read()"
--> "do_generic_file_read()"
+
"do_generic_file_read()"-->if "no page" then
endif
+
-->"page_cache_sync_readahead()"
 +
-->"ondemand_readahead()"
 +
-->"__do_page_cache_readahead()"
 +
-->"read_pages()"
  
"do_generic_file_read()" --> if "!page" then
+
"do_generic_file_read()"-->if "PageReadahead(page)" then
--> "page_cache_sync_readahead()"
+
"page_cache_sync_readahead()" --> "ondemand_readahead()"
+
"ondemand_readahead()" --> "__do_page_cache_readahead()"
+
"__do_page_cache_readahead()" --> "read_pages()"
+
"read_pages()" --> "blk_start_plug()"
+
endif
+
 
+
"do_generic_file_read()" --> if "PageReadahead(page)" then
+
 
--> "page_cache_async_readahead()"
 
--> "page_cache_async_readahead()"
"page_cache_async_readahead()" --> "ondemand_readahead"
+
-->"ondemand_readahead()"
"ondemand_readahead" --> "__do_page_cache_readahead()"
+
-->"__do_page_cache_readahead()"
"__do_page_cache_readahead()" --> "read_pages()"
+
-->"read_pages()"
"read_pages()" --> "blk_start_plug()"
+
endif
+
  
"do_generic_file_read()" --> "ext4_readpages()"
+
"do_generic_file_read()"-->"ext4_readpages()"
"ext4_readpages()" -->"mpage_readpages()"
+
-->"mpage_readpages()"
"mpage_readpages()" --> "mpage_bio_submit()"
+
-->"do_mpage_readpage()"
 +
-->"mpage_bio_submit()"
 
}
 
}
 +
 +
-->"generic_make_request(bio)"
  
 
</uml>
 
</uml>

2014년 5월 20일 (화) 14:38 판

개인 도구
이름공간
변수
행위
둘러보기
구성원
연구
연구실
기타
도구모음
인쇄/내보내기