SlideShare a Scribd company logo
Yet another talk
about basics in
Linux Memory
Vasyl Gomonovych
Physical Memory
Overview
Memory
Management Unit
Memory Nodes,
Zones, Frames
Boot time memory
management
Physical memory
allocation
SLOB SLAB SLUB
Userspace allocator
END
Yet another talk about basics in Linux
Memory
Vasyl Gomonovych
2020
Yet another talk
about basics in
Linux Memory
Vasyl Gomonovych
Physical Memory
Overview
Memory
Management Unit
Memory Nodes,
Zones, Frames
Boot time memory
management
Physical memory
allocation
SLOB SLAB SLUB
Userspace allocator
END
Agenda
I Physical Memory Overview
I Memory Management Unit
I Memory Nodes, Zones, Frames
I Boot time memory management
I Memblock
I Bootmem
I Physical memory allocation
I Slab allocator
I Userspace allocator
Yet another talk
about basics in
Linux Memory
Vasyl Gomonovych
Physical Memory
Overview
Memory
Management Unit
Memory Nodes,
Zones, Frames
Boot time memory
management
Physical memory
allocation
SLOB SLAB SLUB
Userspace allocator
END
Overview
Yet another talk
about basics in
Linux Memory
Vasyl Gomonovych
Physical Memory
Overview
Memory
Management Unit
Memory Nodes,
Zones, Frames
Boot time memory
management
Physical memory
allocation
SLOB SLAB SLUB
Userspace allocator
END
Virtual Memory
Yet another talk
about basics in
Linux Memory
Vasyl Gomonovych
Physical Memory
Overview
Memory
Management Unit
Memory Nodes,
Zones, Frames
Boot time memory
management
Physical memory
allocation
SLOB SLAB SLUB
Userspace allocator
END
Physical Memory Hierarchy
Yet another talk
about basics in
Linux Memory
Vasyl Gomonovych
Physical Memory
Overview
Memory
Management Unit
Memory Nodes,
Zones, Frames
Boot time memory
management
Physical memory
allocation
SLOB SLAB SLUB
Userspace allocator
END
Physical Memory Segmentation
Yet another talk
about basics in
Linux Memory
Vasyl Gomonovych
Physical Memory
Overview
Memory
Management Unit
Memory Nodes,
Zones, Frames
Boot time memory
management
Physical memory
allocation
SLOB SLAB SLUB
Userspace allocator
END
Memory Banks
Yet another talk
about basics in
Linux Memory
Vasyl Gomonovych
Physical Memory
Overview
Memory
Management Unit
Memory Nodes,
Zones, Frames
Boot time memory
management
Physical memory
allocation
SLOB SLAB SLUB
Userspace allocator
END
memory management unit
Yet another talk
about basics in
Linux Memory
Vasyl Gomonovych
Physical Memory
Overview
Memory
Management Unit
Memory Nodes,
Zones, Frames
Boot time memory
management
Physical memory
allocation
SLOB SLAB SLUB
Userspace allocator
END
memory management unit
Yet another talk
about basics in
Linux Memory
Vasyl Gomonovych
Physical Memory
Overview
Memory
Management Unit
Memory Nodes,
Zones, Frames
Boot time memory
management
Physical memory
allocation
SLOB SLAB SLUB
Userspace allocator
END
memory management unit access
I Cp15:c1:c0 -¿ MCR p15, 0, val, c1, c0, 0
I C0 – TCM status Tightly coupled memory
I C1 – control register
I C2 –
I C3 – domain access
I C4 –
I C5 –
I C6 –
I C7 – cache setup, clean, drain write buffer
I C8 –
I C9 – cache operation (victim pointer, cache lock down)
I C10 –
I C11 –
I C12 –
I C13 – current process ID
I C14 –
I C15 – round-robin replacemant
Yet another talk
about basics in
Linux Memory
Vasyl Gomonovych
Physical Memory
Overview
Memory
Management Unit
Memory Nodes,
Zones, Frames
Boot time memory
management
Physical memory
allocation
SLOB SLAB SLUB
Userspace allocator
END
memory management unit page table
Yet another talk
about basics in
Linux Memory
Vasyl Gomonovych
Physical Memory
Overview
Memory
Management Unit
Memory Nodes,
Zones, Frames
Boot time memory
management
Physical memory
allocation
SLOB SLAB SLUB
Userspace allocator
END
memory management unit tlb
Yet another talk
about basics in
Linux Memory
Vasyl Gomonovych
Physical Memory
Overview
Memory
Management Unit
Memory Nodes,
Zones, Frames
Boot time memory
management
Physical memory
allocation
SLOB SLAB SLUB
Userspace allocator
END
memory management unit tlb
I Data TLB
I Instruction TLB
Yet another talk
about basics in
Linux Memory
Vasyl Gomonovych
Physical Memory
Overview
Memory
Management Unit
Memory Nodes,
Zones, Frames
Boot time memory
management
Physical memory
allocation
SLOB SLAB SLUB
Userspace allocator
END
memory management unit cache
I Virtually indexed
I Homonyms - the same virtual addresses in different
processes
I Synonyms - different virtual addresses maps to the same
physical
I Physically indexed
I Virtually Indexed Physically Tagged
Yet another talk
about basics in
Linux Memory
Vasyl Gomonovych
Physical Memory
Overview
Memory
Management Unit
Memory Nodes,
Zones, Frames
Boot time memory
management
Physical memory
allocation
SLOB SLAB SLUB
Userspace allocator
END
memory management unit cache
Yet another talk
about basics in
Linux Memory
Vasyl Gomonovych
Physical Memory
Overview
Memory
Management Unit
Memory Nodes,
Zones, Frames
Boot time memory
management
Physical memory
allocation
SLOB SLAB SLUB
Userspace allocator
END
memory management unit cache structure
I Cache line is transfer unit between cache and RAM
I Make write asynchronous
I Clustering read and write
I Direct map cache
I Way Associative cache
I Fully Associative cache
Yet another talk
about basics in
Linux Memory
Vasyl Gomonovych
Physical Memory
Overview
Memory
Management Unit
Memory Nodes,
Zones, Frames
Boot time memory
management
Physical memory
allocation
SLOB SLAB SLUB
Userspace allocator
END
memory management unit cache miss
I Compulsory miss - miss after cache flash
I Capacity miss - cache is full no free lines
I Conflict miss - cache is full no free lines
I Coherence miss - miss triggered by coherence protocol
Yet another talk
about basics in
Linux Memory
Vasyl Gomonovych
Physical Memory
Overview
Memory
Management Unit
Memory Nodes,
Zones, Frames
Boot time memory
management
Physical memory
allocation
SLOB SLAB SLUB
Userspace allocator
END
memory management unit cache replacement
I Pseudo LRU
I FIFO
I Random
Yet another talk
about basics in
Linux Memory
Vasyl Gomonovych
Physical Memory
Overview
Memory
Management Unit
Memory Nodes,
Zones, Frames
Boot time memory
management
Physical memory
allocation
SLOB SLAB SLUB
Userspace allocator
END
memory management unit mapping
Yet another talk
about basics in
Linux Memory
Vasyl Gomonovych
Physical Memory
Overview
Memory
Management Unit
Memory Nodes,
Zones, Frames
Boot time memory
management
Physical memory
allocation
SLOB SLAB SLUB
Userspace allocator
END
memory management unit mapping
Yet another talk
about basics in
Linux Memory
Vasyl Gomonovych
Physical Memory
Overview
Memory
Management Unit
Memory Nodes,
Zones, Frames
Boot time memory
management
Physical memory
allocation
SLOB SLAB SLUB
Userspace allocator
END
memory management unit switch
I FCSE – Fast context switch
I Elimination of the cache and TLB flush
I Process ID
I 32MB VM limit for task size
I MVM = VA + (0x2000000 * process ID)
I Task switch change process ID and add entries to
domain access reg
Yet another talk
about basics in
Linux Memory
Vasyl Gomonovych
Physical Memory
Overview
Memory
Management Unit
Memory Nodes,
Zones, Frames
Boot time memory
management
Physical memory
allocation
SLOB SLAB SLUB
Userspace allocator
END
memory management unit functionality
I Write policy
I Writeback – only to cache write
I Writethrue – write to cache and memory
I Allocation policy (miss case policy)
I Read allocate
I Write allocate - allocate line in cache read and store
I No write allocate - write directly to memory
I Lockdown – exempt from eviction (irq vector, ISR,
global data)
I Logical cache
I Physical cache
I Unified cache
I Split cache
I Cache hit vs cache miss (time penalty)
I Eviction
I Data streaming
I Thrashing
I Direct map vs set associativity
Yet another talk
about basics in
Linux Memory
Vasyl Gomonovych
Physical Memory
Overview
Memory
Management Unit
Memory Nodes,
Zones, Frames
Boot time memory
management
Physical memory
allocation
SLOB SLAB SLUB
Userspace allocator
END
Memory Nodes, Zones, Frames
Yet another talk
about basics in
Linux Memory
Vasyl Gomonovych
Physical Memory
Overview
Memory
Management Unit
Memory Nodes,
Zones, Frames
Boot time memory
management
Physical memory
allocation
SLOB SLAB SLUB
Userspace allocator
END
Boot time memory management
Yet another talk
about basics in
Linux Memory
Vasyl Gomonovych
Physical Memory
Overview
Memory
Management Unit
Memory Nodes,
Zones, Frames
Boot time memory
management
Physical memory
allocation
SLOB SLAB SLUB
Userspace allocator
END
Flat memory model
Yet another talk
about basics in
Linux Memory
Vasyl Gomonovych
Physical Memory
Overview
Memory
Management Unit
Memory Nodes,
Zones, Frames
Boot time memory
management
Physical memory
allocation
SLOB SLAB SLUB
Userspace allocator
END
Discontiguous memory model
Yet another talk
about basics in
Linux Memory
Vasyl Gomonovych
Physical Memory
Overview
Memory
Management Unit
Memory Nodes,
Zones, Frames
Boot time memory
management
Physical memory
allocation
SLOB SLAB SLUB
Userspace allocator
END
Sparse memory model
Yet another talk
about basics in
Linux Memory
Vasyl Gomonovych
Physical Memory
Overview
Memory
Management Unit
Memory Nodes,
Zones, Frames
Boot time memory
management
Physical memory
allocation
SLOB SLAB SLUB
Userspace allocator
END
Memblock
Yet another talk
about basics in
Linux Memory
Vasyl Gomonovych
Physical Memory
Overview
Memory
Management Unit
Memory Nodes,
Zones, Frames
Boot time memory
management
Physical memory
allocation
SLOB SLAB SLUB
Userspace allocator
END
Memblock
Yet another talk
about basics in
Linux Memory
Vasyl Gomonovych
Physical Memory
Overview
Memory
Management Unit
Memory Nodes,
Zones, Frames
Boot time memory
management
Physical memory
allocation
SLOB SLAB SLUB
Userspace allocator
END
Mips memblock
Yet another talk
about basics in
Linux Memory
Vasyl Gomonovych
Physical Memory
Overview
Memory
Management Unit
Memory Nodes,
Zones, Frames
Boot time memory
management
Physical memory
allocation
SLOB SLAB SLUB
Userspace allocator
END
Bootmem
Yet another talk
about basics in
Linux Memory
Vasyl Gomonovych
Physical Memory
Overview
Memory
Management Unit
Memory Nodes,
Zones, Frames
Boot time memory
management
Physical memory
allocation
SLOB SLAB SLUB
Userspace allocator
END
Buddy allocator
Yet another talk
about basics in
Linux Memory
Vasyl Gomonovych
Physical Memory
Overview
Memory
Management Unit
Memory Nodes,
Zones, Frames
Boot time memory
management
Physical memory
allocation
SLOB SLAB SLUB
Userspace allocator
END
SLOB
Yet another talk
about basics in
Linux Memory
Vasyl Gomonovych
Physical Memory
Overview
Memory
Management Unit
Memory Nodes,
Zones, Frames
Boot time memory
management
Physical memory
allocation
SLOB SLAB SLUB
Userspace allocator
END
SLAB
Yet another talk
about basics in
Linux Memory
Vasyl Gomonovych
Physical Memory
Overview
Memory
Management Unit
Memory Nodes,
Zones, Frames
Boot time memory
management
Physical memory
allocation
SLOB SLAB SLUB
Userspace allocator
END
SLAB
Yet another talk
about basics in
Linux Memory
Vasyl Gomonovych
Physical Memory
Overview
Memory
Management Unit
Memory Nodes,
Zones, Frames
Boot time memory
management
Physical memory
allocation
SLOB SLAB SLUB
Userspace allocator
END
SLUB
Yet another talk
about basics in
Linux Memory
Vasyl Gomonovych
Physical Memory
Overview
Memory
Management Unit
Memory Nodes,
Zones, Frames
Boot time memory
management
Physical memory
allocation
SLOB SLAB SLUB
Userspace allocator
END
SLUB debug
Yet another talk
about basics in
Linux Memory
Vasyl Gomonovych
Physical Memory
Overview
Memory
Management Unit
Memory Nodes,
Zones, Frames
Boot time memory
management
Physical memory
allocation
SLOB SLAB SLUB
Userspace allocator
END
SLUB debug
Yet another talk
about basics in
Linux Memory
Vasyl Gomonovych
Physical Memory
Overview
Memory
Management Unit
Memory Nodes,
Zones, Frames
Boot time memory
management
Physical memory
allocation
SLOB SLAB SLUB
Userspace allocator
END
SLUB debug
Yet another talk
about basics in
Linux Memory
Vasyl Gomonovych
Physical Memory
Overview
Memory
Management Unit
Memory Nodes,
Zones, Frames
Boot time memory
management
Physical memory
allocation
SLOB SLAB SLUB
Userspace allocator
END
SLUB debug
Yet another talk
about basics in
Linux Memory
Vasyl Gomonovych
Physical Memory
Overview
Memory
Management Unit
Memory Nodes,
Zones, Frames
Boot time memory
management
Physical memory
allocation
SLOB SLAB SLUB
Userspace allocator
END
malloc chank
Yet another talk
about basics in
Linux Memory
Vasyl Gomonovych
Physical Memory
Overview
Memory
Management Unit
Memory Nodes,
Zones, Frames
Boot time memory
management
Physical memory
allocation
SLOB SLAB SLUB
Userspace allocator
END
malloc buddy
Yet another talk
about basics in
Linux Memory
Vasyl Gomonovych
Physical Memory
Overview
Memory
Management Unit
Memory Nodes,
Zones, Frames
Boot time memory
management
Physical memory
allocation
SLOB SLAB SLUB
Userspace allocator
END
thread local storage descriptor
Yet another talk
about basics in
Linux Memory
Vasyl Gomonovych
Physical Memory
Overview
Memory
Management Unit
Memory Nodes,
Zones, Frames
Boot time memory
management
Physical memory
allocation
SLOB SLAB SLUB
Userspace allocator
END
Software setup
I (1) - architecture defined register point on TCB start
I (2) - first TCB entry is a pointer on Dynamic Thread
Vector DTV
I (3) - TCP Thread Control Block
I (4) - TLS Thread Local Storage
I (5) - Static TLS
I (6) - Dynamic TLS
Static TLS blocks are memory blocks for thread-local
variables for modules or dynamically loaded libraries that load
in memory by dynamic linker during the main program load.
Dynamic TLS blocks are memory blocks for thread-local
variables for modules that load in runtime by dlopen()
syscall.
Static TLS module number 1 is always main program
executable region for own thread-local variables.
Yet another talk
about basics in
Linux Memory
Vasyl Gomonovych
Physical Memory
Overview
Memory
Management Unit
Memory Nodes,
Zones, Frames
Boot time memory
management
Physical memory
allocation
SLOB SLAB SLUB
Userspace allocator
END
thread local storage
Yet another talk
about basics in
Linux Memory
Vasyl Gomonovych
Physical Memory
Overview
Memory
Management Unit
Memory Nodes,
Zones, Frames
Boot time memory
management
Physical memory
allocation
SLOB SLAB SLUB
Userspace allocator
END
END
Questions?
Yet another talk
about basics in
Linux Memory
Vasyl Gomonovych
Physical Memory
Overview
Memory
Management Unit
Memory Nodes,
Zones, Frames
Boot time memory
management
Physical memory
allocation
SLOB SLAB SLUB
Userspace allocator
END
Links
I What Every Programmer Should Know About Memory
I The Linux Virtual Memory Manager
I Carnegie Mellon Computer Architecture
I ELF Handling For Thread-Local Storage
I elixir.bootlin.com

