1 <!-- subject: Materiały dot. Contiguous Memory Allocator -->
3 <p>Poniżej znajduje się lista materiałów traktujących o interfejsie Contiguous
4 Memory Allocator (lub CMA) oraz różnych powiązanych tematach.
7 <p>Prezentacja w języku polskim z seminarium
8 dyplomowego zawiera trochę mniej materiału niż prezentacja z LCE
2012
9 i nie zagłębia się w szczegółach dotyczących używania mechanizmu CMA.
10 Poza prezentacją dostępny jest również referat z bardziej szczegółowym
11 opisem tematyki prezentacji.
</p>
14 href=
"https://docs.google.com/file/d/0B_axg5vW_1lgTkFzUWtZdXBLTGs/edit">Prezentacja
</a>,
15 <a href=
"https://github.com/mina86/linux-cma/tree/sdi">źródła
</a>.
</li>
17 href=
"https://docs.google.com/file/d/0B_axg5vW_1lgZVVRLXBzX3ZEWEE/edit">Referat
</a>,
19 href=
"https://github.com/mina86/linux-cma/tree/sdi-paper">źródła
</a>.
</li>
24 <h2 class=en
>LinuxCon Europe
2012</h2>
26 <p>The presentation from the LinuxCon Europe
2012 is
<a
27 href=
"https://docs.google.com/open?id=0B_axg5vW_1lgdUhZazNCOVVPZms">available
28 for download
</a> along with it's
<a
29 href=
"https://github.com/mina86/linux-cma/tree/lce">source code
</a>.
</p>
31 <h2 class=en
>CMA patchset
</h2>
33 <p>The CMA patchset that has been included in Linux
3.5 can be found
34 on the linux-mm mailing list archives, which can be
<a
35 href=
"http://thread.gmane.org/gmane.linux.kernel.mm/76241">accessed
38 <h2 class=en
>Other resources and links
</h2>
40 <p>There are some other resources which may be of interest as well.
</p>
43 <dt>Nazarewicz, Michał (
12 March
2012). ‘
<a href=
"https://lwn.net/Articles/486301/">A Deep Dive into CMA
</a>’.
<i><a href=
"https://lwn.net/">Linux Weekly News
</a></i> (
<a href=
"http://eklektix.com/">Eklektix
</a>)
</dt>
44 <dd>A description of the way to integrate CMA with an architecture as well as short summary of how exactly CMA works.
</dd>
46 <dt>Nazarewicz, Michał (
10 June
2012). ‘
<a href=
"/2012/deep-dive-into-contiguous-memory-allocator-part-i/">Dive into Contiguous Memory Allocator, Part I
</a>’.
</dt>
47 <dd>A description of how to use and integrate CMA with an architecture. It is a first part of an extended version of the above LWN article, and as such it includes much more details.
</dd>
49 <dt>Song, Barry (
7 March
2012). ‘
<a href=
"http://thread.gmane.org/gmane.linux.kernel/1263136">A Simple Kernel Module as a Helper to Test CMA, v.
4</a>’.
</dt>
50 <dd>A short and simple driver that can be used to test CMA as well as see how it is used.
</dd>
52 <dt>Corbet, Jonathan (
12 June
2011). ‘
<a href=
"https://lwn.net/Articles/447405/">A Reworked Contiguous Memory Allocator
</a>’.
<i><a href=
"https://lwn.net/">Linux Weekly News
</a></i> (
<a href=
"http://eklektix.com/">Eklektix
</a>)
</dt>
53 <dd>An overwiev of the Contiguous Memory Allocator.
</dd>
55 <dt>Corbet, Jonathan (
5 June
2011). ‘
<a href=
"https://lwn.net/Articles/450286/">CMA and ARM
</a>’.
<i><a href=
"https://lwn.net/">Linux Weekly News
</a></i> (
<a href=
"http://eklektix.com/">Eklektix
</a>)
</dt>
56 <dd>An overview of the linear mapping problems CMA had on ARM platforms, and why the early fixups are required.
</dd>
58 <dt>Kim, Minchan (
11 September
2012). ‘
<a href=
"http://article.gmane.org/gmane.linux.kernel.mm/85654">Discard clean pages during contiguous allocation instead of migration
</a>’
</dt>
59 <dd>Patch changing CMA so that clean pages are discarded instead of migrating which improves CMA's performance.
</dd>
61 <dt>Abbott, Laura (
11 September
2012). ‘
<a href=
"http://thread.gmane.org/gmane.linux.ports.arm.msm/3015/">Revoke LRU when trying to drop buffers
</a>’
</dt>
62 <dd>Patch which tries to improve CMA's performance by removing buffer from LRU prior to migration. The thread also mentiones problem with ext4 not supporting migration of journal pages.
</dd>
64 <dt>Corbet, Jonathan (
6 January
2010). ‘
<a href=
"https://lwn.net/Articles/368869/">Memory Compaction
</a>’.
<i><a href=
"https://lwn.net/">Linux Weekly News
</a></i> (
<a href=
"http://eklektix.com/">Eklektix
</a>)
</dt>
65 <dd>An overview of Mel Gorman's compaction patches. Compaciotn code is used by CMA for scanning for and migrating non-free pages.
</dd>
67 <dt>Corbet, Jonathan (
8 July
2009) ‘
<a href=
"https://lwn.net/Articles/340080/">Transcendent memory
</a>’.
<i><a href=
"https://lwn.net/">Linux Weekly News
</a></i> (
<a href=
"http://eklektix.com/">Eklektix
</a>)
</dt>
68 <dd>Overwiev of an idea behind and implementation of the transcendent memory. Such memory can be marked ‘ephemeral’ which means that kernel can discard it if it wishes to.
</dd>
70 <dt>Corbet, Jonathan (
22 November
2011). ‘
<a href=
"https://lwn.net/Articles/468896/">POSIX_FADV_VOLATILE
</a>’.
<i><a href=
"https://lwn.net/">Linux Weekly News
</a></i> (
<a href=
"http://eklektix.com/">Eklektix
</a>)
</dt>
71 <dd>An overwiev of John Stultz's
<tt>POSIX_FADV_VOLATILE
</tt> implementation which is one of the things that CMA work with nicely.
</dd>
74 <p>Jeżeli wiesz o innych materiałach o CMA lub o tematyce powiązanej do CMA,
75 śmiało wyślij je do mnie na
76 adres
<a href=
"mailto:mina86@mina86.com">mina86@mina86.com
</a>.