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
百纵科技:美国高防服务器,洛杉矶C3机房 独家接入zenlayer清洗 带金盾硬防,CPU全系列E52670、E52680v3 DDR4内存 三星固态盘阵列!带宽接入了cn2/bgp线路,速度快,无需备案,非常适合国内外用户群体的外贸、搭建网站等用途。官方网站:https://www.baizon.cnC3机房,双程CN2线路,默认200G高防,3+1(高防IP),不限流量,季付送带宽美国洛杉矶C...
可以看到这次国庆萤光云搞了一个不错的折扣,香港CN2产品6.5折促销,还送50的国庆红包。萤光云是2002年创立的商家,本次国庆活动主推的是香港CN2优化的机器,其另外还有国内BGP和高防服务器。本次活动力度较大,CN2优化套餐低至20/月(需买三个月,用上折扣+代金券组合),有需求的可以看看。官方网站:https://www.lightnode.cn/地区CPU内存SSDIP带宽/流量价格备注购...
Sharktech最近洛杉矶和丹佛低价配置大部分都无货了,只有荷兰机房还有少量库存,商家又提供了两款洛杉矶特价独立服务器,价格不错,CPU/内存/硬盘都是高配,1-10Gbps带宽不限流量最低129美元/月起。鲨鱼机房(Sharktech)我们也叫它SK机房,是一家成立于2003年的老牌国外主机商,提供的产品包括独立服务器租用、VPS主机等,自营机房在美国洛杉矶、丹佛、芝加哥和荷兰阿姆斯特丹等,主...
sandybridge为你推荐
12306崩溃亲们,为什么12306手机订票系统打不开,显示网络异常,云计算什么叫做“云计算”?地图应用手机地图软件那么多,都不知道用哪个好了?mathplayer比较word,TeX,MathML中的数学公式处理方式的异同点,尽量详细哦,分数不是问题,谢谢哈,会加分的。曹谷兰曹谷兰事件 有吧友知道吗百度关键词工具百度有关键字分析工具吗?Google AdWords有的www.119mm.comwww.993mm+com精品集!ip在线查询通过对方的IP地址怎么样找到他的详细地址?www.5any.com重庆哪里有不是全日制的大学?dadi.tv1223tv影院首页地址是什么?1223tv影院在哪里可以找到?
vps优惠码cnyvps 香港服务器99idc 圣迭戈 免费ftp站点 商务主机 vip购优汇 七夕快乐英文 怎样建立邮箱 空间合租 服务器硬件防火墙 双线机房 万网空间管理 114dns 攻击服务器 国外免费网盘 酷锐 winserver2008r2 标准机柜 2016黑色星期五 qq空间打开很慢 更多