Line 34: |
Line 34: |
| In this case the pages should have 12 pages in it, i.e. be 48K in size. Then the first 4 pages (16k, the first pagemap entry) would be read from image and put at address 0x1000000 thus occupying space up to the <code>0x1000000 + 4 * 4096 = 0x1004000</code> address. The last 8 pages (32k, the 2nd pagemap entry) would be read and put at the 0xCF000000 address. | | In this case the pages should have 12 pages in it, i.e. be 48K in size. Then the first 4 pages (16k, the first pagemap entry) would be read from image and put at address 0x1000000 thus occupying space up to the <code>0x1000000 + 4 * 4096 = 0x1004000</code> address. The last 8 pages (32k, the 2nd pagemap entry) would be read and put at the 0xCF000000 address. |
| | | |
| + | == Stacked images == |
| + | |
| + | When [[incremental dumps]] are performed, for every iteration a <code>parent</code> symlink is created, and images become dependent on their respective parent(s). |
| + | |
| + | There appears the 3rd field in the pagemap, called <code>in_parent</code>. It is a boolean flag, when set, means the respective data for the given pagemap is available from a parent image. While searching for data in parent, the same algorithm is used -- first the pagemap is resolved, then the data is found in pages. For parent images, the data (either complete or partial) can also be found in ''its'' parent images. |
| + | |
| + | Naturally, the bottom image (the one with no parent link) must have no <code>in_parent</code> bits set. |
| + | |
| + | === Example === |
| + | |
| + | Consider we have a pagemap from the previous example with <code>in_parent</code> bit set for one entry: |
| + | |
| + | <pre> |
| + | { 0x1000000, 4, in_parent } |
| + | { 0xCF000000, 8 } |
| + | </pre> |
| + | |
| + | In this case, the pages image would be only 32k in size, since the first 4 pages are to be found in the parent. Thus the parent pagemap image should container one or more pagemaps covering the <code>0x1000000 ... 0x1004000</code> area, for example, like this |
| + | |
| + | <pre> |
| + | { 0x1000000, 2 } |
| + | { 0x1002000, 2, in_parent } |
| + | </pre> |
| + | |
| + | This, in turn, means that the first 2 pages from this range are available from the parent pages image file, and the last 2 should be looked up deeper, i.e. in the grand-parent pagemaps. |
| + | |
| + | == Deduplication == |
| + | |
| + | See [[Memory images deduplication]]. |
| + | |
| + | == See also == |
| + | |
| + | * [[Memory dumping and restoring]] |
| + | * [[Images]] |
| | | |
− | [[Category:Empty articles]]
| |
| [[Category:Memory]] | | [[Category:Memory]] |
| [[Category:Images]] | | [[Category:Images]] |
| + | [[Category:Editor help needed]] |