)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6962,"name":"Kashyap Chamarthy","email":"kchamart@redhat.com","username":"kashyapc"},"change_message_id":"6532a8ea6ea98f43a8e6af14c34f0f0b3cd15924","unresolved":false,"context_lines":[{"line_number":16,"context_line":"    (or above) will result in instances failing to boot.\""},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Make good on the promise.  We\u0027re late, because in the deprecation note"},{"line_number":19,"context_line":"we said that that we\u0027ll be removing it in Stein.  But as the cliché"},{"line_number":20,"context_line":"goes, \"better late ...\" [you know how it finishes]."},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"In this change:"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"7faddb67_54d02eca","line":19,"range":{"start_line":19,"start_character":8,"end_line":19,"end_character":17},"updated":"2019-07-04 11:39:09.000000000","message":"Nit: if re-spinning, fix this.","commit_id":"33788c390b9804cbb090188d94fe2929ce69221b"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"978e4ff2a2be78ce771bdc3764740567afdfd54f","unresolved":false,"context_lines":[{"line_number":30,"context_line":"        * * *"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"Note to self: Poll the \u0027openstack-discuss\u0027 list to see if you can learn"},{"line_number":33,"context_line":"the answer to the question I wondered in Change-Id I7e77f8765: \"Whether"},{"line_number":34,"context_line":"anyone is using those other events with Nova is a good question to which"},{"line_number":35,"context_line":"we don\u0027t have an equally good answer for, if at all.\""},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"If we can get data that no one is using the other, non-CMT, `perf` events"},{"line_number":38,"context_line":"with Nova, then we can get rid of more dead code."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"7faddb67_71abe3d5","line":35,"range":{"start_line":33,"start_character":63,"end_line":35,"end_character":53},"updated":"2019-07-05 20:19:59.000000000","message":"Asking in the ML probably won\u0027t turn up any results unfortunately. Intel added the feature so you likely need to get the ack from them (I\u0027ve added Alex to the review) since they would know if they have products or customers actually using this, or if it was just added originally because Intel pushed it into the lower layers of the stack (kernel, qemu etc) and for that reason alone wanted to enable it in nova (as we seem to have a lot of in nova - just because we can doesn\u0027t mean we should or that anyone actually uses the feature).","commit_id":"3d27d3552413f77229bc27031a258ce638d199d1"},{"author":{"_account_id":6962,"name":"Kashyap Chamarthy","email":"kchamart@redhat.com","username":"kashyapc"},"change_message_id":"ee12e828197856ca90f2c89edf5faa8df5240a81","unresolved":false,"context_lines":[{"line_number":30,"context_line":"        * * *"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"Note to self: Poll the \u0027openstack-discuss\u0027 list to see if you can learn"},{"line_number":33,"context_line":"the answer to the question I wondered in Change-Id I7e77f8765: \"Whether"},{"line_number":34,"context_line":"anyone is using those other events with Nova is a good question to which"},{"line_number":35,"context_line":"we don\u0027t have an equally good answer for, if at all.\""},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"If we can get data that no one is using the other, non-CMT, `perf` events"},{"line_number":38,"context_line":"with Nova, then we can get rid of more dead code."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"7faddb67_fd861266","line":35,"range":{"start_line":33,"start_character":63,"end_line":35,"end_character":53},"in_reply_to":"7faddb67_71abe3d5","updated":"2019-07-18 12:57:53.000000000","message":"Yeah, so far only crickets have been chirping:\n\nhttp://lists.openstack.org/pipermail/openstack-discuss/2019-July/007521.html — [ops][nova] Quick show of hands: any use Intel (non-CMT) `perf` events?\n\nI\u0027ll ping Alex on IRC to remind.","commit_id":"3d27d3552413f77229bc27031a258ce638d199d1"}],"nova/virt/libvirt/driver.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"0998551549edb607503777a2e65e1a51767f7cb4","unresolved":false,"context_lines":[{"line_number":4975,"context_line":"            LOG.warning(\"Libvirt doesn\u0027t support event type %s.\", event)"},{"line_number":4976,"context_line":"            return False"},{"line_number":4977,"context_line":""},{"line_number":4978,"context_line":"        if event in PERF_EVENTS_CPU_FLAG_MAPPING:"},{"line_number":4979,"context_line":"            LOG.warning(\u0027Monitoring Intel CMT `perf` event(s) %s is \u0027"},{"line_number":4980,"context_line":"                        \u0027deprecated and will be removed in the \"Stein\" \u0027"},{"line_number":4981,"context_line":"                        \u0027release.  It was broken by design in the \u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"7faddb67_83b746d9","side":"PARENT","line":4978,"updated":"2019-07-04 15:38:37.000000000","message":"Shouldn\u0027t we explicitly filter out those broken flags even if libvirt says it supports them (via the \u0027hasattr\u0027 check above)...or am I misreading this?","commit_id":"0c08582de05c89aa2f96dac6618eed4bae481aac"},{"author":{"_account_id":6962,"name":"Kashyap Chamarthy","email":"kchamart@redhat.com","username":"kashyapc"},"change_message_id":"16d3e52cb4df9102fa04d3ff9f0be54e89449d2e","unresolved":false,"context_lines":[{"line_number":4975,"context_line":"            LOG.warning(\"Libvirt doesn\u0027t support event type %s.\", event)"},{"line_number":4976,"context_line":"            return False"},{"line_number":4977,"context_line":""},{"line_number":4978,"context_line":"        if event in PERF_EVENTS_CPU_FLAG_MAPPING:"},{"line_number":4979,"context_line":"            LOG.warning(\u0027Monitoring Intel CMT `perf` event(s) %s is \u0027"},{"line_number":4980,"context_line":"                        \u0027deprecated and will be removed in the \"Stein\" \u0027"},{"line_number":4981,"context_line":"                        \u0027release.  It was broken by design in the \u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"7faddb67_aa36ceb3","side":"PARENT","line":4978,"in_reply_to":"7faddb67_0fe1349b","updated":"2019-07-05 08:36:30.000000000","message":"\u003e +1\n \u003e \n \u003e Actually, would it be possible to get a whitelist?\n\nA whitelist wouldn\u0027t buy us anything; Nova doesn\u0027t use / enable these events.  Checking with DanPB, he said we added support for these `perf` events in the first place to enable some non-Nova project.\n\nI asked on the upstream list if anyone is using the `perf` events at all in Nova, so far I hear only crickets chirping:\n\nhttp://lists.openstack.org/pipermail/openstack-discuss/2019-July/007521.html — [ops][nova] Quick show of hands: any use Intel (non-CMT) `perf` events?","commit_id":"0c08582de05c89aa2f96dac6618eed4bae481aac"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"c31e8310e72d9ac0c1af64c864028faf02ad568e","unresolved":false,"context_lines":[{"line_number":4975,"context_line":"            LOG.warning(\"Libvirt doesn\u0027t support event type %s.\", event)"},{"line_number":4976,"context_line":"            return False"},{"line_number":4977,"context_line":""},{"line_number":4978,"context_line":"        if event in PERF_EVENTS_CPU_FLAG_MAPPING:"},{"line_number":4979,"context_line":"            LOG.warning(\u0027Monitoring Intel CMT `perf` event(s) %s is \u0027"},{"line_number":4980,"context_line":"                        \u0027deprecated and will be removed in the \"Stein\" \u0027"},{"line_number":4981,"context_line":"                        \u0027release.  It was broken by design in the \u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"7faddb67_0fe1349b","side":"PARENT","line":4978,"in_reply_to":"7faddb67_83b746d9","updated":"2019-07-05 08:05:48.000000000","message":"+1\n\nActually, would it be possible to get a whitelist?","commit_id":"0c08582de05c89aa2f96dac6618eed4bae481aac"},{"author":{"_account_id":6962,"name":"Kashyap Chamarthy","email":"kchamart@redhat.com","username":"kashyapc"},"change_message_id":"16d3e52cb4df9102fa04d3ff9f0be54e89449d2e","unresolved":false,"context_lines":[{"line_number":4975,"context_line":"            LOG.warning(\"Libvirt doesn\u0027t support event type %s.\", event)"},{"line_number":4976,"context_line":"            return False"},{"line_number":4977,"context_line":""},{"line_number":4978,"context_line":"        if event in PERF_EVENTS_CPU_FLAG_MAPPING:"},{"line_number":4979,"context_line":"            LOG.warning(\u0027Monitoring Intel CMT `perf` event(s) %s is \u0027"},{"line_number":4980,"context_line":"                        \u0027deprecated and will be removed in the \"Stein\" \u0027"},{"line_number":4981,"context_line":"                        \u0027release.  It was broken by design in the \u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"7faddb67_4ac2ba87","side":"PARENT","line":4978,"in_reply_to":"7faddb67_83b746d9","updated":"2019-07-05 08:36:30.000000000","message":"\u003e Shouldn\u0027t we explicitly filter out those broken flags even if\n \u003e libvirt says it supports them (via the \u0027hasattr\u0027 check above)...or\n \u003e am I misreading this?\n\nNotice that we have never explicitly validated any other events either. This patch is simply removing the mapping of these CMT events to CPU features.\n\nIMHO, any validation of events is a separate problem, unrelated to this patch.\n\n(Also see my response to John below—I don\u0027t think anyone is using these `perf` events at all.  Refer to the upstream thread linked.)","commit_id":"0c08582de05c89aa2f96dac6618eed4bae481aac"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"18b050eb796125bce90628104e884689f081c7fd","unresolved":false,"context_lines":[{"line_number":4975,"context_line":"            LOG.warning(\"Libvirt doesn\u0027t support event type %s.\", event)"},{"line_number":4976,"context_line":"            return False"},{"line_number":4977,"context_line":""},{"line_number":4978,"context_line":"        if event in PERF_EVENTS_CPU_FLAG_MAPPING:"},{"line_number":4979,"context_line":"            LOG.warning(\u0027Monitoring Intel CMT `perf` event(s) %s is \u0027"},{"line_number":4980,"context_line":"                        \u0027deprecated and will be removed in the \"Stein\" \u0027"},{"line_number":4981,"context_line":"                        \u0027release.  It was broken by design in the \u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"7faddb67_ea836355","side":"PARENT","line":4978,"in_reply_to":"7faddb67_aa36ceb3","updated":"2019-07-05 11:47:37.000000000","message":"But it\u0027s modifying the XML based on their presence, no? Just above this, we have the function that\u0027s actually using this function:\n\nhttps://github.com/openstack/nova/blob/19.0.0/nova/virt/libvirt/driver.py#L4870-L4881\n\nThat includes a check to see if the perf event is supported:\n\nhttps://github.com/openstack/nova/blob/19.0.0/nova/virt/libvirt/driver.py#L4883-L4902\n\nFor most of these, we simply check if the libvirt module has the attribute specified \u0027LIBVIRT_PERF_EVENT_PREFIX + event.upper()\u0027 attribute, so a user could specify \u0027alignment_faults\u0027 and we\u0027d check to see if the libvirt library exposes \u0027VIR_PERF_PARAM_ALIGNMENT_FAULTS\u0027 (which is does on my local machine). However, for these specific options, we were special casing them to make sure they\u0027d never report as enabled and therefore they\u0027d never be added to the list of supported events:\n\nhttps://github.com/openstack/nova/blob/19.0.0/nova/virt/libvirt/driver.py#L4879-L4880\n\nand it feels like we\u0027re regressing here, because we will go back to passing these options through when we weren\u0027t doing that previously so it feels like we should either (a) keep this check forever or (b) drop the whole perf event feature itself entirely. If this can\u0027t break users, why were we ever warning on this stuff in the first place?","commit_id":"0c08582de05c89aa2f96dac6618eed4bae481aac"},{"author":{"_account_id":6962,"name":"Kashyap Chamarthy","email":"kchamart@redhat.com","username":"kashyapc"},"change_message_id":"ee12e828197856ca90f2c89edf5faa8df5240a81","unresolved":false,"context_lines":[{"line_number":4975,"context_line":"            LOG.warning(\"Libvirt doesn\u0027t support event type %s.\", event)"},{"line_number":4976,"context_line":"            return False"},{"line_number":4977,"context_line":""},{"line_number":4978,"context_line":"        if event in PERF_EVENTS_CPU_FLAG_MAPPING:"},{"line_number":4979,"context_line":"            LOG.warning(\u0027Monitoring Intel CMT `perf` event(s) %s is \u0027"},{"line_number":4980,"context_line":"                        \u0027deprecated and will be removed in the \"Stein\" \u0027"},{"line_number":4981,"context_line":"                        \u0027release.  It was broken by design in the \u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"7faddb67_7db1c246","side":"PARENT","line":4978,"in_reply_to":"7faddb67_ca5ea7e5","updated":"2019-07-18 12:57:53.000000000","message":"(Sorry for the delayed response; was buried in other things.)\n\nYes, you make a good point.  We should continue to maintain the blacklist.\n\nHow about we just turn the warning into an error below?","commit_id":"0c08582de05c89aa2f96dac6618eed4bae481aac"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"d585f02abc570f76a9a95721fe9ee658c13717a2","unresolved":false,"context_lines":[{"line_number":4975,"context_line":"            LOG.warning(\"Libvirt doesn\u0027t support event type %s.\", event)"},{"line_number":4976,"context_line":"            return False"},{"line_number":4977,"context_line":""},{"line_number":4978,"context_line":"        if event in PERF_EVENTS_CPU_FLAG_MAPPING:"},{"line_number":4979,"context_line":"            LOG.warning(\u0027Monitoring Intel CMT `perf` event(s) %s is \u0027"},{"line_number":4980,"context_line":"                        \u0027deprecated and will be removed in the \"Stein\" \u0027"},{"line_number":4981,"context_line":"                        \u0027release.  It was broken by design in the \u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"7faddb67_ca5ea7e5","side":"PARENT","line":4978,"in_reply_to":"7faddb67_ea836355","updated":"2019-07-05 11:54:08.000000000","message":"Looking at the code as it existed before the commit that originally added what you\u0027re removing here, fc4794acc6b13afade1bb72a1ae9f574707d2f0d, it seems we were previously blacklisting these flags if the feature was not supported by the host CPU. After that commit, we started blacklisting them entirely, and now with this change we stop blacklisting them at all. We don\u0027t necessarily need a whitelist for all options (since that could be a very complex endeavor) but I do think we should at least continue to blacklist these known broken event types or explain very clearly why blacklisting isn\u0027t needed now even though it was needed before.","commit_id":"0c08582de05c89aa2f96dac6618eed4bae481aac"}],"releasenotes/notes/remove-Intel-CMT-perf-events.yaml":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"0998551549edb607503777a2e65e1a51767f7cb4","unresolved":false,"context_lines":[{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Remove support for Intel CMT (Cache Monitoring Technology)"},{"line_number":5,"context_line":"    performance events ``cmt``, ``mbm_local``, and ``mbm_total``.  These"},{"line_number":6,"context_line":"    events can no longer be specified via the Nova config attribute"},{"line_number":7,"context_line":"    ``[libvirt]/enabled_perf_events``.  The reason for removal is that"},{"line_number":8,"context_line":"    the Linux kernel has deleted the `perf` framework integration with"},{"line_number":9,"context_line":"    Intel CMT.  (The deprecation of these CMT events was announced for"},{"line_number":10,"context_line":"    the \u0027Rocky\u0027 release.)"}],"source_content_type":"text/x-yaml","patch_set":1,"id":"7faddb67_03a2769b","line":7,"range":{"start_line":5,"start_character":67,"end_line":7,"end_character":37},"updated":"2019-07-04 15:38:37.000000000","message":"What enforces this? I don\u0027t see it anywhere","commit_id":"33788c390b9804cbb090188d94fe2929ce69221b"},{"author":{"_account_id":6962,"name":"Kashyap Chamarthy","email":"kchamart@redhat.com","username":"kashyapc"},"change_message_id":"16d3e52cb4df9102fa04d3ff9f0be54e89449d2e","unresolved":false,"context_lines":[{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Remove support for Intel CMT (Cache Monitoring Technology)"},{"line_number":5,"context_line":"    performance events ``cmt``, ``mbm_local``, and ``mbm_total``.  These"},{"line_number":6,"context_line":"    events can no longer be specified via the Nova config attribute"},{"line_number":7,"context_line":"    ``[libvirt]/enabled_perf_events``.  The reason for removal is that"},{"line_number":8,"context_line":"    the Linux kernel has deleted the `perf` framework integration with"},{"line_number":9,"context_line":"    Intel CMT.  (The deprecation of these CMT events was announced for"},{"line_number":10,"context_line":"    the \u0027Rocky\u0027 release.)"}],"source_content_type":"text/x-yaml","patch_set":1,"id":"7faddb67_ca030a0d","line":7,"range":{"start_line":5,"start_character":67,"end_line":7,"end_character":37},"in_reply_to":"7faddb67_03a2769b","updated":"2019-07-05 08:36:30.000000000","message":"Nothing.  We\u0027ve never any validation for other events either.    (See my full response in libvirt/driver.py)\n\nI\u0027ll reword the note.","commit_id":"33788c390b9804cbb090188d94fe2929ce69221b"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"18b050eb796125bce90628104e884689f081c7fd","unresolved":false,"context_lines":[{"line_number":9,"context_line":"    ``[libvirt]/enabled_perf_events`` on a compute host running Linux"},{"line_number":10,"context_line":"    kernel 4.14 or above; otherwise, instance launch can fail.  (The"},{"line_number":11,"context_line":"    deprecation of these CMT events was announced for the \u0027Rocky\u0027"},{"line_number":12,"context_line":"    release.) "}],"source_content_type":"text/x-yaml","patch_set":2,"id":"7faddb67_402139b4","line":12,"range":{"start_line":12,"start_character":13,"end_line":12,"end_character":14},"updated":"2019-07-05 11:47:37.000000000","message":"whoops","commit_id":"3d27d3552413f77229bc27031a258ce638d199d1"}]}