More Related Content

Similar to Yet another talk_about_basics_in_linux_memory(1)

Preventing cpu side channel attacks with kernel tracking
Preventing cpu side channel attacks with kernel trackingPreventing cpu side channel attacks with kernel tracking
Preventing cpu side channel attacks with kernel tracking
Marian Marinov
 
EuroSec2012 "Effects of Memory Randomization, Sanitization and Page Cache on ...
EuroSec2012 "Effects of Memory Randomization, Sanitization and Page Cache on ...EuroSec2012 "Effects of Memory Randomization, Sanitization and Page Cache on ...
EuroSec2012 "Effects of Memory Randomization, Sanitization and Page Cache on ...
Kuniyasu Suzaki
 
Faq on SnapDrive for UNIX NetApp
Faq on SnapDrive for UNIX NetAppFaq on SnapDrive for UNIX NetApp
Faq on SnapDrive for UNIX NetApp
Ashwin Pawar
 
Hitchhiker's guide to Tru64's AdvFS
Hitchhiker's guide to Tru64's AdvFSHitchhiker's guide to Tru64's AdvFS
Hitchhiker's guide to Tru64's AdvFS
Justin Goldberg
 
Memory Hierarchy Design, Basics, Cache Optimization, Address Translation
Memory Hierarchy Design, Basics, Cache Optimization, Address TranslationMemory Hierarchy Design, Basics, Cache Optimization, Address Translation
Memory Hierarchy Design, Basics, Cache Optimization, Address Translation
Farwa Ansari
 
