• mina86.com

  • Categories
  • Code
  • Contact
  • Contiguous Memory Allocator resources

    Below is a list of materials about Contiguous Memory Allocator (CMA) and topics relating to it which may be of interest.

    Michał Nazarewicz and Marek Szyprowski. 2012. Continuous Memory Allocator, version 24.
    The final patchset that was merged in Linux 3.5.
    Michał Nazarewicz. 2013. Alokacja ciągłych fizycznie obszarów pamięci w systemie Linux. Bachelor’s thesis. WEiTI/ISE, PW, Warsaw.
    🇵🇱 Diploma thesis in Polish on the Continuous Memory Allocator.
    Michał Nazarewicz. 2012. A Deep Dive into CMA. Linux Weekly News (March 2012).
    A description of the way to integrate CMA with an architecture as well as short summary of how exactly CMA works.
    Michał Nazarewicz. 2012. Deep Dive into Contiguous Memory Allocator.
    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.
    Michał Nazarewicz. 2012. Contiguous Memory Allocator: Allocating Big Chunks of Physically Contiguous Memory. LinuxCon Europe, Barcelona, Spain.
    The presentation from the LinuxCon Europe (LCE) 2012 about CMA.
    Barry Song. 2012. A Simple Kernel Module as a Helper to Test CMA, vrsien 4.
    A short and simple driver that can be used to test CMA as well as see how it is used.
    Jonathan Corbet. 2011. A Reworked Contiguous Memory Allocator. Linux Weekly News (June 2011).
    An overwiev of the Contiguous Memory Allocator.
    Jonathan Corbet. 2011. CMA and ARM. Linux Weekly News (June 2011).
    An overview of the linear mapping problems CMA had on ARM platforms, and why the early fixups are required.
    Laura Abbott. 2012. Revoke LRU when trying to drop buffers.
    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.
    Jonathan Corbet. 2010. Memory Compaction. Linux Weekly News (January 2010).
    An overview of Mel Gorman’s compaction patches. Compaction code is used by CMA for scanning for and migrating non-free pages.
    Jonathan Corbet. 2009. Transcendent memory. Linux Weekly News (July 2009).
    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.
    Jonathan Corbet. 2011. POSIX_FADV_VOLATILE. Linux Weekly News (November 2011).
    An overwiev of John Stultz’s POSIX_FADV_VOLATILE implementation which is one of the things that CMA work with nicely.
    Minchan Kim. 2012. Discard clean pages during contiguous allocation instead of migration.
    Patch changing CMA so that clean pages are discarded instead of migrating which improves CMA’s performance.

    CMA po polsku

    Będę miał dzisiaj przyjemność prezentować Contiguous Memory Allocator na seminarium dyplomowym (CMA jest bowiem tematem mojej pracy). Dostępny jest również referat opisujący z większą zawartość slajdów. Aktualizacja: Z racji, że jestem już po obronie, dodaję również link do pracy inżynierskiej.

    Prezentacja nie opisuje sposobu użycia CMA zatem po więcej szczegółów odsyłam do materiałów z LCE 2012. No i oczywiście jest również strona mina86.com/cma/, z której linkuję do przeróżnych materiałów dotyczących CMA.

    Synchronizacja w jądrze Linux

    Prezentacja z seminarium dyplomowego na temat mechanizmów synchronizacji w jądrze Linux. Pokrótce przedstawia bariery pamięci, zmienne atomowe, semafory, spinlocki itp.

    Sieci Komputerowe

    Ponownie coś z serii „ja juz zaliczyłem na 5, a może komuś się przyda”. Odpowiedzi na pytania przygotowawcze przed kolokwium z przedmiotu Sieci komputerowe II. Jak w przypadku poprzedneigo wpisu, materiał ten ma największą wartość dla studentów Elektroniki Politechniki Warszawskiej, ale może też ktoś inny będzie miał ochotę przejrzeć.

    Systemy Operacyjne

    Coś z serii „ja już zaliczyłem na pięć, a może komuś się przyda”, czyli przygotowany przeze mnie plik z odpowiedziami na pytania przygotowawcze do egzaminu z przedmiotu Systemy operacyjne. Zapewne największa wartość mają one dla studentów Elektroniki Politechniki Warszawskiej, niemniej jednak może ktoś się tym zainteresuje.

    Double-checked locking pattern

    Jakiś czas temu w pewnych okolicznościach poruszony został wzorzec double-checked locking singleton, który jak powszechnie wiadomo nie jest do końca poprawny. Wynikła z tego krótka dyskusja, której kompilację pozwolę sobie wkleić poniżej (gdyż nie jest ona ogólnie dostępna, a nie lubię, gdy informacje się marnują).

    Stałość fizyczna i logiczna w C++

    Chciałbym zaprezentować pewien tekst, który przygotowałem na jeden z przedmiotów na studiach. Traktuje on o modyfikatorze const i mutable oraz określa pojęcie stałości logicznej czyli niezmienności zachowania obiektu, gdy patrzymy z zewnątrz. Może komuś się to przyda. Czekam również na wszelkie komentarze.