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
profitserver怎么样?profitserver是一家成立于2003的主机商家,是ITC控股的一个部门,主要经营的产品域名、SSL证书、虚拟主机、VPS和独立服务器,机房有俄罗斯、新加坡、荷兰、美国、保加利亚,VPS采用的是KVM虚拟架构,硬盘采用纯SSD,而且最大的优势是不限制流量,大公司运营,机器比较稳定,数据中心众多。此次ProfitServer正在对德国VPS(法兰克福)、西班牙v...
racknerd从成立到现在发展是相当迅速,用最低的价格霸占了大部分低端便宜vps市场,虽然VPS价格便宜,但是VPS的质量和服务一点儿都不拉跨,服务器稳定、性能给力,尤其是售后方面时间短技术解决能力强,估计这也是racknerd这个品牌能如此成功的原因吧! 官方网站:https://www.racknerd.com 多种加密数字货币、信用卡、PayPal、支付宝、银联、webmoney,可...
TMThosting发布了今年黑色星期五的促销活动,即日起到12月6日,VPS主机最低55折起,独立服务器9折起,开设在西雅图机房。这是一家成立于2018年的国外主机商,主要提供VPS和独立服务器租用业务,数据中心包括美国西雅图和达拉斯,其中VPS基于KVM架构,都有提供免费的DDoS保护,支持选择Windows或者Linux操作系统。Budget HDD系列架构CPU内存硬盘流量系统价格单核51...
sandybridge为你推荐
在线教育平台在线教育平台是什么来的?Baby被问婚变绯闻终于知道黄晓明为什么会娶baby微信回应封杀钉钉微信大封杀什么时候结束同ip网站查询怎么查自己的服务器挂着哪些网站www.119mm.com看电影上什么网站??haole16.com国色天香16 17全集高清在线观看 国色天香qvod快播迅雷下载地址bbs2.99nets.com西安论坛、西安茶馆网、西安社区、西安bbs 的网址是多少?m.yushuwu.org花样滑冰名将YU NA KIM的资料谁有?19ise.com欲火难耐看什么电影 19部性感至极的佳片官人放题戴望舒的《狱中题壁》
金万维动态域名 缓存服务器 godaddy优惠券 赞助 135邮箱 微软服务器操作系统 域名dns yundun 万网主机管理 web服务器是什么 西安主机 华为k3 lamp的音标 广州服务器托管 好看的空间 mteam fatcow ping值 超低价 内存 更多