高级可配置电源接口发展现状.ppt_第1页
高级可配置电源接口发展现状.ppt_第2页
高级可配置电源接口发展现状.ppt_第3页
高级可配置电源接口发展现状.ppt_第4页
高级可配置电源接口发展现状.ppt_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

UpdatesinACPIBased MemoryHot Plug Agenda 1 2 3 4 5 6 ACPI MemoryHot PlugMemoryHot PlugProcessBootMemoryHandlingPinnedPagesMigrationQEmumemoryHot PlugFuturework 2 ACPI MemoryHot Plug ACPI AdvancedConfigurationandPowerInterfaceACPIisaninterfacespecificationofOperatingSystem directedmotherboarddeviceconfigurationandPowerManagement ACPISpecification5 0 Methods dynamic ACPITables static ACPIBIOS Firmware ACPIRegistersHardware Kernel Software ACPIFrameworkRunTimeBootTime OSlayerframework Eventhandling API Staticinfousedonlyatboottime DSDT SRAT Eventdrivenmodel Eventregisters Controlregisters 3 Dynamicmethodsusedatruntime EJ0 STA SCI SystemControlInterrupt Kernel MemoryHot PlugSubsystem 4 Hardware Methods dynamic ACPIRegisters Eventinfo Calleventhandler ACPITables static ACPIBIOS GenerateSCI SystemControlInterrupt CallAPICallACPIMethod Hardwareoperation InstalleventhandlerACPIFrameworkReadACPITables ACPI MemoryHot Plug ACPIandMemoryHot Plug BoottimeprocessRuntimeprocess Calldevicedependentcode Hot Plughappens MemoryDeviceDriver MemoryAffinity SRAT StaticinformationofNUMAarchitecture MemoryAffinityMemoryAffinity Mainlyusefulinformation Memoryrange PXM proximitydomain Hotpluggableflag ACPI MemoryHot Plug Staticconfiguration SRAT SystemResourceAffinityTable 5 Agenda 1 2 3 4 5 6 ACPI MemoryHot PlugMemoryHot PlugProcessBootMemoryHandlingPinnedPagesMigrationQEmumemoryHot PlugFuturework 6 Memorymanagementbackground Kernelspace directmapping 64TB hole modulemappingspacekerneltextmappingholevirtualmemorymap 1TB holevmalloc ioremapspacehole Physicalspace BlockX movablepages used page structsofBlockX 7 4 Virtualmemorymapping pages 5 Memoryblocktobehot plugged 1 Userprocesses pagetables 2 Kerneldirectmappingpagetables 3 Virtualmemorymapping pagetables 1 5 3 2 4 process 128TB process 128TB Userprocessspace 128TB process 128TB MemoryHot addProcess Physicalspace Kernelspace modulemappingspacekerneltextmappingholevirtualmemorymap 1TB holevmalloc ioremapspaceholedirectmapping 64TB hole Empty page structsofBlockX 8 4 3 2 1 process 128TB process 128TB Userprocessspace 128TB process 128TB BlockX pages invalid 1 Initializedirectmapping 2 Initializevirtualmemory mapping 3 Onlinememoryblock 4 Establishuserspacemapping MemoryHot removeProcess Kernelspace modulemappingspacekerneltextmappingholevirtualmemorymap 1TB hole vmalloc ioremapspaceholedirectmapping 64TB hole Empty 9 5 4 process 128TB process 128TB Userprocessspace 128TB process 128TB 3 Reestablishnewuserspacemapping Physicalspace page structsofBlockXNewpage structs pages invalid Newpage Newpage2BlockX 1 Unmapuserspacepages 2 Offlinepagesandmigratepages 13 4 Freekerneldirectmapping 5 Freevirtualmemory mapping 10 directmapping 64TB KernelspaceUserspace 128TB Physicalspace Userpage Userpage Kernelpageusermapping Problem Kernelpagescannotbehot removedKernelpage variable KernelpageUserpage1 migrate Kernelpageva pa offset 1 1mapped Userpage Kernelpagenotmigratable not hot removablehot removable 2 hot remove Agenda 1 2 3 4 5 6 ACPI MemoryHot PlugMemoryHot PlugProcessBootMemoryHandlingPinnedPagesMigrationQEmumemoryHot PlugFuturework 11 AvoidAllocatingHot pluggableMemory start kernel Thekernelcannotrecognizewhichmemoryishot pluggable free all bootmemThekernelcanrecognizethehot pluggablememory ParsingSRAT memblockallocator buddyallocator Boottime 12 AvoidAllocatingHot pluggableMemory BeforeParsingSRAT How free all bootmem ParsingSRAT start kernelAllocatememoryjustbehindthekernelimage Thenodekernelresidesinisun hot pluggableIntroduceanewbottom upmodeformemblockallocator Boottime 13 Top downV S Bottom upTop downallocationmode NODE0NODE1 NODE0NODE1 Memoryatlowaddressesisprecious e g forDMAdevices Fornon memory hot plugusers Inmostcases memoryallocatedbeforeparsingSRATwon tbetoomuch soitcouldhighlylikelybeinthesamenodewithkernelimageFormemory hot plugusers Bottom upallocationmodeKernelimage Kernelimage 14 newallocation AvoidAllocatingHot pluggableMemory AfterParsingSRAT start kernel free all bootmem ParsingSRAT Markhot pluggablememoryandskiptheminfollowedallocations IntroduceMEMBLOCK HOTPLUGflagformemblockallocatorChangebacktotop downmode How Boottime 15 start kernel SummaryAllocatememoryjustbehindthekernelimagebyusingbottom upallocationmode free all bootmemSkipallocatingmemorywhichismarkedwithMEMBLOCK HOTPLUGflag ParsingSRAT memblockallocator buddyallocator Boottime 16 17 BootOption movable node Aboot timeswitchtoenablemovablenodefunctionality Higherprioritythankernelcoreandmovablecorebootoption Makesuremovablenodefunctionalitycanbeconfigured Agenda 1 2 3 4 5 6 ACPI MemoryHot PlugMemoryHot PlugProcessBootMemoryHandlingPinnedPagesMigrationQEmumemoryHot PlugFuturework 18 PagesPinnedbyKernel Short livedPins cma fs exec security nfs events net ceph lotsofdirvers Long livedPins pinnedinalllifecycle KVM RealmodeidentityEPTpagetable APICaccesspage AIO EventRingbuffer 19 20 Short livedPins Justfordatacopying Solution Nohandling Memory offlineretrytimeout 120s isenough 21 Long livedPins KVM Realmodeeptidentitypagetable NeededforCPUsthatdonotallowenteringguestmodewithpagingdisable Populatedwithptesthatcoverentireguest smemory APICaccesspage UsedbyCPUdirectlytocatchMMIOaccesstoanAPIC 22 Guest gva gpa Host page2 Guest Pagetable EPT hpa1 hpa2 page1 kvm arch ept identity pagetable apic access page Long livedPins KVMWhypinned Forconvenience notnecessary VMCS APIC ACCESS ADDR 3 UpdateAPIC ACCESS ADDRpointerinVMCS 3 2 1 2 Updatelocalcacheforpagestruct 1 UpdateEPTentry 23 Host hpa1page1 hpa2page2 Long livedPins KVM EPTidentitypagetable UnpindirectlyGuest gpa EPT 1 Guestrequiresapage 2 MMUsearchesEPTforahpa 3 MMUreturnsEPTviolationsincepagehasbeenmigrated 4 KVMhandlesEPTviolationandfindthenewpage 5 KVMupdatesEPT6 MMUreturnsnewhpa 2 1 6 3 4 5 Long livedPins KVMAPICaccesspage 24 hpa1 hpa2 page1page2L0 HostMode L2Guest GuestModeVMCS L1Guest VMCS TwokindsofVM Entry Exit VM Entry ExitinGuestmodeareemulatedbyKVM L1L2VM Entry Exit VM Entry ExitbetweenHostandGuestmodeareprovidedbyCPU L0L1VM Entry Exit L0L2VM Entry Exit Twocasestohandle CPUisrunningL1Guest CPUisrunningL2Guest 25 L0 HostMode hpa1page1 hpa2page2 L2Guest VMCS L1Guest VMCS Long livedPins KVMAPICaccesspageCPUisrunningL1Guest GuestMode PageMigration 1 Trytounmappage2 MMUnotifierworks 3 Unmapandmigratepage 4 Pagemigrated KVM 1 HandlerenforcesaL1 L0VM Exit2 HandlermakesvcpurequesttoupdateL1VMCS 3 NextL0 L1VM Entry GUPwaitsforpagemigration 4 UpdateL1VMCS5 UpdateL2VMCSin nextL1 L2VM Entry L0 HostMode hpa1page1 hpa2page2 L2Guest VMCS L1Guest VMCS Long livedPins KVMAPICaccesspageCPUisrunningL2Guest GuestMode PageMigration 1 Trytounmappage2 MMUnotifierworks 3 Unmapandmigratepage 4 Pagemigrated KVM 1 HandlerenforcesaL2 L0VM Exit2 HandlermakesvcpurequesttoupdateL2VMCS 3 NextL0 L2VM Entry GUPwaitsforpagemigration 4 UpdateL2VMCS5 UpdateL1VMCSin nextL2 L1VM Exit26 Long livedPins AIO 27 AIOEventRingBuffer UsedbykerneltonotifyuserspacethatAIOhascompleted Long livedPins AIOWhypinned UnabletoknowwhenAIOcompletes Userprocess AIOeventhandledAIORingBufferKernel AIOcompleted AIO 1 AIOpinsringpages2 AIOinprogress 3 AIOcompletes4 AIOunpinringpages28 PageMigration 1 Offlinememory2 Pagemigration migratepages 3 Pagemigrationfails 29 Long livedPins AIONeednewsplution WhycannotuseMMUnotifier 1 Nowaytogetthepage havetorepin GUPmaysleepiniointerruptcontext 2 NowaytonotifyAIOtorepinthepage NosuchMMUnotifierafterpagemigrationcompletes new page oldpage 3 Migratepage AIO 1 AIOpinsringpages2 AIOinprogress 3 aio migrate 1 lock2 unpingringpages3 migrateringpages 4 repinringpages 5 unlock 4 AIOcompletes 5 AIOunpinringpages30 PageMigration 1 Offlinememory2 Pagemigrationstarts 3 Pagemigrationinprogress 4 Pagemigrationends AIOcomplete1 BlockedbylockAIORingBuffer 5 Unlockedwhenmigrationends 2 Unpin 4 Repin Long livedPins AIOSolution I

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论