Garbage Collection, Tuning And Monitoring JVM In EBS 11i And R12
Garbage Collection, Tuning And Monitoring JVM In EBS 11i And R12Garbage Collection, Tuning And Monitoring JVM In EBS 11i And R12
Garbage Collection, Tuning And Monitoring JVM In EBS 11i And R12
sidg75
 
HBase Accelerated: In-Memory Flush and Compaction
HBase Accelerated: In-Memory Flush and CompactionHBase Accelerated: In-Memory Flush and Compaction
HBase Accelerated: In-Memory Flush and Compaction
DataWorks Summit/Hadoop Summit
 
PFcache (Linuxcon, Seattle, 2015)
PFcache (Linuxcon, Seattle, 2015)PFcache (Linuxcon, Seattle, 2015)
PFcache (Linuxcon, Seattle, 2015)
Pavel Emelyanov
 
Operating Systems - A Primer
Operating Systems - A PrimerOperating Systems - A Primer
Operating Systems - A Primer
Saumil Shah
 
제2회난공불락 오픈소스 세미나 커널튜닝
제2회난공불락 오픈소스 세미나 커널튜닝제2회난공불락 오픈소스 세미나 커널튜닝
제2회난공불락 오픈소스 세미나 커널튜닝
Tommy Lee
 
