)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"235652e74471844ed9a451627b077c88b9719278","unresolved":false,"context_lines":[{"line_number":30,"context_line":"to the aforementioned \u0027vcpu_pin_set\u0027 option. Historically, once we\u0027ve"},{"line_number":31,"context_line":"generated this list of sibling sets needed for the \u0027siblings\u0027 field,"},{"line_number":32,"context_line":"we\u0027ve filtered out sets that contain less than two siblings (i.e. the"},{"line_number":33,"context_line":"cores have no siblings, or CPU #3 in the above example). This would be a"},{"line_number":34,"context_line":"fair assumption on normal hardware, where asymmetric topologies like the"},{"line_number":35,"context_line":"above wouldn\u0027t exist, but it doesn\u0027t really make sense in this use case."},{"line_number":36,"context_line":"What we\u0027re trying to expose via the siblings attribute is the"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"5f93b717_dc0cf73c","line":33,"range":{"start_line":33,"start_character":26,"end_line":33,"end_character":54},"updated":"2018-01-29 17:37:20.000000000","message":"you mean CPU #1 in the above example. CPU #3 doesn\u0027t exist.","commit_id":"275dcdff6cd9442e4803568956596b02cb39e330"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"f3fd247587c7b0ce40d8ff20db52c491da9deb87","unresolved":false,"context_lines":[{"line_number":30,"context_line":"to the aforementioned \u0027vcpu_pin_set\u0027 option. Historically, once we\u0027ve"},{"line_number":31,"context_line":"generated this list of sibling sets needed for the \u0027siblings\u0027 field,"},{"line_number":32,"context_line":"we\u0027ve filtered out sets that contain less than two siblings (i.e. the"},{"line_number":33,"context_line":"cores have no siblings, or CPU #3 in the above example). This would be a"},{"line_number":34,"context_line":"fair assumption on normal hardware, where asymmetric topologies like the"},{"line_number":35,"context_line":"above wouldn\u0027t exist, but it doesn\u0027t really make sense in this use case."},{"line_number":36,"context_line":"What we\u0027re trying to expose via the siblings attribute is the"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"5f93b717_2cd8361c","line":33,"range":{"start_line":33,"start_character":26,"end_line":33,"end_character":54},"in_reply_to":"5f93b717_dc0cf73c","updated":"2018-01-30 10:10:33.000000000","message":"Done","commit_id":"275dcdff6cd9442e4803568956596b02cb39e330"}],"nova/objects/numa.py":[{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"042bee7ac4f75e05ff20224a3c818fa0c0e82fd1","unresolved":false,"context_lines":[{"line_number":79,"context_line":"    @property"},{"line_number":80,"context_line":"    def has_threads(self):"},{"line_number":81,"context_line":"        \"\"\"Check if SMT threads, a.k.a. HyperThreads, are present.\"\"\""},{"line_number":82,"context_line":"        return any(len(sibling_set) \u003e 1 for sibling_set in self.siblings)"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"    def pin_cpus(self, cpus):"},{"line_number":85,"context_line":"        if cpus - self.cpuset:"}],"source_content_type":"text/x-python","patch_set":4,"id":"df7087c5_24ed2025","line":82,"range":{"start_line":82,"start_character":64,"end_line":82,"end_character":72},"updated":"2018-03-19 16:21:54.000000000","message":"Seems like this can be None when you have a version 1.0 NUMACell object? Although given these are always generated fresh, I think we are fine.","commit_id":"e344b3038aa3c667484ccfadef5c331eb8ff1cec"}],"nova/tests/unit/compute/test_claims.py":[{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"235652e74471844ed9a451627b077c88b9719278","unresolved":false,"context_lines":[{"line_number":142,"context_line":"                       objects.NUMACell(id\u003d2, cpuset\u003dset([3, 4]), memory\u003d512,"},{"line_number":143,"context_line":"                                        memory_usage\u003d0, cpu_usage\u003d0,"},{"line_number":144,"context_line":"                                        mempages\u003d[],"},{"line_number":145,"context_line":"                                        siblings\u003d[set([1]), set([2])],"},{"line_number":146,"context_line":"                                        pinned_cpus\u003dset([]))]"},{"line_number":147,"context_line":"                )._to_json()"},{"line_number":148,"context_line":"        }"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f93b717_9c650fe4","line":145,"range":{"start_line":145,"start_character":55,"end_line":145,"end_character":66},"updated":"2018-01-29 17:37:20.000000000","message":"shouldn\u0027t this be 3 and 4, not 1 and 2?","commit_id":"275dcdff6cd9442e4803568956596b02cb39e330"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"f3fd247587c7b0ce40d8ff20db52c491da9deb87","unresolved":false,"context_lines":[{"line_number":142,"context_line":"                       objects.NUMACell(id\u003d2, cpuset\u003dset([3, 4]), memory\u003d512,"},{"line_number":143,"context_line":"                                        memory_usage\u003d0, cpu_usage\u003d0,"},{"line_number":144,"context_line":"                                        mempages\u003d[],"},{"line_number":145,"context_line":"                                        siblings\u003d[set([1]), set([2])],"},{"line_number":146,"context_line":"                                        pinned_cpus\u003dset([]))]"},{"line_number":147,"context_line":"                )._to_json()"},{"line_number":148,"context_line":"        }"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f93b717_0c0d3aa0","line":145,"range":{"start_line":145,"start_character":55,"end_line":145,"end_character":66},"in_reply_to":"5f93b717_9c650fe4","updated":"2018-01-30 10:10:33.000000000","message":"It should. Knew I\u0027d miss some of these","commit_id":"275dcdff6cd9442e4803568956596b02cb39e330"}],"nova/tests/unit/virt/test_hardware.py":[{"author":{"_account_id":25625,"name":"Tetsuro Nakamura","email":"tetsuro.nakamura.bc@hco.ntt.co.jp","username":"tetsuro0907"},"change_message_id":"98b44f695aff69c2a24733e078cd077caaae1171","unresolved":false,"context_lines":[{"line_number":2716,"context_line":"                                        siblings\u003d[set([4]), set([5]), set([6]),"},{"line_number":2717,"context_line":"                                                  set([7])],"},{"line_number":2718,"context_line":"                                        pinned_cpus\u003dset([4, 5, 6])),"},{"line_number":2719,"context_line":""},{"line_number":2720,"context_line":"                       objects.NUMACell(id\u003d2, cpuset\u003dset([8, 9, 10, 11]),"},{"line_number":2721,"context_line":"                                        memory\u003d2048, memory_usage\u003d0,"},{"line_number":2722,"context_line":"                                        mempages\u003d[],"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f93b717_10747afd","line":2719,"updated":"2018-01-30 02:19:38.000000000","message":"nit: I don\u0027t think we need a space. This is not breakup talk.","commit_id":"275dcdff6cd9442e4803568956596b02cb39e330"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"f3fd247587c7b0ce40d8ff20db52c491da9deb87","unresolved":false,"context_lines":[{"line_number":2716,"context_line":"                                        siblings\u003d[set([4]), set([5]), set([6]),"},{"line_number":2717,"context_line":"                                                  set([7])],"},{"line_number":2718,"context_line":"                                        pinned_cpus\u003dset([4, 5, 6])),"},{"line_number":2719,"context_line":""},{"line_number":2720,"context_line":"                       objects.NUMACell(id\u003d2, cpuset\u003dset([8, 9, 10, 11]),"},{"line_number":2721,"context_line":"                                        memory\u003d2048, memory_usage\u003d0,"},{"line_number":2722,"context_line":"                                        mempages\u003d[],"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f93b717_2c46f6c1","line":2719,"in_reply_to":"5f93b717_10747afd","updated":"2018-01-30 10:10:33.000000000","message":"Done","commit_id":"275dcdff6cd9442e4803568956596b02cb39e330"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"235652e74471844ed9a451627b077c88b9719278","unresolved":false,"context_lines":[{"line_number":2947,"context_line":"        host_cell \u003d objects.NUMACell(id\u003d0, cpuset\u003dset([0, 1, 2]),"},{"line_number":2948,"context_line":"                                     memory\u003d2048, memory_usage\u003d0,"},{"line_number":2949,"context_line":"                                     siblings\u003d[set([0]), set([1]), set([2]),"},{"line_number":2950,"context_line":"                                               set([3])],"},{"line_number":2951,"context_line":"                                     mempages\u003d[], pinned_cpus\u003dset([]))"},{"line_number":2952,"context_line":"        inst_cell \u003d objects.InstanceNUMACell(cpuset\u003dset([0, 1]), memory\u003d2048)"},{"line_number":2953,"context_line":"        return hw._numa_fit_instance_cell_with_pinning("}],"source_content_type":"text/x-python","patch_set":3,"id":"5f93b717_dcf637fa","line":2950,"range":{"start_line":2950,"start_character":30,"end_line":2950,"end_character":57},"updated":"2018-01-29 17:37:20.000000000","message":"processor 3 does not exist in this NUMA cell.","commit_id":"275dcdff6cd9442e4803568956596b02cb39e330"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"f3fd247587c7b0ce40d8ff20db52c491da9deb87","unresolved":false,"context_lines":[{"line_number":2947,"context_line":"        host_cell \u003d objects.NUMACell(id\u003d0, cpuset\u003dset([0, 1, 2]),"},{"line_number":2948,"context_line":"                                     memory\u003d2048, memory_usage\u003d0,"},{"line_number":2949,"context_line":"                                     siblings\u003d[set([0]), set([1]), set([2]),"},{"line_number":2950,"context_line":"                                               set([3])],"},{"line_number":2951,"context_line":"                                     mempages\u003d[], pinned_cpus\u003dset([]))"},{"line_number":2952,"context_line":"        inst_cell \u003d objects.InstanceNUMACell(cpuset\u003dset([0, 1]), memory\u003d2048)"},{"line_number":2953,"context_line":"        return hw._numa_fit_instance_cell_with_pinning("}],"source_content_type":"text/x-python","patch_set":3,"id":"5f93b717_0c1bfacf","line":2950,"range":{"start_line":2950,"start_character":30,"end_line":2950,"end_character":57},"in_reply_to":"5f93b717_dcf637fa","updated":"2018-01-30 10:10:33.000000000","message":"Whoops, copy-paste error","commit_id":"275dcdff6cd9442e4803568956596b02cb39e330"}],"nova/virt/libvirt/driver.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"f3fd247587c7b0ce40d8ff20db52c491da9deb87","unresolved":false,"context_lines":[{"line_number":5955,"context_line":"            cpuset \u0026\u003d allowed_cpus"},{"line_number":5956,"context_line":"            siblings \u003d [sib \u0026 allowed_cpus for sib in siblings]"},{"line_number":5957,"context_line":"            # Filter out empty sibling sets that may be left"},{"line_number":5958,"context_line":"            siblings \u003d [sib for sib in siblings if len(sib) \u003e 0]"},{"line_number":5959,"context_line":""},{"line_number":5960,"context_line":"            mempages \u003d ["},{"line_number":5961,"context_line":"                objects.NUMAPagesTopology("}],"source_content_type":"text/x-python","patch_set":3,"id":"5f93b717_4c71020c","line":5958,"range":{"start_line":5958,"start_character":0,"end_line":5958,"end_character":64},"updated":"2018-01-30 10:10:33.000000000","message":"And to think, this is the only meaningful change","commit_id":"275dcdff6cd9442e4803568956596b02cb39e330"}]}
