Skip to content

Commit

Permalink
Add missing diagram from 12.4.1.
Browse files Browse the repository at this point in the history
  • Loading branch information
lorenzo-stoakes committed May 9, 2016
1 parent d022ea8 commit 4bad9d4
Showing 1 changed file with 50 additions and 0 deletions.
50 changes: 50 additions & 0 deletions 12.md
Original file line number Diff line number Diff line change
Expand Up @@ -353,6 +353,56 @@ shmem_swp_alloc
#define SHMEM_MAX_INDEX (SHMEM_NR_DIRECT + (ENTRIES_PER_PAGEPAGE/2) * (ENTRIES_PER_PAGE+1))
```
* Looking at how indirect blocks are traversed, diagrammatically:
```
double-
indirect block
pages
/--->--------------- /------>---------------
| | swp_entry_t | | | swp_entry_t |
| |-- - -- - -- | | |-- - -- - -- |
| | swp_entry_t | | | swp_entry_t |
| |-- - -- - -- | | |-- - -- - -- |
| | swp_entry_t | | | swp_entry_t |
--------------------- | |-- - -- - -- | | |-- - -- - -- |
| inode->i_indirect | | | swp_entry_t | | | swp_entry_t |
--------------------- | --------------- | ---------------
| | |
| | /->--------------- | /---->---------------
v indirect block page | | | swp_entry_t | | | | swp_entry_t |
---------------------- | | |-- - -- - -- | | | |-- - -- - -- |
^ | ---/ | | swp_entry_t | | | | swp_entry_t |
ENTRIES_PER_PAGE/2 | |-- - -- - -- - -- - | | |-- - -- - -- | | | |-- - -- - -- |
v | -----/ | swp_entry_t | | | | swp_entry_t |
|--------------------| |-- - -- - -- | | | |-- - -- - -- |
^ | -----\ | swp_entry_t | | | | swp_entry_t |
ENTRIES_PER_PAGE/2 | |-- - -- - -- - -- - | | --------------- | | ---------------
v | ---\ | | |
---------------------- | | triple- | | /->---------------
| | indirect block | | | | swp_entry_t |
| | pages | | | |-- - -- - -- |
| \->--------------- | | | | swp_entry_t |
| | ---/ | | |-- - -- - -- |
| |-- - -- - -- | | | | swp_entry_t |
| | -----/ | |-- - -- - -- |
| |-- - -- - -- | | | swp_entry_t |
| | --------/ ---------------
| |-- - -- - -- |
| | ---------->---------------
| --------------- | swp_entry_t |
| |-- - -- - -- |
\--->--------------- | swp_entry_t |
| ---> |-- - -- - -- |
|-- - -- - -- | | swp_entry_t |
| ---> |-- - -- - -- |
|-- - -- - -- | | swp_entry_t |
| ---> ---------------
|-- - -- - -- |
| --->
---------------
```

### 12.4.2 Writing Pages to Swap

* The function [shmem_writepage()][shmem_writepage] is the function registered
Expand Down

0 comments on commit 4bad9d4

Please sign in to comment.