Linux Memory Management with CMA (Contiguous Memory Allocator)
Linux Memory Management with CMA (Contiguous Memory Allocator)Linux Memory Management with CMA (Contiguous Memory Allocator)
Linux Memory Management with CMA (Contiguous Memory Allocator)
Pankaj Suryawanshi
 
Understanding domino memory 2017
Understanding domino memory 2017Understanding domino memory 2017
Understanding domino memory 2017
mJOBrr
 
PFcache - LinuxCon 2015
PFcache - LinuxCon 2015PFcache - LinuxCon 2015
PFcache - LinuxCon 2015
OpenVZ
 
Denser containers with PF cache - Pavel Emelyanov
Denser containers with PF cache - Pavel EmelyanovDenser containers with PF cache - Pavel Emelyanov
Denser containers with PF cache - Pavel Emelyanov
OpenVZ
 
MySQL Performance - SydPHP October 2011
MySQL Performance - SydPHP October 2011MySQL Performance - SydPHP October 2011
MySQL Performance - SydPHP October 2011
Graham Weldon
 
Cpu caching concepts mr mahesh
Cpu caching concepts mr maheshCpu caching concepts mr mahesh
Cpu caching concepts mr mahesh
Faridabad
 
Memory
MemoryMemory
Memory
adil raja
 
I/O System and Case Study
I/O System and Case StudyI/O System and Case Study
I/O System and Case Study
GRamya Bharathi
 
My sql with enterprise storage
My sql with enterprise storageMy sql with enterprise storage
My sql with enterprise storage
Caroline_Rose
 
Storage best practices
Storage best practicesStorage best practices
Storage best practices
Maor Lipchuk
 

Similar to Yet another talk_about_basics_in_linux_memory(1) (20)

Preventing cpu side channel attacks with kernel tracking
Preventing cpu side channel attacks with kernel trackingPreventing cpu side channel attacks with kernel tracking
Preventing cpu side channel attacks with kernel tracking
 
EuroSec2012 "Effects of Memory Randomization, Sanitization and Page Cache on ...
EuroSec2012 "Effects of Memory Randomization, Sanitization and Page Cache on ...EuroSec2012 "Effects of Memory Randomization, Sanitization and Page Cache on ...
EuroSec2012 "Effects of Memory Randomization, Sanitization and Page Cache on ...
 
Faq on SnapDrive for UNIX NetApp
Faq on SnapDrive for UNIX NetAppFaq on SnapDrive for UNIX NetApp
Faq on SnapDrive for UNIX NetApp
 
Hitchhiker's guide to Tru64's AdvFS
Hitchhiker's guide to Tru64's AdvFSHitchhiker's guide to Tru64's AdvFS
Hitchhiker's guide to Tru64's AdvFS
 
Memory Hierarchy Design, Basics, Cache Optimization, Address Translation
Memory Hierarchy Design, Basics, Cache Optimization, Address TranslationMemory Hierarchy Design, Basics, Cache Optimization, Address Translation
Memory Hierarchy Design, Basics, Cache Optimization, Address Translation
 
Garbage Collection, Tuning And Monitoring JVM In EBS 11i And R12
Garbage Collection, Tuning And Monitoring JVM In EBS 11i And R12Garbage Collection, Tuning And Monitoring JVM In EBS 11i And R12
Garbage Collection, Tuning And Monitoring JVM In EBS 11i And R12
 
HBase Accelerated: In-Memory Flush and Compaction
HBase Accelerated: In-Memory Flush and CompactionHBase Accelerated: In-Memory Flush and Compaction
HBase Accelerated: In-Memory Flush and Compaction
 
PFcache (Linuxcon, Seattle, 2015)
PFcache (Linuxcon, Seattle, 2015)PFcache (Linuxcon, Seattle, 2015)
PFcache (Linuxcon, Seattle, 2015)
 
Operating Systems - A Primer
Operating Systems - A PrimerOperating Systems - A Primer
Operating Systems - A Primer
 
제2회난공불락 오픈소스 세미나 커널튜닝
제2회난공불락 오픈소스 세미나 커널튜닝제2회난공불락 오픈소스 세미나 커널튜닝
제2회난공불락 오픈소스 세미나 커널튜닝
 
Linux Memory Management with CMA (Contiguous Memory Allocator)
Linux Memory Management with CMA (Contiguous Memory Allocator)Linux Memory Management with CMA (Contiguous Memory Allocator)
Linux Memory Management with CMA (Contiguous Memory Allocator)
 
Understanding domino memory 2017
Understanding domino memory 2017Understanding domino memory 2017
Understanding domino memory 2017
 
PFcache - LinuxCon 2015
PFcache - LinuxCon 2015PFcache - LinuxCon 2015
PFcache - LinuxCon 2015
 
Denser containers with PF cache - Pavel Emelyanov
Denser containers with PF cache - Pavel EmelyanovDenser containers with PF cache - Pavel Emelyanov
Denser containers with PF cache - Pavel Emelyanov
 
MySQL Performance - SydPHP October 2011
MySQL Performance - SydPHP October 2011MySQL Performance - SydPHP October 2011
MySQL Performance - SydPHP October 2011
 
Cpu caching concepts mr mahesh
Cpu caching concepts mr maheshCpu caching concepts mr mahesh
Cpu caching concepts mr mahesh
 
Memory
MemoryMemory
Memory
 
I/O System and Case Study
I/O System and Case StudyI/O System and Case Study
I/O System and Case Study
 
My sql with enterprise storage
My sql with enterprise storageMy sql with enterprise storage
My sql with enterprise storage
 
Storage best practices
Storage best practicesStorage best practices
Storage best practices
 

Recently uploaded

