)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6962,"name":"Kashyap Chamarthy","email":"kchamart@redhat.com","username":"kashyapc"},"change_message_id":"197142d455e3960d1e6b9132318d8df3a903b167","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Tetsuro Nakamura \u003cnakamura.tetsuro@lab.ntt.co.jp\u003e"},{"line_number":5,"context_line":"CommitDate: 2018-03-19 02:55:23 +0900"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"enable cpu pinning with libvirt/qemu driver"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Though QEMU hypervisor (i.e. QEMU TCG backend) doesn\u0027t yet support"},{"line_number":10,"context_line":"indivisual vcpu pinning, it supports VM wide pinning feature."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"bf659307_4a283ce1","line":7,"updated":"2018-03-27 09:30:30.000000000","message":"Nit: s/enable/Enable/ (The first letter of the first word in a sentence needs to be capitalized.)\n\nAlso, please replace instances of lower case \"qemu\" with QEMU (it\u0027s an acronym: \"Quick EMUlator\")","commit_id":"54737febdc4d6a091994606ebb4b89a14d4f36b1"},{"author":{"_account_id":6962,"name":"Kashyap Chamarthy","email":"kchamart@redhat.com","username":"kashyapc"},"change_message_id":"197142d455e3960d1e6b9132318d8df3a903b167","unresolved":false,"context_lines":[{"line_number":7,"context_line":"enable cpu pinning with libvirt/qemu driver"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Though QEMU hypervisor (i.e. QEMU TCG backend) doesn\u0027t yet support"},{"line_number":10,"context_line":"indivisual vcpu pinning, it supports VM wide pinning feature."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"This patch enables libvirt/qemu backend to support cpu pinning using"},{"line_number":13,"context_line":"the VM wide pinning feature."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"bf659307_d5638eb0","line":10,"range":{"start_line":10,"start_character":0,"end_line":10,"end_character":10},"updated":"2018-03-27 09:30:30.000000000","message":"Nit: s/indivisual/individual/\n\nSo, what you\u0027re referring to is: The QEMU TCG (Tiny Code Generator) backend of QEMU is single-threaded historically, no matter how many vCPUs have.  So there was no way for libvirt to allow pinning of TCG vCPUs.\n\nAfter talking with the QEMU folks, QEMU now has multi-threaded TCG[*] -- however x86 is the notable target doesn\u0027t support it.  And libvirt itself hasn\u0027t added support for MTCCG.\n\nAnyway, this is still useful in Nova\u0027s case, so please also spell out why.  Something like:\n\n\"Since Nova CI testing runs inside VMs and no nested virt available, so it would actually be useful for testing\"\n\n[*] http://git.qemu.org/?p\u003dqemu.git;a\u003dblob;f\u003ddocs/devel/multi-thread-tcg.txt","commit_id":"54737febdc4d6a091994606ebb4b89a14d4f36b1"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"57f8a3ef43e489602b2e94d131e889d7f54b9564","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Enable cpu pinning with libvirt/QEMU driver"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The QEMU TCG (Tiny Code Generator) backend of QEMU is single-threaded"},{"line_number":10,"context_line":"historically, no matter how many vCPUs have. So there was no way for"},{"line_number":11,"context_line":"libvirt to allow pinning of TCG vCPUs individually."},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"9fdfeff1_5a076083","line":9,"range":{"start_line":9,"start_character":0,"end_line":9,"end_character":69},"updated":"2019-01-29 16:27:04.000000000","message":"Just FYI, apparently this is no longer true, or so Dan Berrange tells me.","commit_id":"61a697c2743f5fa1ac4d0ee237cd45bcf3a54e51"},{"author":{"_account_id":6962,"name":"Kashyap Chamarthy","email":"kchamart@redhat.com","username":"kashyapc"},"change_message_id":"f742b259a9da94535b097952a8f3a3a4e6a4bb82","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Enable cpu pinning with libvirt/QEMU driver"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The QEMU TCG (Tiny Code Generator) backend of QEMU is single-threaded"},{"line_number":10,"context_line":"historically, no matter how many vCPUs have. So there was no way for"},{"line_number":11,"context_line":"libvirt to allow pinning of TCG vCPUs individually."},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"9fdfeff1_fa017439","line":9,"range":{"start_line":9,"start_character":0,"end_line":9,"end_character":69},"in_reply_to":"9fdfeff1_5a076083","updated":"2019-01-29 16:37:10.000000000","message":"Right, only in QEMU the libvirt patch for it still not yet upstream—so Nova needs to wait until that gets through (DanPB is on it).","commit_id":"61a697c2743f5fa1ac4d0ee237cd45bcf3a54e51"},{"author":{"_account_id":6962,"name":"Kashyap Chamarthy","email":"kchamart@redhat.com","username":"kashyapc"},"change_message_id":"f742b259a9da94535b097952a8f3a3a4e6a4bb82","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Enable cpu pinning with libvirt/QEMU driver"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The QEMU TCG (Tiny Code Generator) backend of QEMU is single-threaded"},{"line_number":10,"context_line":"historically, no matter how many vCPUs have. So there was no way for"},{"line_number":11,"context_line":"libvirt to allow pinning of TCG vCPUs individually."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"However, QEMU TCG can support VM wide pinning by pinning that single"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"bf659307_f0c7f663","line":10,"updated":"2019-01-29 16:37:10.000000000","message":"s/vCPUs have/vCPUs you have/","commit_id":"61a697c2743f5fa1ac4d0ee237cd45bcf3a54e51"}],"nova/virt/libvirt/driver.py":[{"author":{"_account_id":6962,"name":"Kashyap Chamarthy","email":"kchamart@redhat.com","username":"kashyapc"},"change_message_id":"f742b259a9da94535b097952a8f3a3a4e6a4bb82","unresolved":false,"context_lines":[{"line_number":4482,"context_line":"        # Sort the vcpupin list per vCPU id for human-friendlier XML"},{"line_number":4483,"context_line":"        guest_cpu_tune.vcpupin.sort(key\u003doperator.attrgetter(\"id\"))"},{"line_number":4484,"context_line":""},{"line_number":4485,"context_line":"        # If the backend is qemu TCG, we can\u0027t set individual vCPU"},{"line_number":4486,"context_line":"        # pinning configuration. Instead, we support VM wide vCPU"},{"line_number":4487,"context_line":"        # pinning to the cores."},{"line_number":4488,"context_line":"        guest_cpu_set \u003d None"}],"source_content_type":"text/x-python","patch_set":3,"id":"bf659307_90b9daea","line":4485,"range":{"start_line":4485,"start_character":28,"end_line":4485,"end_character":32},"updated":"2019-01-29 16:37:10.000000000","message":"Nit: Why did you change this to lower case? Please always spell it in upper case: QEMU (it\u0027s an acronym that stands for Quick EMUlator).","commit_id":"61a697c2743f5fa1ac4d0ee237cd45bcf3a54e51"},{"author":{"_account_id":6962,"name":"Kashyap Chamarthy","email":"kchamart@redhat.com","username":"kashyapc"},"change_message_id":"f742b259a9da94535b097952a8f3a3a4e6a4bb82","unresolved":false,"context_lines":[{"line_number":4482,"context_line":"        # Sort the vcpupin list per vCPU id for human-friendlier XML"},{"line_number":4483,"context_line":"        guest_cpu_tune.vcpupin.sort(key\u003doperator.attrgetter(\"id\"))"},{"line_number":4484,"context_line":""},{"line_number":4485,"context_line":"        # If the backend is qemu TCG, we can\u0027t set individual vCPU"},{"line_number":4486,"context_line":"        # pinning configuration. Instead, we support VM wide vCPU"},{"line_number":4487,"context_line":"        # pinning to the cores."},{"line_number":4488,"context_line":"        guest_cpu_set \u003d None"},{"line_number":4489,"context_line":"        if CONF.libvirt.virt_type \u003d\u003d \u0027qemu\u0027:"},{"line_number":4490,"context_line":"            guest_cpu_set \u003d set([])"}],"source_content_type":"text/x-python","patch_set":3,"id":"bf659307_8f3a0232","line":4487,"range":{"start_line":4485,"start_character":10,"end_line":4487,"end_character":31},"updated":"2019-01-29 16:37:10.000000000","message":"Also, probably add the note I suggested earlier here in the code:\n\n\"The TCG (Tiny Code Generator) backend of QEMU is single-threaded historically, no matter how many vCPUs you have. So there was no way for libvirt to allow pinning of TCG vCPUs. \n(But that is now changed with upstream QEMU having some support for multi-threaded TCG, although libvirt don\u0027t support it).\n\nThat said, it is still useful to support VM wide vCPU pinning\nas Nova CI gate runs inside VMs and no nested virt available, this would actually be useful for testing.","commit_id":"61a697c2743f5fa1ac4d0ee237cd45bcf3a54e51"}]}
