Linux Kernel Architecture
Chapter 16: Page and Buffer Cache The functionwait_on_page_writebackis provided to wait until the bit disappears: <pagemap.h& ...
Chapter 16: Page and Buffer Cache { struct bio *bio = NULL; unsigned page_idx; sector_t last_block_in_bio = 0; struct buffer_hea ...
Chapter 16: Page and Buffer Cache Consider the situation in which a process has read a file linearly from position A to position ...
Chapter 16: Page and Buffer Cache pages, the kernel employspage_cache_sync_readaheadto read in 8 pages in a row — the number is ...
Chapter 16: Page and Buffer Cache Reading pages into the page cache before they are actually required is simple from a technical ...
Chapter 16: Page and Buffer Cache window. Mathematically speaking, the maximal readahead size is a fixed point of both functions ...
Chapter 16: Page and Buffer Cache 16.5.1 Data Structures Fortunately, the data structures for both types of cache — the independ ...
Chapter 16: Page and Buffer Cache Besides the above constants, a few additional values are defined inenum bh_state_bits.Theyare ...
Chapter 16: Page and Buffer Cache The kernel sources do, of course, provide functionsthat can be used as front ends to create an ...
Chapter 16: Page and Buffer Cache linked list in which eachb_this_pageelement points to the next buffer. The only exception is t ...
Chapter 16: Page and Buffer Cache buffers. Before the kernel launches any operations to modify or process buffers associated wit ...
Chapter 16: Page and Buffer Cache back. Thereafter, the buffers — whether just created or already in existence — are identified ...
Chapter 16: Page and Buffer Cache mark_buffer_async_readis also invoked to setend_buffer_async_readforb_end_io—thisfunction is i ...
Chapter 16: Page and Buffer Cache As usual, it is first necessary to check that buffersare actually attached to the page — this ...
Chapter 16: Page and Buffer Cache To make lookup operations faster, the kernel first scans the cache entries from top to bottom ...
Chapter 16: Page and Buffer Cache fs/buffer.c lru = &__get_cpu_var(bh_lrus); Caution: Iflookup_bh_lrufails, the desired buff ...
Chapter 16: Page and Buffer Cache The function__getblk Figure 16-9 shows the code flow diagram for__getblk(this function is disc ...
Chapter 16: Page and Buffer Cache If a buffer head is found,__find_get_blockinvokes thebh_lru_installfunction to add it to the c ...
Chapter 16: Page and Buffer Cache The implementation ofgrow_buffersis not especially lengthy. A few correctness checks are carri ...
Chapter 16: Page and Buffer Cache If the buffer data are not up-to-date, the rest of the work is delegated to__bread_slow—inothe ...
«
46
47
48
49
50
51
52
53
54
55
»
Free download pdf