Introduction to AI for Nonprofits with Tapp Network
Introduction to AI for Nonprofits with Tapp NetworkIntroduction to AI for Nonprofits with Tapp Network
Introduction to AI for Nonprofits with Tapp Network
TechSoup
 
Natural birth techniques - Mrs.Akanksha Trivedi Rama University
Natural birth techniques - Mrs.Akanksha Trivedi Rama UniversityNatural birth techniques - Mrs.Akanksha Trivedi Rama University
Natural birth techniques - Mrs.Akanksha Trivedi Rama University
Akanksha trivedi rama nursing college kanpur.
 
Assignment_4_ArianaBusciglio Marvel(1).docx
Assignment_4_ArianaBusciglio Marvel(1).docxAssignment_4_ArianaBusciglio Marvel(1).docx
Assignment_4_ArianaBusciglio Marvel(1).docx
ArianaBusciglio
 
Top five deadliest dog breeds in America
Top five deadliest dog breeds in AmericaTop five deadliest dog breeds in America
Top five deadliest dog breeds in America
Bisnar Chase Personal Injury Attorneys
 
World environment day ppt For 5 June 2024
World environment day ppt For 5 June 2024World environment day ppt For 5 June 2024
World environment day ppt For 5 June 2024
ak6969907
 
A Independência da América Espanhola LAPBOOK.pdf
A Independência da América Espanhola LAPBOOK.pdfA Independência da América Espanhola LAPBOOK.pdf
A Independência da América Espanhola LAPBOOK.pdf
Jean Carlos Nunes Paixão
 
A Survey of Techniques for Maximizing LLM Performance.pptx
A Survey of Techniques for Maximizing LLM Performance.pptxA Survey of Techniques for Maximizing LLM Performance.pptx
A Survey of Techniques for Maximizing LLM Performance.pptx
thanhdowork
 
বাংলাদেশ অর্থনৈতিক সমীক্ষা (Economic Review) ২০২৪ UJS App.pdf
বাংলাদেশ অর্থনৈতিক সমীক্ষা (Economic Review) ২০২৪ UJS App.pdfবাংলাদেশ অর্থনৈতিক সমীক্ষা (Economic Review) ২০২৪ UJS App.pdf
বাংলাদেশ অর্থনৈতিক সমীক্ষা (Economic Review) ২০২৪ UJS App.pdf
eBook.com.bd (প্রয়োজনীয় বাংলা বই)
 
Digital Artifact 1 - 10VCD Environments Unit
Digital Artifact 1 - 10VCD Environments UnitDigital Artifact 1 - 10VCD Environments Unit
Digital Artifact 1 - 10VCD Environments Unit
chanes7
 
PCOS corelations and management through Ayurveda.
PCOS corelations and management through Ayurveda.PCOS corelations and management through Ayurveda.
PCOS corelations and management through Ayurveda.
Dr. Shivangi Singh Parihar
 
writing about opinions about Australia the movie
writing about opinions about Australia the moviewriting about opinions about Australia the movie
writing about opinions about Australia the movie
Nicholas Montgomery
 
Pollock and Snow "DEIA in the Scholarly Landscape, Session One: Setting Expec...
Pollock and Snow "DEIA in the Scholarly Landscape, Session One: Setting Expec...Pollock and Snow "DEIA in the Scholarly Landscape, Session One: Setting Expec...
Pollock and Snow "DEIA in the Scholarly Landscape, Session One: Setting Expec...
National Information Standards Organization (NISO)
 
clinical examination of hip joint (1).pdf
clinical examination of hip joint (1).pdfclinical examination of hip joint (1).pdf
clinical examination of hip joint (1).pdf
Priyankaranawat4
 
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...
Levi Shapiro
 
Thesis Statement for students diagnonsed withADHD.ppt
Thesis Statement for students diagnonsed withADHD.pptThesis Statement for students diagnonsed withADHD.ppt
Thesis Statement for students diagnonsed withADHD.ppt
EverAndrsGuerraGuerr
 
Chapter 4 - Islamic Financial Institutions in Malaysia.pptx
Chapter 4 - Islamic Financial Institutions in Malaysia.pptxChapter 4 - Islamic Financial Institutions in Malaysia.pptx
Chapter 4 - Islamic Financial Institutions in Malaysia.pptx
Mohd Adib Abd Muin, Senior Lecturer at Universiti Utara Malaysia
 
RPMS TEMPLATE FOR SCHOOL YEAR 2023-2024 FOR TEACHER 1 TO TEACHER 3
RPMS TEMPLATE FOR SCHOOL YEAR 2023-2024 FOR TEACHER 1 TO TEACHER 3RPMS TEMPLATE FOR SCHOOL YEAR 2023-2024 FOR TEACHER 1 TO TEACHER 3
RPMS TEMPLATE FOR SCHOOL YEAR 2023-2024 FOR TEACHER 1 TO TEACHER 3
IreneSebastianRueco1
 
A Strategic Approach: GenAI in Education
A Strategic Approach: GenAI in EducationA Strategic Approach: GenAI in Education
A Strategic Approach: GenAI in Education
Peter Windle
 
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...
Dr. Vinod Kumar Kanvaria
 
Lapbook sobre os Regimes Totalitários.pdf
Lapbook sobre os Regimes Totalitários.pdfLapbook sobre os Regimes Totalitários.pdf
Lapbook sobre os Regimes Totalitários.pdf
Jean Carlos Nunes Paixão
 

Recently uploaded (20)

Introduction to AI for Nonprofits with Tapp Network
Introduction to AI for Nonprofits with Tapp NetworkIntroduction to AI for Nonprofits with Tapp Network
Introduction to AI for Nonprofits with Tapp Network
 
Natural birth techniques - Mrs.Akanksha Trivedi Rama University
Natural birth techniques - Mrs.Akanksha Trivedi Rama UniversityNatural birth techniques - Mrs.Akanksha Trivedi Rama University
Natural birth techniques - Mrs.Akanksha Trivedi Rama University
 
Assignment_4_ArianaBusciglio Marvel(1).docx
Assignment_4_ArianaBusciglio Marvel(1).docxAssignment_4_ArianaBusciglio Marvel(1).docx
Assignment_4_ArianaBusciglio Marvel(1).docx
 
Top five deadliest dog breeds in America
Top five deadliest dog breeds in AmericaTop five deadliest dog breeds in America
Top five deadliest dog breeds in America
 
