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
中午的时候有网友联系提到自己前几天看到Namecheap商家开学季促销活动期间有域名促销活动的,于是就信注册NC账户注册域名的。但是今天登录居然无法登录,这个问题比较困恼是不是商家跑路等问题。Namecheap商家跑路的可能性不大,前几天我还在他们家转移域名的。这里简单的记录我帮助他解决如何重新登录Namecheap商家的问题。1、检查邮件让他检查邮件是不是有官方的邮件提示。比如我们新注册账户是需...
月付/年付优惠码:zji 下物理服务器/VDS/虚拟主机空间订单八折终身优惠(长期有效)一、ZJI官网点击直达ZJI官方网站二、特惠香港日本服务器香港大埔:http://hkdb.speedtest.zji.net/香港葵湾:http://hkkw.speedtest.zji.net/日本大阪:http://jpsk.speedtest.zji.net/日本大阪一型 ...
Mineserver(ASN142586|UK CompanyNumber 1351696),已经成立一年半。主营香港日本机房的VPS、物理服务器业务。Telegram群组: @mineserver1 | Discord群组: https://discord.gg/MTB8ww9GEA7折循环优惠:JP30(JPCN2宣布产品可以使用)8折循环优惠:CMI20(仅1024M以上套餐可以使用)9折循...
sandybridge为你推荐
对对塔101,简单学习网,对对塔三个哪个好地图应用手机地图软件那么多,都不知道用哪个好了?百度关键词价格查询在百度设置关键字是怎么收费的曹谷兰曹谷兰事件 有吧友知道吗百花百游百花蛇草的作用同ip站点同IP做同类站好吗?百度关键词分析如何正确分析关键词?www.e12.com.cn上海高中除了四大名校,接下来哪所高中最好?顺便讲下它的各方面情况789se.comhttp://gv789.com/index.php这个网站可信吗?是真的还是假的!yinrentangweichentang万艾可正品的作用真的不错吗
中国域名网 已经备案域名 qq云存储 全球付 suspended 42u标准机柜尺寸 日志分析软件 双12活动 seovip 贵州电信宽带测速 天猫双十一抢红包 css样式大全 云图标 主机合租 个人免费空间 699美元 nerds hkt 服务器监测 视频服务器是什么 更多