)]}'
{"doc/source/admin/cpu-topologies.rst":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"4ee3162c78590adeebe28489c7eaa684b30eb67b","unresolved":false,"context_lines":[{"line_number":528,"context_line":""},{"line_number":529,"context_line":".. versionchanged:: 20.0.0"},{"line_number":530,"context_line":""},{"line_number":531,"context_line":"   Prior to 20.0.0 (Train), it was not necessary to explicitly configure hosts"},{"line_number":532,"context_line":"   for pinned instances. However, it was not possible to place pinned instances"},{"line_number":533,"context_line":"   on the same host as unpinned CPUs, which typically meant hosts had to be"},{"line_number":534,"context_line":"   grouped into host aggregates. If this was not done, unpinned instances would"},{"line_number":535,"context_line":"   continue floating across all enabled host CPUs, even those that some"},{"line_number":536,"context_line":"   instance CPUs were pinned to. Starting in 20.0.0, it is necessary to"},{"line_number":537,"context_line":"   explicitly identify the host cores that should be used for pinned instances."},{"line_number":538,"context_line":""},{"line_number":539,"context_line":"Nova treats host CPUs used for unpinned instances differently from those used"},{"line_number":540,"context_line":"by pinned instances. The former are tracked in placement using the ``VCPU``"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa7e38b_3e14244e","line":537,"range":{"start_line":531,"start_character":0,"end_line":537,"end_character":79},"updated":"2019-09-20 16:14:15.000000000","message":"Is this the only part that talks about upgrades to Train? Isn\u0027t there a whole upgrade dance that has to be performed with config and then upgrading computes before the scheduler will honor the new thing? Isn\u0027t it worth mentioning any of that? Or is that all release note fodder and the upgrade compat gets removed in Ussuri?","commit_id":"a728dbda66246411e61b0a6a90dee6bffd6bb2aa"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"e7fdc7242de401f65e88e2e20b584cffd8e7411d","unresolved":false,"context_lines":[{"line_number":528,"context_line":""},{"line_number":529,"context_line":".. versionchanged:: 20.0.0"},{"line_number":530,"context_line":""},{"line_number":531,"context_line":"   Prior to 20.0.0 (Train), it was not necessary to explicitly configure hosts"},{"line_number":532,"context_line":"   for pinned instances. However, it was not possible to place pinned instances"},{"line_number":533,"context_line":"   on the same host as unpinned CPUs, which typically meant hosts had to be"},{"line_number":534,"context_line":"   grouped into host aggregates. If this was not done, unpinned instances would"},{"line_number":535,"context_line":"   continue floating across all enabled host CPUs, even those that some"},{"line_number":536,"context_line":"   instance CPUs were pinned to. Starting in 20.0.0, it is necessary to"},{"line_number":537,"context_line":"   explicitly identify the host cores that should be used for pinned instances."},{"line_number":538,"context_line":""},{"line_number":539,"context_line":"Nova treats host CPUs used for unpinned instances differently from those used"},{"line_number":540,"context_line":"by pinned instances. The former are tracked in placement using the ``VCPU``"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa7e38b_99ca1218","line":537,"range":{"start_line":531,"start_character":0,"end_line":537,"end_character":79},"in_reply_to":"3fa7e38b_3e14244e","updated":"2019-09-20 16:34:36.000000000","message":"It should only matter for the one release and the operator shouldn\u0027t see much change except for VCPU -\u003e PCPU when they set \u0027[compute] cpu_dedicated_set\u0027 on the host. As such, I\u0027m not sure if it belong here or just in release notes. I\u0027ve written this from the perspective that things have already been upgraded so there\u0027s no need to worry about how things are working under the hood.","commit_id":"a728dbda66246411e61b0a6a90dee6bffd6bb2aa"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"0b2a6dbd05a021b078b03691e8e2c9fdc3867efd","unresolved":false,"context_lines":[{"line_number":232,"context_line":""},{"line_number":233,"context_line":".. important::"},{"line_number":234,"context_line":""},{"line_number":235,"context_line":"   Flavor-based policies take precedence over image-based policies. For"},{"line_number":236,"context_line":"   example, if a flavor specifies a CPU policy of ``dedicated`` then that"},{"line_number":237,"context_line":"   policy will be used. If the flavor specifies a CPU policy of"},{"line_number":238,"context_line":"   ``shared`` and the image specifies no policy or a policy of ``shared`` then"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3fa7e38b_cd32bdf2","line":235,"updated":"2019-09-25 13:30:45.000000000","message":"nods","commit_id":"eab99b90c8fe995c1ca7001b1413feeb55bd68d7"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"1187879a000745b589fd5cfc851bff1d75f5b1e0","unresolved":false,"context_lines":[{"line_number":244,"context_line":"   extra-specs, administrators can prevent users configuring CPU policies in"},{"line_number":245,"context_line":"   images and impacting resource utilization."},{"line_number":246,"context_line":""},{"line_number":247,"context_line":"Customizing instance CPU thread pinning policies"},{"line_number":248,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":249,"context_line":""},{"line_number":250,"context_line":".. important::"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3fa7e38b_c1516164","line":247,"range":{"start_line":247,"start_character":0,"end_line":247,"end_character":48},"updated":"2019-09-23 01:19:50.000000000","message":"we should proably also add the docs on realtime cpus after this section or referecne them as the realtime cpu mask options  can only be used if cpu pinning is enabled.","commit_id":"eab99b90c8fe995c1ca7001b1413feeb55bd68d7"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"00d95f02e7c7b697f35377e00d064b6db04db214","unresolved":false,"context_lines":[{"line_number":244,"context_line":"   extra-specs, administrators can prevent users configuring CPU policies in"},{"line_number":245,"context_line":"   images and impacting resource utilization."},{"line_number":246,"context_line":""},{"line_number":247,"context_line":"Customizing instance CPU thread pinning policies"},{"line_number":248,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":249,"context_line":""},{"line_number":250,"context_line":".. important::"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3fa7e38b_8e6918fa","line":247,"range":{"start_line":247,"start_character":0,"end_line":247,"end_character":48},"in_reply_to":"3fa7e38b_72d364d6","updated":"2019-09-25 18:21:17.000000000","message":"ok that works for me as long as we eventually group them logically.","commit_id":"eab99b90c8fe995c1ca7001b1413feeb55bd68d7"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"75d9a75b1f4a22e3c4d8c90ce985ca74bb78837a","unresolved":false,"context_lines":[{"line_number":244,"context_line":"   extra-specs, administrators can prevent users configuring CPU policies in"},{"line_number":245,"context_line":"   images and impacting resource utilization."},{"line_number":246,"context_line":""},{"line_number":247,"context_line":"Customizing instance CPU thread pinning policies"},{"line_number":248,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":249,"context_line":""},{"line_number":250,"context_line":".. important::"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3fa7e38b_72d364d6","line":247,"range":{"start_line":247,"start_character":0,"end_line":247,"end_character":48},"in_reply_to":"3fa7e38b_c1516164","updated":"2019-09-25 13:29:32.000000000","message":"Agreed, but not here/now. I have a long-standing TODO in the flavor extra spec doc to tackle this but I already have a lot of doc reworks in flight that I\u0027d like to land first","commit_id":"eab99b90c8fe995c1ca7001b1413feeb55bd68d7"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"0b2a6dbd05a021b078b03691e8e2c9fdc3867efd","unresolved":false,"context_lines":[{"line_number":253,"context_line":"   is therefore currently only supported by the libvirt/KVM driver."},{"line_number":254,"context_line":"   Hyper-V does not support CPU pinning."},{"line_number":255,"context_line":""},{"line_number":256,"context_line":"When running pinned instances on SMT hosts, it may also be necessary to"},{"line_number":257,"context_line":"consider the impact that thread siblings can have on the instance workload. The"},{"line_number":258,"context_line":"presence of an SMT implementation like Intel Hyper-Threading can boost"},{"line_number":259,"context_line":"performance `by up to 30%`__ for some workloads.  However, thread siblings"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3fa7e38b_8d4e056d","line":256,"range":{"start_line":256,"start_character":33,"end_line":256,"end_character":36},"updated":"2019-09-25 13:30:45.000000000","message":"nit: you should take the time to now explain what are SMT hosts (even if I know)","commit_id":"eab99b90c8fe995c1ca7001b1413feeb55bd68d7"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"47c15314bfd31cc361953404a0b85078bf2f5b87","unresolved":false,"context_lines":[{"line_number":253,"context_line":"   is therefore currently only supported by the libvirt/KVM driver."},{"line_number":254,"context_line":"   Hyper-V does not support CPU pinning."},{"line_number":255,"context_line":""},{"line_number":256,"context_line":"When running pinned instances on SMT hosts, it may also be necessary to"},{"line_number":257,"context_line":"consider the impact that thread siblings can have on the instance workload. The"},{"line_number":258,"context_line":"presence of an SMT implementation like Intel Hyper-Threading can boost"},{"line_number":259,"context_line":"performance `by up to 30%`__ for some workloads.  However, thread siblings"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3fa7e38b_2ddb517c","line":256,"range":{"start_line":256,"start_character":33,"end_line":256,"end_character":36},"in_reply_to":"3fa7e38b_6d806947","updated":"2019-09-25 13:33:33.000000000","message":"oh shit, you\u0027re right","commit_id":"eab99b90c8fe995c1ca7001b1413feeb55bd68d7"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"e22631c1785f39e52c8167c8ce79d45c25b863bb","unresolved":false,"context_lines":[{"line_number":253,"context_line":"   is therefore currently only supported by the libvirt/KVM driver."},{"line_number":254,"context_line":"   Hyper-V does not support CPU pinning."},{"line_number":255,"context_line":""},{"line_number":256,"context_line":"When running pinned instances on SMT hosts, it may also be necessary to"},{"line_number":257,"context_line":"consider the impact that thread siblings can have on the instance workload. The"},{"line_number":258,"context_line":"presence of an SMT implementation like Intel Hyper-Threading can boost"},{"line_number":259,"context_line":"performance `by up to 30%`__ for some workloads.  However, thread siblings"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3fa7e38b_6d806947","line":256,"range":{"start_line":256,"start_character":33,"end_line":256,"end_character":36},"in_reply_to":"3fa7e38b_8d4e056d","updated":"2019-09-25 13:31:44.000000000","message":"Look at line 12 :)","commit_id":"eab99b90c8fe995c1ca7001b1413feeb55bd68d7"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"1187879a000745b589fd5cfc851bff1d75f5b1e0","unresolved":false,"context_lines":[{"line_number":354,"context_line":""},{"line_number":355,"context_line":"Emulator thread policies can be used to ensure emulator threads are run on"},{"line_number":356,"context_line":"cores separate from those used by the instance. There are two policies:"},{"line_number":357,"context_line":"``isolate`` and ``share`` (the default). The ``isolate`` emulator thread policy"},{"line_number":358,"context_line":"is used to specify that emulator threads for a given instance should be run on"},{"line_number":359,"context_line":"their own unique core, chosen from one of the host cores listed in"},{"line_number":360,"context_line":":oslo.config:option:`vcpu_pin_set`. To configure a flavor to use"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3fa7e38b_e10edd8b","line":357,"range":{"start_line":357,"start_character":17,"end_line":357,"end_character":39},"updated":"2019-09-23 01:19:50.000000000","message":"technically this is not correct.\n\nit was correct until we introduced  the cpu_shared_set back in rockyish. because the behavior of  hw:emulator_threads_policy\u003dshare changes based on the presnece of cpu_shared_set on a selected host but the behavior when  hw:emulator_threads_policy is not set does not its nolonger correct to say that that shared is the default.\n\nthe default behavvior is that the emulator threads and guest pinned cpus share the same cores.\n\n\ni would not be against changing the defualt behavior to be the same as explictly setting hw:emulator_threads_policy\u003dshare  as arguably the fact that the nolonger are teh same could be considered a bug.","commit_id":"eab99b90c8fe995c1ca7001b1413feeb55bd68d7"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"75d9a75b1f4a22e3c4d8c90ce985ca74bb78837a","unresolved":false,"context_lines":[{"line_number":354,"context_line":""},{"line_number":355,"context_line":"Emulator thread policies can be used to ensure emulator threads are run on"},{"line_number":356,"context_line":"cores separate from those used by the instance. There are two policies:"},{"line_number":357,"context_line":"``isolate`` and ``share`` (the default). The ``isolate`` emulator thread policy"},{"line_number":358,"context_line":"is used to specify that emulator threads for a given instance should be run on"},{"line_number":359,"context_line":"their own unique core, chosen from one of the host cores listed in"},{"line_number":360,"context_line":":oslo.config:option:`vcpu_pin_set`. To configure a flavor to use"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3fa7e38b_8d29258b","line":357,"range":{"start_line":357,"start_character":17,"end_line":357,"end_character":39},"in_reply_to":"3fa7e38b_e10edd8b","updated":"2019-09-25 13:29:32.000000000","message":"I was trying to avoid getting into this but you\u0027re correct. I argued this with Sahid [1] and am still annoyed that I conceded the point :/\n\n[1] https://review.opendev.org/#/c/510897/8/nova/virt/libvirt/driver.py@4407","commit_id":"eab99b90c8fe995c1ca7001b1413feeb55bd68d7"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"1187879a000745b589fd5cfc851bff1d75f5b1e0","unresolved":false,"context_lines":[{"line_number":362,"context_line":""},{"line_number":363,"context_line":".. code-block:: console"},{"line_number":364,"context_line":""},{"line_number":365,"context_line":"   $ openstack flavor set [FLAVOR_ID] \\"},{"line_number":366,"context_line":"     --property hw:cpu_policy\u003ddedicated \\"},{"line_number":367,"context_line":"     --property hw:emulator_threads_policy\u003disolate"},{"line_number":368,"context_line":""},{"line_number":369,"context_line":"The ``share`` policy is used to specify that emulator threads from a given"},{"line_number":370,"context_line":"instance should be run on the pool of host cores listed in"},{"line_number":371,"context_line":":oslo.config:option:`compute.cpu_shared_set`. To configure a flavor to use the"},{"line_number":372,"context_line":"``share`` emulator thread policy, run:"},{"line_number":373,"context_line":""},{"line_number":374,"context_line":".. code-block:: console"},{"line_number":375,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"3fa7e38b_a13f8523","line":372,"range":{"start_line":365,"start_character":1,"end_line":372,"end_character":38},"updated":"2019-09-23 01:19:50.000000000","message":"this is only true if the compute.cpu_shared_set config option is specified. when it is not the share policy means the guest cpus and emulator threads will share the same cores.","commit_id":"eab99b90c8fe995c1ca7001b1413feeb55bd68d7"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"00d95f02e7c7b697f35377e00d064b6db04db214","unresolved":false,"context_lines":[{"line_number":362,"context_line":""},{"line_number":363,"context_line":".. code-block:: console"},{"line_number":364,"context_line":""},{"line_number":365,"context_line":"   $ openstack flavor set [FLAVOR_ID] \\"},{"line_number":366,"context_line":"     --property hw:cpu_policy\u003ddedicated \\"},{"line_number":367,"context_line":"     --property hw:emulator_threads_policy\u003disolate"},{"line_number":368,"context_line":""},{"line_number":369,"context_line":"The ``share`` policy is used to specify that emulator threads from a given"},{"line_number":370,"context_line":"instance should be run on the pool of host cores listed in"},{"line_number":371,"context_line":":oslo.config:option:`compute.cpu_shared_set`. To configure a flavor to use the"},{"line_number":372,"context_line":"``share`` emulator thread policy, run:"},{"line_number":373,"context_line":""},{"line_number":374,"context_line":".. code-block:: console"},{"line_number":375,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"3fa7e38b_2e11045e","line":372,"range":{"start_line":365,"start_character":1,"end_line":372,"end_character":38},"in_reply_to":"3fa7e38b_0d3d35c3","updated":"2019-09-25 18:21:17.000000000","message":"so that was another breaking change in the original code...\n\nsetting share with out cpu_share_set was valid and the recomended best pratcice for just this in conjuction with the aggreate instace extra specs filter.\n\ni dont imediatly see where that is blocked in that patch.\n\nthe new elif at \nhttps://review.opendev.org/#/c/510897/17/nova/virt/libvirt/driver.py@4311\n\n\nshould be skiped as shared_ids should be empty so i think it will not raise an error and will in fact result in the emultor tread running non the vcpu cores as the\nemulatorpin_cpuset will not be set and that is the default behavior.","commit_id":"eab99b90c8fe995c1ca7001b1413feeb55bd68d7"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"fa3c9f7067c84864b243b29d484a190d52296e55","unresolved":false,"context_lines":[{"line_number":362,"context_line":""},{"line_number":363,"context_line":".. code-block:: console"},{"line_number":364,"context_line":""},{"line_number":365,"context_line":"   $ openstack flavor set [FLAVOR_ID] \\"},{"line_number":366,"context_line":"     --property hw:cpu_policy\u003ddedicated \\"},{"line_number":367,"context_line":"     --property hw:emulator_threads_policy\u003disolate"},{"line_number":368,"context_line":""},{"line_number":369,"context_line":"The ``share`` policy is used to specify that emulator threads from a given"},{"line_number":370,"context_line":"instance should be run on the pool of host cores listed in"},{"line_number":371,"context_line":":oslo.config:option:`compute.cpu_shared_set`. To configure a flavor to use the"},{"line_number":372,"context_line":"``share`` emulator thread policy, run:"},{"line_number":373,"context_line":""},{"line_number":374,"context_line":".. code-block:: console"},{"line_number":375,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"3fa7e38b_e9e76611","line":372,"range":{"start_line":365,"start_character":1,"end_line":372,"end_character":38},"in_reply_to":"3fa7e38b_2e11045e","updated":"2019-09-25 18:28:32.000000000","message":"actully  looking at it a third time i was slightly wrong\nif cpu_shared_set is not specified and hw:emulator_threads_plicy\u003dshare im pretty sure we take \nhttps://review.opendev.org/#/c/510897/17/nova/virt/libvirt/driver.py@4324\n\nwhich is what i was expecting.\n\nmeaning for non realtiem guests the emuplatetor treads will be pinind to the same host cpus as teh dedicated gusts cpus.\nfor real time guest the emultor thread will be pinned to the non realtime cores form the vm cpuset.","commit_id":"eab99b90c8fe995c1ca7001b1413feeb55bd68d7"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"75d9a75b1f4a22e3c4d8c90ce985ca74bb78837a","unresolved":false,"context_lines":[{"line_number":362,"context_line":""},{"line_number":363,"context_line":".. code-block:: console"},{"line_number":364,"context_line":""},{"line_number":365,"context_line":"   $ openstack flavor set [FLAVOR_ID] \\"},{"line_number":366,"context_line":"     --property hw:cpu_policy\u003ddedicated \\"},{"line_number":367,"context_line":"     --property hw:emulator_threads_policy\u003disolate"},{"line_number":368,"context_line":""},{"line_number":369,"context_line":"The ``share`` policy is used to specify that emulator threads from a given"},{"line_number":370,"context_line":"instance should be run on the pool of host cores listed in"},{"line_number":371,"context_line":":oslo.config:option:`compute.cpu_shared_set`. To configure a flavor to use the"},{"line_number":372,"context_line":"``share`` emulator thread policy, run:"},{"line_number":373,"context_line":""},{"line_number":374,"context_line":".. code-block:: console"},{"line_number":375,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"3fa7e38b_0d3d35c3","line":372,"range":{"start_line":365,"start_character":1,"end_line":372,"end_character":38},"in_reply_to":"3fa7e38b_a13f8523","updated":"2019-09-25 13:29:32.000000000","message":"No, it\u0027s only true when \u0027hw:emulator_thread_policy\u0027 is set to \u0027share\u0027. If you do this and \u0027[compute] cpu_shared_set\u0027 is not defined, it will error out. From:\n\n    git show 9724ec118b880ca8713c69366f55df43494b8dbb -- nova/virt/libvirt/driver.py","commit_id":"eab99b90c8fe995c1ca7001b1413feeb55bd68d7"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"f58514a45784fba2125a12c002f55fc3e24f7abb","unresolved":false,"context_lines":[{"line_number":232,"context_line":""},{"line_number":233,"context_line":".. important::"},{"line_number":234,"context_line":""},{"line_number":235,"context_line":"   Flavor-based policies take precedence over image-based policies. For"},{"line_number":236,"context_line":"   example, if a flavor specifies a CPU policy of ``dedicated`` then that"},{"line_number":237,"context_line":"   policy will be used. If the flavor specifies a CPU policy of"},{"line_number":238,"context_line":"   ``shared`` and the image specifies no policy or a policy of ``shared`` then"}],"source_content_type":"text/x-rst","patch_set":4,"id":"3fa7e38b_7fbeccb4","line":235,"range":{"start_line":235,"start_character":3,"end_line":235,"end_character":67},"updated":"2019-09-25 14:26:03.000000000","message":"this...","commit_id":"ca7c59572910978f27e982d87f7651e3b3e4cfe9"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"f58514a45784fba2125a12c002f55fc3e24f7abb","unresolved":false,"context_lines":[{"line_number":236,"context_line":"   example, if a flavor specifies a CPU policy of ``dedicated`` then that"},{"line_number":237,"context_line":"   policy will be used. If the flavor specifies a CPU policy of"},{"line_number":238,"context_line":"   ``shared`` and the image specifies no policy or a policy of ``shared`` then"},{"line_number":239,"context_line":"   the ``shared`` policy will be used. However, the flavor specifies a CPU"},{"line_number":240,"context_line":"   policy of ``shared`` and the image specifies a policy of ``dedicated``, or"},{"line_number":241,"context_line":"   vice versa, an exception will be raised. This is by design. Image metadata"},{"line_number":242,"context_line":"   is often configurable by non-admin users, while flavors are only"},{"line_number":243,"context_line":"   configurable by admins. By setting a ``shared`` policy through flavor"},{"line_number":244,"context_line":"   extra-specs, administrators can prevent users configuring CPU policies in"}],"source_content_type":"text/x-rst","patch_set":4,"id":"3fa7e38b_1faf987d","line":241,"range":{"start_line":239,"start_character":39,"end_line":241,"end_character":43},"updated":"2019-09-25 14:26:03.000000000","message":"...doesn\u0027t gel with this.\n\n\"precedence\" implies that if the flavor and image contradict each other, the flavor wins.","commit_id":"ca7c59572910978f27e982d87f7651e3b3e4cfe9"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"00d95f02e7c7b697f35377e00d064b6db04db214","unresolved":false,"context_lines":[{"line_number":236,"context_line":"   example, if a flavor specifies a CPU policy of ``dedicated`` then that"},{"line_number":237,"context_line":"   policy will be used. If the flavor specifies a CPU policy of"},{"line_number":238,"context_line":"   ``shared`` and the image specifies no policy or a policy of ``shared`` then"},{"line_number":239,"context_line":"   the ``shared`` policy will be used. However, the flavor specifies a CPU"},{"line_number":240,"context_line":"   policy of ``shared`` and the image specifies a policy of ``dedicated``, or"},{"line_number":241,"context_line":"   vice versa, an exception will be raised. This is by design. Image metadata"},{"line_number":242,"context_line":"   is often configurable by non-admin users, while flavors are only"},{"line_number":243,"context_line":"   configurable by admins. By setting a ``shared`` policy through flavor"},{"line_number":244,"context_line":"   extra-specs, administrators can prevent users configuring CPU policies in"}],"source_content_type":"text/x-rst","patch_set":4,"id":"3fa7e38b_09ad22e8","line":241,"range":{"start_line":239,"start_character":39,"end_line":241,"end_character":43},"in_reply_to":"3fa7e38b_1faf987d","updated":"2019-09-25 18:21:17.000000000","message":"if the image says share but the falvor says dedicated i think the flavor wins\n\nbut if the flavor says share and the image says dedicated we raise an exception.\n\ni though but shoudl rase an exception as there is a conflict but i belive there was a weired edgecase like that due to the way the code is ordered.\n\nlater\nso yes https://github.com/openstack/nova/blob/master/nova/virt/hardware.py#L1509-L1520\n\nbecause of the order of the if else chain if the flavor says dedicated we bail on the other checks and just use the flavor value but if the flavor says shared then we check if the image conflicts and raises.","commit_id":"ca7c59572910978f27e982d87f7651e3b3e4cfe9"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"f58514a45784fba2125a12c002f55fc3e24f7abb","unresolved":false,"context_lines":[{"line_number":283,"context_line":"     --property hw:cpu_thread_policy\u003disolate"},{"line_number":284,"context_line":""},{"line_number":285,"context_line":"Finally, for workloads where performance is minimally impacted, you may use"},{"line_number":286,"context_line":"thread siblings if available and fallback to not using them if necessary. This"},{"line_number":287,"context_line":"is the default, but it can be set explicitly:"},{"line_number":288,"context_line":""},{"line_number":289,"context_line":".. code-block:: console"}],"source_content_type":"text/x-rst","patch_set":4,"id":"3fa7e38b_5f075083","line":286,"range":{"start_line":286,"start_character":33,"end_line":286,"end_character":41},"updated":"2019-09-25 14:26:03.000000000","message":"fall back","commit_id":"ca7c59572910978f27e982d87f7651e3b3e4cfe9"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"f58514a45784fba2125a12c002f55fc3e24f7abb","unresolved":false,"context_lines":[{"line_number":348,"context_line":"instance, there is a small amount of overhead associated with the underlying"},{"line_number":349,"context_line":"hypervisor. By default, these overhead tasks - known collectively as emulator"},{"line_number":350,"context_line":"threads - run on the same host CPUs as the instance itself and will result in a"},{"line_number":351,"context_line":"minor performance penalty for the instance. This is not usually an issue,"},{"line_number":352,"context_line":"however, for things like real-time instances, it may not be acceptable for"},{"line_number":353,"context_line":"emulator thread to steal time from instance CPUs."},{"line_number":354,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"3fa7e38b_9f1e28b9","line":351,"range":{"start_line":351,"start_character":72,"end_line":351,"end_character":73},"updated":"2019-09-25 14:26:03.000000000","message":";","commit_id":"ca7c59572910978f27e982d87f7651e3b3e4cfe9"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"f58514a45784fba2125a12c002f55fc3e24f7abb","unresolved":false,"context_lines":[{"line_number":350,"context_line":"threads - run on the same host CPUs as the instance itself and will result in a"},{"line_number":351,"context_line":"minor performance penalty for the instance. This is not usually an issue,"},{"line_number":352,"context_line":"however, for things like real-time instances, it may not be acceptable for"},{"line_number":353,"context_line":"emulator thread to steal time from instance CPUs."},{"line_number":354,"context_line":""},{"line_number":355,"context_line":"Emulator thread policies can be used to ensure emulator threads are run on"},{"line_number":356,"context_line":"cores separate from those used by the instance. There are two policies:"}],"source_content_type":"text/x-rst","patch_set":4,"id":"3fa7e38b_7f7facdf","line":353,"range":{"start_line":353,"start_character":9,"end_line":353,"end_character":15},"updated":"2019-09-25 14:26:03.000000000","message":"threads","commit_id":"ca7c59572910978f27e982d87f7651e3b3e4cfe9"}]}