World environment day ppt For 5 June 2024
World environment day ppt For 5 June 2024World environment day ppt For 5 June 2024
World environment day ppt For 5 June 2024
 
A Independência da América Espanhola LAPBOOK.pdf
A Independência da América Espanhola LAPBOOK.pdfA Independência da América Espanhola LAPBOOK.pdf
A Independência da América Espanhola LAPBOOK.pdf
 
A Survey of Techniques for Maximizing LLM Performance.pptx
A Survey of Techniques for Maximizing LLM Performance.pptxA Survey of Techniques for Maximizing LLM Performance.pptx
A Survey of Techniques for Maximizing LLM Performance.pptx
 
বাংলাদেশ অর্থনৈতিক সমীক্ষা (Economic Review) ২০২৪ UJS App.pdf
বাংলাদেশ অর্থনৈতিক সমীক্ষা (Economic Review) ২০২৪ UJS App.pdfবাংলাদেশ অর্থনৈতিক সমীক্ষা (Economic Review) ২০২৪ UJS App.pdf
বাংলাদেশ অর্থনৈতিক সমীক্ষা (Economic Review) ২০২৪ UJS App.pdf
 
Digital Artifact 1 - 10VCD Environments Unit
Digital Artifact 1 - 10VCD Environments UnitDigital Artifact 1 - 10VCD Environments Unit
Digital Artifact 1 - 10VCD Environments Unit
 
PCOS corelations and management through Ayurveda.
PCOS corelations and management through Ayurveda.PCOS corelations and management through Ayurveda.
PCOS corelations and management through Ayurveda.
 
writing about opinions about Australia the movie
writing about opinions about Australia the moviewriting about opinions about Australia the movie
writing about opinions about Australia the movie
 
Pollock and Snow "DEIA in the Scholarly Landscape, Session One: Setting Expec...
Pollock and Snow "DEIA in the Scholarly Landscape, Session One: Setting Expec...Pollock and Snow "DEIA in the Scholarly Landscape, Session One: Setting Expec...
Pollock and Snow "DEIA in the Scholarly Landscape, Session One: Setting Expec...
 
clinical examination of hip joint (1).pdf
clinical examination of hip joint (1).pdfclinical examination of hip joint (1).pdf
clinical examination of hip joint (1).pdf
 
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...
 
Thesis Statement for students diagnonsed withADHD.ppt
Thesis Statement for students diagnonsed withADHD.pptThesis Statement for students diagnonsed withADHD.ppt
Thesis Statement for students diagnonsed withADHD.ppt
 
Chapter 4 - Islamic Financial Institutions in Malaysia.pptx
Chapter 4 - Islamic Financial Institutions in Malaysia.pptxChapter 4 - Islamic Financial Institutions in Malaysia.pptx
Chapter 4 - Islamic Financial Institutions in Malaysia.pptx
 
RPMS TEMPLATE FOR SCHOOL YEAR 2023-2024 FOR TEACHER 1 TO TEACHER 3
RPMS TEMPLATE FOR SCHOOL YEAR 2023-2024 FOR TEACHER 1 TO TEACHER 3RPMS TEMPLATE FOR SCHOOL YEAR 2023-2024 FOR TEACHER 1 TO TEACHER 3
RPMS TEMPLATE FOR SCHOOL YEAR 2023-2024 FOR TEACHER 1 TO TEACHER 3
 
A Strategic Approach: GenAI in Education
A Strategic Approach: GenAI in EducationA Strategic Approach: GenAI in Education
A Strategic Approach: GenAI in Education
 
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...
 
Lapbook sobre os Regimes Totalitários.pdf
Lapbook sobre os Regimes Totalitários.pdfLapbook sobre os Regimes Totalitários.pdf
Lapbook sobre os Regimes Totalitários.pdf
 

