KVMandCPUfeatureenablementEduardoHabkostDeveloperConference2014AgendaBasicconceptsExistingmechanismsandcurrentchallengesCurrentworkandfutureplans!
2BasicsIntroduction:Basics!
4HostCPU(management)KernelQEMUKVMVMGuestOSlibvirtIntroduction:Basics!
4command-line,monitor(QMP)HostCPU(management)KernelQEMUKVMVMGuestOSlibvirtIntroduction:StableguestABIGuestOSshouldseethe"same"machine,evenifthehostsystemhaschangedHardrequirementforlivemigrationSoftrequirementfornon-livemigrationHostsystemmaychangealot,butVMshouldlookthesame!
5x86CPUIDinstructionReturnsinformationabouttherunningCPUMostinformationshownon/proc/cpuinfoFeatureagsindicatingafeatureispresentOthermorecomplexdatae.
g.
:cacheandtopologyinformationCPUIDdataispartofguestABI!
6ExistingMechanismsCPUIDhandling!
8HOSTCPUQEMUGuestOSKernelCPUIDhandling!
8HOSTCPUQEMUGuestOSKernelGET_SUPPORTED_CPUIDHostCPUIDinstructionCPUIDhandling!
8HOSTCPUQEMUGuestOSCPUIDtableSET_CPUIDKernelGET_SUPPORTED_CPUIDHostCPUIDinstructionCPUIDhandling!
8HOSTCPUQEMUGuestOSCPUIDtableSET_CPUIDKernelGET_SUPPORTED_CPUIDHostCPUIDinstructionemulateCPUIDGuestCPUIDinstructionHostCPU(management)KernelQEMUKVMVMGuestOSlibvirtTheStack!
9Decisiontoenableafeature(shouldbe)takenintheupperlayersLowerlayersaffecttheabilitytoenableafeatureEnablingnewfeaturesWecan'tsilentlyenableordisableafeature:ItbreaksguestABIMayunexpectedlypreventmigrationtoother(lesspowerful)hosts!
10CPUmodelsCPUmodeltable,differentCPUIDdataoneachentryqemu-system-x86_64-cpuSandyBridgeqemu-system-x86_64-cpuHaswellControllingindividualfeatures.
e.
g.
:-cpuNehalem,+aesCPUmodelentriesmaychange,machine-typeskeepcompatibilityqemu-system-x86_64-machinepc-1.
6-cpuSandyBridgeqemu-system-x86_64-machinepc-1.
7-cpuSandyBridgeenforceag.
e.
g.
:-cpuSandyBridge,enforceRequiredtoensurepredictableresults!
11CPUmodelsSpecialCPUmodel:-cpuhostWillenableeverythingthat'ssupportedbythehostNostableguestABI!
12ManagementrequirementsEnsuringthattheresultingCPUIDdataiswhatwasaskedforKnowingwhichCPUmodelscanbeenabledinahostKnowingwhichfeaturesareavailableinahostKnowingtowhichhostsaVMcanbemigrated!
13IssuesHostCPU(management)KernelQEMUKVMVMGuestOSlibvirtProblem:queryingCPUmodelinformationlibvirthasitsownlistofCPUmodelslibvirtdoesn'tknowQEMUCPUmodelscanchangeovertimeQEMU'sfault,there'snogoodAPIforthat(yet!
)!
15CPUmodellistQEMUCPUmodellistHostCPU(management)KernelQEMUKVMVMGuestOSlibvirtProblem:no"enforce"modelibvirtdoesn'tusetheenforceagErrorreportingnotmachine-friendlyMostseriousissuesofarFixinvolvesimplementingCPUmodelandhostcapabilityAPIs!
16X,Z-cpu…,+X,+Y,+ZX!
(noY)!
(noZ)X,YHostCPU(management)KernelQEMUKVMVMGuestOSlibvirtProblem:queryinghostcapabilitieslibvirtquerieshostCPUfeaturesdirectlyusingCPUIDinstructionIgnoresKVMcapabilitiesIgnoresQEMUcapabilitiesIgnoresfeaturesthatrequireextraCPUcapabilitiesQEMU'sfault,there'snogoodAPIforthat(yet!
)!
17SolutionsSolutionsExistinginterfaces:CPU-specicoptionsandcommands-cpu,cpu-add,query-cpu-definitionsNewinterfaces:basedoncommoninfrastructure(QDev,QOM)!
19QDevQDev=QEMUDeviceModelQOM=QEMUObjectModelQDevdevicesareQOMobjects-devicecommand-lineoptionQMPcommands:Addingdevices/objects(device_add,object-add)Removingdevices/objects(device_del,object-del)Getting/settingdevicesproperties(qom-get,qom-set)Listingobjectsandobjectclasses(qom-list,qom-list-types)!
20QDev-basedsolutionCPUsareQDevdevices(done)CPUdevicesanditspropertiesvisiblethroughQMPfeature-wordsproperty(done)QueryCPUmodelinfoQueryhostcapabilities("host"CPUmodel)Incomplete:nomachine-type-specicdatafiltered-featuresproperty(done)Usedtoemulate"enforce"modewithbettererrorreportingNotusedbylibvirtyet!
21What'smissing(1/2)QueryingCPUmodelinformationwithoutre-runningQEMUSolution:separateQOMtypesforeachCPUmodelExposingmachine-type-specicdataNodenedsolutionyetUseQOMpropertiestocontrolallfeatureagsChanginglibvirttousethenewstuff!
22What'smissing(2/2)Longtermplans:Deprecate-cpu,cpu-addanduseonlyQDevcommands(-device,device_add)BetterinterfacestospecifyCPUtopology(NUMAnodes,sockets,cores,threads)!
23FutureReportingcapabilitiesreliablysmartermanagementsystemsUsability(automaticallychoosinggooddefaults)SmarterVMschedulingMayrequireextendinglibvirtAPI!
24ThanksFeedback:http://devconf.
cz/f/34!
Additionalinfo/pointers:http://wiki.
qemu.
org/Features/CPUModelsehabkost@redhat.
com!
Questions!
25
RAKsmart 商家从原本只有专注于独立服务器后看到产品线比较单薄,后来陆续有增加站群服务器、高防服务器、VPS主机,以及现在也有在新增云服务器、裸机云服务器等等。机房也有增加到拥有洛杉矶、圣何塞、日本、韩国、中国香港等多个机房。在年前也有介绍到RAKsmart商家有提供年付129元的云服务器套餐,年后我们看到居然再次刷新年付云服务器低价格。我们看到云服务器低至年79元,如果有需要便宜云服务器的...
? ? ? ?创梦网络怎么样,创梦网络公司位于四川省达州市,属于四川本地企业,资质齐全,IDC/ISP均有,从创梦网络这边租的服务器均可以****,属于一手资源,高防机柜、大带宽、高防IP业务,另外创梦网络近期还会上线四川联通大带宽,四川联通高防IP,一手整CIP段,四川电信,联通高防机柜,CN2专线相关业务。成都优化线路,机柜租用、服务器云服务器租用,适合建站做游戏,不须要在套CDN,全国访问快...
特网云为您提供高速、稳定、安全、弹性的云计算服务计算、存储、监控、安全,完善的云产品满足您的一切所需,深耕云计算领域10余年;我们拥有前沿的核心技术,始终致力于为政府机构、企业组织和个人开发者提供稳定、安全、可靠、高性价比的云计算产品与服务。官方网站:https://www.56dr.com/ 10年老品牌 值得信赖 有需要的请联系======================特网云推出多IP云主机...
sandybridge为你推荐
中老铁路地铁路是怎么造的?是钻地吗?firetrap流言终结者 中的银幕神偷 和开保险柜 的流言是 取材与 那几部电影的同一服务器网站一个服务器能运行多少个网站125xx.com高手指教下,www.fshxbxg.com这个域名值多少钱?www.544qq.COM跪求:天时达T092怎么下载QQwww.hyyan.com请问我是HY了吗?在线等dadi.tvApple TV是干嘛的?怎么用?多少钱?恶魔兜兜狼人杀恶魔技能是什么 PANDAKILL恶魔有什红玉头冠和田红玉皮越厚越好还是皮越薄越显示红玉,更加好,开窗后见红肉了,是不是代表红玉了,窝尚公寓窝尚网到底搞什么?窝尚网真的有那么好么?
重庆域名注册 德国vps qq空间域名 cpanel主机 搬瓦工官网 海外服务器 Hello图床 win8.1企业版升级win10 国外空间 新站长网 免费smtp服务器 e蜗牛 193邮箱 linux空间 域名转接 双线主机 hkg 双11秒杀 1g空间 t云 更多