Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(14)

Side by Side Diff: physmem_alloc_analysis/README.md

Issue 1217243006: Analyze contiguous physical memory chunks that mmap system call gives (Closed) Base URL: https://github.com/acutebridge/rowhammer-test.git@phymem_alloc
Patch Set: Created 5 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | physmem_alloc_analysis/analyze.sh » ('j') | physmem_alloc_analysis/gnuplot_script » ('J')
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1
2 # physmem_alloc_analysis: Physical memory allocation analysis
3
4 This directory contains code to profile physical memory allocation
5 for mmap, and analyze how contiguous the assigned physical frames are.
Mark Seaborn 2015/07/01 19:21:22 Can you also add a sentence or two on the motivati
ruiq 2015/07/01 20:42:59 Done.
6
7 ## How to run the program:
Mark Seaborn 2015/07/01 19:21:22 Nit: omit trailing ":" (for consistency with other
ruiq 2015/07/01 20:42:59 Done.
8
9 To compile and run the profiler:
10
11 ```
12 ./make.sh
13 ./physmem_alloc_profiler [-a alloc_size] [-s sleep_sec]
14 ```
15
16 The profiler mmaps a chunk of memory of `alloc_size` (pages) each time,
17 computes the assigned physical frames using `/proc/pid/pagemap` interface,
18 and munmaps it. It then sleeps `sleep_sec` (seconds) before the next iteration.
19 The program loops infinitely so manual Control-C is needed to stop it.
20 A file named `physmem_alloc_results` is generated to record the assigned
21 physical frame numbers.
22
23 To analyze the results, run:
24
25 ```
26 ./analyze.sh
27 ```
28
29 This takes `physmem_alloc_results` as input and produces another file:
30 `contiguous_results`. As output, it shows the content of `contiguous_results`
31 and invokes gnuplot for plotting as well.
32
33 ## Output format
34
35 For `physmem_alloc_results`, each line contains information for each mmap
36 allocation. The assigned physical frame numbers of each page are separated
37 by space.
38
39 For `contiguous_results` (which is also shown as output for analyze.sh),
40 each line is of the following format:
41
42 ```
43 size count size_total fraction
44 ```
45
46 where:
47
48 * `size` is the size (in number of pages) of virtual memory area that
49 assigned with contiguous physical frames.
50
51 * `count` is the number of times such virtual memory area appears.
52
53 * `size_total` = `size` * `count`, i.e., it is the total size
54 (in number of pages) for such memory area.
55
56 * `fraction` = `size_total` / `alloc_total`, where `alloc_total` is
57 the sum of `size_total` of all rows. Therefore, `fraction` means
58 out of all virtual pages, what fraction of them are inside an area
59 of `size` pages whose underlying physical memory frames are contiguous.
60
OLDNEW
« no previous file with comments | « no previous file | physmem_alloc_analysis/analyze.sh » ('j') | physmem_alloc_analysis/gnuplot_script » ('J')

Powered by Google App Engine
This is Rietveld 408576698