Yet another talk_about_basics_in_linux_memory(1)

  • 1. Yet another talk about basics in Linux Memory Vasyl Gomonovych Physical Memory Overview Memory Management Unit Memory Nodes, Zones, Frames Boot time memory management Physical memory allocation SLOB SLAB SLUB Userspace allocator END Yet another talk about basics in Linux Memory Vasyl Gomonovych 2020
  • 2. Yet another talk about basics in Linux Memory Vasyl Gomonovych Physical Memory Overview Memory Management Unit Memory Nodes, Zones, Frames Boot time memory management Physical memory allocation SLOB SLAB SLUB Userspace allocator END Agenda I Physical Memory Overview I Memory Management Unit I Memory Nodes, Zones, Frames I Boot time memory management I Memblock I Bootmem I Physical memory allocation I Slab allocator I Userspace allocator
  • 3. Yet another talk about basics in Linux Memory Vasyl Gomonovych Physical Memory Overview Memory Management Unit Memory Nodes, Zones, Frames Boot time memory management Physical memory allocation SLOB SLAB SLUB Userspace allocator END Overview
  • 4. Yet another talk about basics in Linux Memory Vasyl Gomonovych Physical Memory Overview Memory Management Unit Memory Nodes, Zones, Frames Boot time memory management Physical memory allocation SLOB SLAB SLUB Userspace allocator END Virtual Memory
  • 5. Yet another talk about basics in Linux Memory Vasyl Gomonovych Physical Memory Overview Memory Management Unit Memory Nodes, Zones, Frames Boot time memory management Physical memory allocation SLOB SLAB SLUB Userspace allocator END Physical Memory Hierarchy
  • 6. Yet another talk about basics in Linux Memory Vasyl Gomonovych Physical Memory Overview Memory Management Unit Memory Nodes, Zones, Frames Boot time memory management Physical memory allocation SLOB SLAB SLUB Userspace allocator END Physical Memory Segmentation
  • 7. Yet another talk about basics in Linux Memory Vasyl Gomonovych Physical Memory Overview Memory Management Unit Memory Nodes, Zones, Frames Boot time memory management Physical memory allocation SLOB SLAB SLUB Userspace allocator END Memory Banks
  • 8. Yet another talk about basics in Linux Memory Vasyl Gomonovych Physical Memory Overview Memory Management Unit Memory Nodes, Zones, Frames Boot time memory management Physical memory allocation SLOB SLAB SLUB Userspace allocator END memory management unit
  • 9. Yet another talk about basics in Linux Memory Vasyl Gomonovych Physical Memory Overview Memory Management Unit Memory Nodes, Zones, Frames Boot time memory management Physical memory allocation SLOB SLAB SLUB Userspace allocator END memory management unit
  • 10. Yet another talk about basics in Linux Memory Vasyl Gomonovych Physical Memory Overview Memory Management Unit Memory Nodes, Zones, Frames Boot time memory management Physical memory allocation SLOB SLAB SLUB Userspace allocator END memory management unit access I Cp15:c1:c0 -¿ MCR p15, 0, val, c1, c0, 0 I C0 – TCM status Tightly coupled memory I C1 – control register I C2 – I C3 – domain access I C4 – I C5 – I C6 – I C7 – cache setup, clean, drain write buffer I C8 – I C9 – cache operation (victim pointer, cache lock down) I C10 – I C11 – I C12 – I C13 – current process ID I C14 – I C15 – round-robin replacemant
  • 11. Yet another talk about basics in Linux Memory Vasyl Gomonovych Physical Memory Overview Memory Management Unit Memory Nodes, Zones, Frames Boot time memory management Physical memory allocation SLOB SLAB SLUB Userspace allocator END memory management unit page table
  • 12. Yet another talk about basics in Linux Memory Vasyl Gomonovych Physical Memory Overview Memory Management Unit Memory Nodes, Zones, Frames Boot time memory management Physical memory allocation SLOB SLAB SLUB Userspace allocator END memory management unit tlb
  • 13. Yet another talk about basics in Linux Memory Vasyl Gomonovych Physical Memory Overview Memory Management Unit Memory Nodes, Zones, Frames Boot time memory management Physical memory allocation SLOB SLAB SLUB Userspace allocator END memory management unit tlb I Data TLB I Instruction TLB
  • 14. Yet another talk about basics in Linux Memory Vasyl Gomonovych Physical Memory Overview Memory Management Unit Memory Nodes, Zones, Frames Boot time memory management Physical memory allocation SLOB SLAB SLUB Userspace allocator END memory management unit cache I Virtually indexed I Homonyms - the same virtual addresses in different processes I Synonyms - different virtual addresses maps to the same physical I Physically indexed I Virtually Indexed Physically Tagged
  • 15. Yet another talk about basics in Linux Memory Vasyl Gomonovych Physical Memory Overview Memory Management Unit Memory Nodes, Zones, Frames Boot time memory management Physical memory allocation SLOB SLAB SLUB Userspace allocator END memory management unit cache
  • 16. Yet another talk about basics in Linux Memory Vasyl Gomonovych Physical Memory Overview Memory Management Unit Memory Nodes, Zones, Frames Boot time memory management Physical memory allocation SLOB SLAB SLUB Userspace allocator END memory management unit cache structure I Cache line is transfer unit between cache and RAM I Make write asynchronous I Clustering read and write I Direct map cache I Way Associative cache I Fully Associative cache
  • 17. Yet another talk about basics in Linux Memory Vasyl Gomonovych Physical Memory Overview Memory Management Unit Memory Nodes, Zones, Frames Boot time memory management Physical memory allocation SLOB SLAB SLUB Userspace allocator END memory management unit cache miss I Compulsory miss - miss after cache flash I Capacity miss - cache is full no free lines I Conflict miss - cache is full no free lines I Coherence miss - miss triggered by coherence protocol
  • 18. Yet another talk about basics in Linux Memory Vasyl Gomonovych Physical Memory Overview Memory Management Unit Memory Nodes, Zones, Frames Boot time memory management Physical memory allocation SLOB SLAB SLUB Userspace allocator END memory management unit cache replacement I Pseudo LRU I FIFO I Random
  • 19. Yet another talk about basics in Linux Memory Vasyl Gomonovych Physical Memory Overview Memory Management Unit Memory Nodes, Zones, Frames Boot time memory management Physical memory allocation SLOB SLAB SLUB Userspace allocator END memory management unit mapping
  • 20. Yet another talk about basics in Linux Memory Vasyl Gomonovych Physical Memory Overview Memory Management Unit Memory Nodes, Zones, Frames Boot time memory management Physical memory allocation SLOB SLAB SLUB Userspace allocator END memory management unit mapping
  • 21. Yet another talk about basics in Linux Memory Vasyl Gomonovych Physical Memory Overview Memory Management Unit Memory Nodes, Zones, Frames Boot time memory management Physical memory allocation SLOB SLAB SLUB Userspace allocator END memory management unit switch I FCSE – Fast context switch I Elimination of the cache and TLB flush I Process ID I 32MB VM limit for task size I MVM = VA + (0x2000000 * process ID) I Task switch change process ID and add entries to domain access reg
  • 22. Yet another talk about basics in Linux Memory Vasyl Gomonovych Physical Memory Overview Memory Management Unit Memory Nodes, Zones, Frames Boot time memory management Physical memory allocation SLOB SLAB SLUB Userspace allocator END memory management unit functionality I Write policy I Writeback – only to cache write I Writethrue – write to cache and memory I Allocation policy (miss case policy) I Read allocate I Write allocate - allocate line in cache read and store I No write allocate - write directly to memory I Lockdown – exempt from eviction (irq vector, ISR, global data) I Logical cache I Physical cache I Unified cache I Split cache I Cache hit vs cache miss (time penalty) I Eviction I Data streaming I Thrashing I Direct map vs set associativity
  • 23. Yet another talk about basics in Linux Memory Vasyl Gomonovych Physical Memory Overview Memory Management Unit Memory Nodes, Zones, Frames Boot time memory management Physical memory allocation SLOB SLAB SLUB Userspace allocator END Memory Nodes, Zones, Frames
  • 24. Yet another talk about basics in Linux Memory Vasyl Gomonovych Physical Memory Overview Memory Management Unit Memory Nodes, Zones, Frames Boot time memory management Physical memory allocation SLOB SLAB SLUB Userspace allocator END Boot time memory management
  • 25. Yet another talk about basics in Linux Memory Vasyl Gomonovych Physical Memory Overview Memory Management Unit Memory Nodes, Zones, Frames Boot time memory management Physical memory allocation SLOB SLAB SLUB Userspace allocator END Flat memory model
  • 26. Yet another talk about basics in Linux Memory Vasyl Gomonovych Physical Memory Overview Memory Management Unit Memory Nodes, Zones, Frames Boot time memory management Physical memory allocation SLOB SLAB SLUB Userspace allocator END Discontiguous memory model
  • 27. Yet another talk about basics in Linux Memory Vasyl Gomonovych Physical Memory Overview Memory Management Unit Memory Nodes, Zones, Frames Boot time memory management Physical memory allocation SLOB SLAB SLUB Userspace allocator END Sparse memory model
  • 28. Yet another talk about basics in Linux Memory Vasyl Gomonovych Physical Memory Overview Memory Management Unit Memory Nodes, Zones, Frames Boot time memory management Physical memory allocation SLOB SLAB SLUB Userspace allocator END Memblock
  • 29. Yet another talk about basics in Linux Memory Vasyl Gomonovych Physical Memory Overview Memory Management Unit Memory Nodes, Zones, Frames Boot time memory management Physical memory allocation SLOB SLAB SLUB Userspace allocator END Memblock
  • 30. Yet another talk about basics in Linux Memory Vasyl Gomonovych Physical Memory Overview Memory Management Unit Memory Nodes, Zones, Frames Boot time memory management Physical memory allocation SLOB SLAB SLUB Userspace allocator END Mips memblock
  • 31. Yet another talk about basics in Linux Memory Vasyl Gomonovych Physical Memory Overview Memory Management Unit Memory Nodes, Zones, Frames Boot time memory management Physical memory allocation SLOB SLAB SLUB Userspace allocator END Bootmem
  • 32. Yet another talk about basics in Linux Memory Vasyl Gomonovych Physical Memory Overview Memory Management Unit Memory Nodes, Zones, Frames Boot time memory management Physical memory allocation SLOB SLAB SLUB Userspace allocator END Buddy allocator
  • 33. Yet another talk about basics in Linux Memory Vasyl Gomonovych Physical Memory Overview Memory Management Unit Memory Nodes, Zones, Frames Boot time memory management Physical memory allocation SLOB SLAB SLUB Userspace allocator END SLOB
  • 34. Yet another talk about basics in Linux Memory Vasyl Gomonovych Physical Memory Overview Memory Management Unit Memory Nodes, Zones, Frames Boot time memory management Physical memory allocation SLOB SLAB SLUB Userspace allocator END SLAB
  • 35. Yet another talk about basics in Linux Memory Vasyl Gomonovych Physical Memory Overview Memory Management Unit Memory Nodes, Zones, Frames Boot time memory management Physical memory allocation SLOB SLAB SLUB Userspace allocator END SLAB
  • 36. Yet another talk about basics in Linux Memory Vasyl Gomonovych Physical Memory Overview Memory Management Unit Memory Nodes, Zones, Frames Boot time memory management Physical memory allocation SLOB SLAB SLUB Userspace allocator END SLUB
  • 37. Yet another talk about basics in Linux Memory Vasyl Gomonovych Physical Memory Overview Memory Management Unit Memory Nodes, Zones, Frames Boot time memory management Physical memory allocation SLOB SLAB SLUB Userspace allocator END SLUB debug
  • 38. Yet another talk about basics in Linux Memory Vasyl Gomonovych Physical Memory Overview Memory Management Unit Memory Nodes, Zones, Frames Boot time memory management Physical memory allocation SLOB SLAB SLUB Userspace allocator END SLUB debug
  • 39. Yet another talk about basics in Linux Memory Vasyl Gomonovych Physical Memory Overview Memory Management Unit Memory Nodes, Zones, Frames Boot time memory management Physical memory allocation SLOB SLAB SLUB Userspace allocator END SLUB debug
  • 40. Yet another talk about basics in Linux Memory Vasyl Gomonovych Physical Memory Overview Memory Management Unit Memory Nodes, Zones, Frames Boot time memory management Physical memory allocation SLOB SLAB SLUB Userspace allocator END SLUB debug
  • 41. Yet another talk about basics in Linux Memory Vasyl Gomonovych Physical Memory Overview Memory Management Unit Memory Nodes, Zones, Frames Boot time memory management Physical memory allocation SLOB SLAB SLUB Userspace allocator END malloc chank
  • 42. Yet another talk about basics in Linux Memory Vasyl Gomonovych Physical Memory Overview Memory Management Unit Memory Nodes, Zones, Frames Boot time memory management Physical memory allocation SLOB SLAB SLUB Userspace allocator END malloc buddy
  • 43. Yet another talk about basics in Linux Memory Vasyl Gomonovych Physical Memory Overview Memory Management Unit Memory Nodes, Zones, Frames Boot time memory management Physical memory allocation SLOB SLAB SLUB Userspace allocator END thread local storage descriptor
  • 44. Yet another talk about basics in Linux Memory Vasyl Gomonovych Physical Memory Overview Memory Management Unit Memory Nodes, Zones, Frames Boot time memory management Physical memory allocation SLOB SLAB SLUB Userspace allocator END Software setup I (1) - architecture defined register point on TCB start I (2) - first TCB entry is a pointer on Dynamic Thread Vector DTV I (3) - TCP Thread Control Block I (4) - TLS Thread Local Storage I (5) - Static TLS I (6) - Dynamic TLS Static TLS blocks are memory blocks for thread-local variables for modules or dynamically loaded libraries that load in memory by dynamic linker during the main program load. Dynamic TLS blocks are memory blocks for thread-local variables for modules that load in runtime by dlopen() syscall. Static TLS module number 1 is always main program executable region for own thread-local variables.
  • 45. Yet another talk about basics in Linux Memory Vasyl Gomonovych Physical Memory Overview Memory Management Unit Memory Nodes, Zones, Frames Boot time memory management Physical memory allocation SLOB SLAB SLUB Userspace allocator END thread local storage
  • 46. Yet another talk about basics in Linux Memory Vasyl Gomonovych Physical Memory Overview Memory Management Unit Memory Nodes, Zones, Frames Boot time memory management Physical memory allocation SLOB SLAB SLUB Userspace allocator END END Questions?
  • 47. Yet another talk about basics in Linux Memory Vasyl Gomonovych Physical Memory Overview Memory Management Unit Memory Nodes, Zones, Frames Boot time memory management Physical memory allocation SLOB SLAB SLUB Userspace allocator END Links I What Every Programmer Should Know About Memory I The Linux Virtual Memory Manager I Carnegie Mellon Computer Architecture I ELF Handling For Thread-Local Storage I elixir.bootlin.com