)]}'
{
  "log": [
    {
      "commit": "aa2fbe6d44892070d78995f0df875ce930904e29",
      "tree": "bc2350a65c4e656df5597ebe4111bcfd98116bfe",
      "parents": [
        "f3bff6318fa0f54956b02ed451d9b120441006ea"
      ],
      "author": {
        "name": "Yang Zhang",
        "email": "yang.z.zhang@Intel.com",
        "time": "Thu Apr 11 19:21:40 2013 +0800"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Mon Apr 15 23:20:34 2013 -0300"
      },
      "message": "KVM: Let ioapic know the irq line status\n\nUserspace may deliver RTC interrupt without query the status. So we\nwant to track RTC EOI for this case.\n\nSigned-off-by: Yang Zhang \u003cyang.z.zhang@Intel.com\u003e\nReviewed-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "f3bff6318fa0f54956b02ed451d9b120441006ea",
      "tree": "3a4e541963bd4b0c1338cd705d10af4b8b71a265",
      "parents": [
        "106069193ce501ea68649037bde7ea50ed492948"
      ],
      "author": {
        "name": "Yang Zhang",
        "email": "yang.z.zhang@Intel.com",
        "time": "Thu Apr 11 19:21:39 2013 +0800"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Mon Apr 15 23:20:34 2013 -0300"
      },
      "message": "KVM: Force vmexit with virtual interrupt delivery\n\nNeed the EOI to track interrupt deliver status, so force vmexit\non EOI for rtc interrupt when enabling virtual interrupt delivery.\n\nSigned-off-by: Yang Zhang \u003cyang.z.zhang@Intel.com\u003e\nReviewed-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "106069193ce501ea68649037bde7ea50ed492948",
      "tree": "3dea2fb1878a3c8a116b88258f1324591433aa84",
      "parents": [
        "b4f2225c07dd4d8eef7aa7f5b36a3b72c3cbbe5b"
      ],
      "author": {
        "name": "Yang Zhang",
        "email": "yang.z.zhang@Intel.com",
        "time": "Thu Apr 11 19:21:38 2013 +0800"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Mon Apr 15 23:20:34 2013 -0300"
      },
      "message": "KVM: Add reset/restore rtc_status support\n\nrestore rtc_status from migration or save/restore\n\nSigned-off-by: Yang Zhang \u003cyang.z.zhang@Intel.com\u003e\nReviewed-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "b4f2225c07dd4d8eef7aa7f5b36a3b72c3cbbe5b",
      "tree": "47cecd1a3cec51c6dee70e8558aa749b744ca0e9",
      "parents": [
        "8dc6aade5bdc9d436d4ab8328cb15f0adbbc47bf"
      ],
      "author": {
        "name": "Yang Zhang",
        "email": "yang.z.zhang@Intel.com",
        "time": "Thu Apr 11 19:21:37 2013 +0800"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Mon Apr 15 23:20:34 2013 -0300"
      },
      "message": "KVM: Return destination vcpu on interrupt injection\n\nAdd a new parameter to know vcpus who received the interrupt.\n\nSigned-off-by: Yang Zhang \u003cyang.z.zhang@Intel.com\u003e\nReviewed-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "8dc6aade5bdc9d436d4ab8328cb15f0adbbc47bf",
      "tree": "88471ae7c01ef63aff41368fff526fed8c8dfd5d",
      "parents": [
        "1fcc7890dbf32571c25278803ee19182c801c006"
      ],
      "author": {
        "name": "Yang Zhang",
        "email": "yang.z.zhang@Intel.com",
        "time": "Thu Apr 11 19:21:36 2013 +0800"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Mon Apr 15 23:20:33 2013 -0300"
      },
      "message": "KVM: Introduce struct rtc_status\n\nrtc_status is used to track RTC interrupt delivery status. The pending_eoi\nwill be increased by vcpu who received RTC interrupt and will be decreased\nwhen EOI to this interrupt.\nAlso, we use dest_map to record the destination vcpu to avoid the case that\nvcpu who didn\u0027t get the RTC interupt, but issued EOI with same vector of RTC\nand descreased pending_eoi by mistake.\n\nSigned-off-by: Yang Zhang \u003cyang.z.zhang@Intel.com\u003e\nReviewed-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "1fcc7890dbf32571c25278803ee19182c801c006",
      "tree": "cf53a1b42ce73b3b57e4d3f7639102df13bff067",
      "parents": [
        "c0d1c770c05ac7051df86914f9627b68f29c1d67"
      ],
      "author": {
        "name": "Yang Zhang",
        "email": "yang.z.zhang@Intel.com",
        "time": "Thu Apr 11 19:21:35 2013 +0800"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Mon Apr 15 23:20:33 2013 -0300"
      },
      "message": "KVM: Add vcpu info to ioapic_update_eoi()\n\nAdd vcpu info to ioapic_update_eoi, so we can know which vcpu\nissued this EOI.\n\nSigned-off-by: Yang Zhang \u003cyang.z.zhang@Intel.com\u003e\nReviewed-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "e3ba45b8041740f4ab8bbba3c6239876661aeed6",
      "tree": "0fbaab51a2a27d842a695e5df59c171db12d0db1",
      "parents": [
        "39369f7a8b7314b8f7860c880a2198c11cebdf5a"
      ],
      "author": {
        "name": "Geoff Levand",
        "email": "geoff@infradead.org",
        "time": "Fri Apr 05 19:20:30 2013 +0000"
      },
      "committer": {
        "name": "Gleb Natapov",
        "email": "gleb@redhat.com",
        "time": "Mon Apr 08 13:02:06 2013 +0300"
      },
      "message": "KVM: Move kvm_spurious_fault to x86.c\n\nThe routine kvm_spurious_fault() is an x86 specific routine, so\nmove it from virt/kvm/kvm_main.c to arch/x86/kvm/x86.c.\n\nFixes this sparse warning when building on arm64:\n\n  virt/kvm/kvm_main.c:warning: symbol \u0027kvm_spurious_fault\u0027 was not declared. Should it be static?\n\nSigned-off-by: Geoff Levand \u003cgeoff@infradead.org\u003e\nSigned-off-by: Gleb Natapov \u003cgleb@redhat.com\u003e\n"
    },
    {
      "commit": "39369f7a8b7314b8f7860c880a2198c11cebdf5a",
      "tree": "c0eed7068022d51c1f7f14ab4706b5fff0563b6c",
      "parents": [
        "fc1b74925f87f6aca5432eb73f6a57eff30afde7"
      ],
      "author": {
        "name": "Geoff Levand",
        "email": "geoff@infradead.org",
        "time": "Fri Apr 05 19:20:30 2013 +0000"
      },
      "committer": {
        "name": "Gleb Natapov",
        "email": "gleb@redhat.com",
        "time": "Mon Apr 08 13:02:04 2013 +0300"
      },
      "message": "KVM: Make local routines static\n\nThe routines get_user_page_nowait(), kvm_io_bus_sort_cmp(), kvm_io_bus_insert_dev()\nand kvm_io_bus_get_first_dev() are only referenced within kvm_main.c, so give them\nstatic linkage.\n\nFixes sparse warnings like these:\n\n  virt/kvm/kvm_main.c: warning: symbol \u0027get_user_page_nowait\u0027 was not declared. Should it be static?\n\nSigned-off-by: Geoff Levand \u003cgeoff@infradead.org\u003e\nSigned-off-by: Gleb Natapov \u003cgleb@redhat.com\u003e\n"
    },
    {
      "commit": "05e07f9bdb0ea3c1c52029e6c4db77c9f7c92a5c",
      "tree": "d84ca956c581c7657c21d495062354d8fb1a349c",
      "parents": [
        "b8c07d55d010702eff61562cf9a77366833d9da2"
      ],
      "author": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Thu Apr 04 13:27:21 2013 +0300"
      },
      "committer": {
        "name": "Gleb Natapov",
        "email": "gleb@redhat.com",
        "time": "Sun Apr 07 14:53:47 2013 +0300"
      },
      "message": "kvm: fix MMIO/PIO collision misdetection\n\nPIO and MMIO are separate address spaces, but\nioeventfd registration code mistakenly detected\ntwo eventfds as duplicate if they use the same address,\neven if one is PIO and another one MMIO.\n\nReviewed-by: Paolo Bonzini \u003cpbonzini@redhat.com\u003e\nSigned-off-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\nSigned-off-by: Gleb Natapov \u003cgleb@redhat.com\u003e\n"
    },
    {
      "commit": "44944d4d28948c71b110b09a2e924e505cd39e8b",
      "tree": "6d0b96165c11414c98edd14501f016627687d7dd",
      "parents": [
        "99437a2782730ec8c7e6cfebb6143d00b091e4a8"
      ],
      "author": {
        "name": "Yang Zhang",
        "email": "yang.z.zhang@Intel.com",
        "time": "Sun Apr 07 08:25:18 2013 +0800"
      },
      "committer": {
        "name": "Gleb Natapov",
        "email": "gleb@redhat.com",
        "time": "Sun Apr 07 13:55:49 2013 +0300"
      },
      "message": "KVM: Call kvm_apic_match_dest() to check destination vcpu\n\nFor a given vcpu, kvm_apic_match_dest() will tell you whether\nthe vcpu in the destination list quickly. Drop kvm_calculate_eoi_exitmap()\nand use kvm_apic_match_dest() instead.\n\nSigned-off-by: Yang Zhang \u003cyang.z.zhang@Intel.com\u003e\nSigned-off-by: Gleb Natapov \u003cgleb@redhat.com\u003e\n"
    },
    {
      "commit": "2ae33b389601b86a3d0cfe2d09f5e3189d5322fd",
      "tree": "53e658f7ef511b5afb7d2e88753e1aaaed3de5ba",
      "parents": [
        "04b66839d312d3bdaff77f265eb7305347fa1fb7",
        "2ffdd7e23cde5a8b94d41ec0adfdd58cffe67f3a"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Thu Mar 21 11:11:52 2013 -0300"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Thu Mar 21 11:11:52 2013 -0300"
      },
      "message": "Merge remote-tracking branch \u0027upstream/master\u0027 into queue\n\nMerge reason:\n\nFrom: Alexander Graf \u003cagraf@suse.de\u003e\n\n\"Just recently this really important patch got pulled into Linus\u0027 tree for 3.9:\n\ncommit 1674400aaee5b466c595a8fc310488263ce888c7\nAuthor: Anton Blanchard \u003canton \u003cat\u003e samba.org\u003e\nDate:   Tue Mar 12 01:51:51 2013 +0000\n\nWithout that commit, I can not boot my G5, thus I can\u0027t run automated tests on it against my queue.\n\nCould you please merge kvm/next against linus/master, so that I can base my trees against that?\"\n\n* upstream/master: (653 commits)\n  PCI: Use ROM images from firmware only if no other ROM source available\n  sparc: remove unused \"config BITS\"\n  sparc: delete \"if !ULTRA_HAS_POPULATION_COUNT\"\n  KVM: Fix bounds checking in ioapic indirect register reads (CVE-2013-1798)\n  KVM: x86: Convert MSR_KVM_SYSTEM_TIME to use gfn_to_hva_cache functions (CVE-2013-1797)\n  KVM: x86: fix for buffer overflow in handling of MSR_KVM_SYSTEM_TIME (CVE-2013-1796)\n  arm64: Kconfig.debug: Remove unused CONFIG_DEBUG_ERRORS\n  arm64: Do not select GENERIC_HARDIRQS_NO_DEPRECATED\n  inet: limit length of fragment queue hash table bucket lists\n  qeth: Fix scatter-gather regression\n  qeth: Fix invalid router settings handling\n  qeth: delay feature trace\n  sgy-cts1000: Remove __dev* attributes\n  KVM: x86: fix deadlock in clock-in-progress request handling\n  KVM: allow host header to be included even for !CONFIG_KVM\n  hwmon: (lm75) Fix tcn75 prefix\n  hwmon: (lm75.h) Update header inclusion\n  MAINTAINERS: Remove Mark M. Hoffman\n  xfs: ensure we capture IO errors correctly\n  xfs: fix xfs_iomap_eof_prealloc_initial_size type\n  ...\n\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "a2c118bfab8bc6b8bb213abfc35201e441693d55",
      "tree": "39261e300db388699d388d98afa4aca107258571",
      "parents": [
        "0b79459b482e85cb7426aa7da683a9f2c97aeae1"
      ],
      "author": {
        "name": "Andy Honig",
        "email": "ahonig@google.com",
        "time": "Wed Feb 20 14:49:16 2013 -0800"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Tue Mar 19 14:20:21 2013 -0300"
      },
      "message": "KVM: Fix bounds checking in ioapic indirect register reads (CVE-2013-1798)\n\nIf the guest specifies a IOAPIC_REG_SELECT with an invalid value and follows\nthat with a read of the IOAPIC_REG_WINDOW KVM does not properly validate\nthat request.  ioapic_read_indirect contains an\nASSERT(redir_index \u003c IOAPIC_NUM_PINS), but the ASSERT has no effect in\nnon-debug builds.  In recent kernels this allows a guest to cause a kernel\noops by reading invalid memory.  In older kernels (pre-3.3) this allows a\nguest to read from large ranges of host memory.\n\nTested: tested against apic unit tests.\n\nSigned-off-by: Andrew Honig \u003cahonig@google.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "7bc7ae25b1438bb9fe1f176b951d758789847640",
      "tree": "47d7e933d79152b9272b101e68bd0ad43c4ec918",
      "parents": [
        "3a08a8f9f0936e182d387afd85fdc5d303381521"
      ],
      "author": {
        "name": "Raghavendra K T",
        "email": "raghavendra.kt@linux.vnet.ibm.com",
        "time": "Mon Mar 04 23:32:27 2013 +0530"
      },
      "committer": {
        "name": "Gleb Natapov",
        "email": "gleb@redhat.com",
        "time": "Mon Mar 11 11:37:22 2013 +0200"
      },
      "message": "kvm: Iterate over only vcpus that are preempted\n\nThis helps in filtering out the eligible candidates further and\nthus potentially helps in quickly allowing preempted lockholders to run.\nNote that if a vcpu was spinning during preemption we filter them\nby checking whether they are preempted due to pause loop exit.\n\nReviewed-by: Chegu Vinod \u003cchegu_vinod@hp.com\u003e\nReviewed-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Raghavendra K T \u003craghavendra.kt@linux.vnet.ibm.com\u003e\nSigned-off-by: Gleb Natapov \u003cgleb@redhat.com\u003e\n"
    },
    {
      "commit": "3a08a8f9f0936e182d387afd85fdc5d303381521",
      "tree": "092f3ba314b1822b84fa24af6f211c9388bc566d",
      "parents": [
        "5da596078f915a62e39a20e582308eab91b88c9a"
      ],
      "author": {
        "name": "Raghavendra K T",
        "email": "raghavendra.kt@linux.vnet.ibm.com",
        "time": "Mon Mar 04 23:32:07 2013 +0530"
      },
      "committer": {
        "name": "Gleb Natapov",
        "email": "gleb@redhat.com",
        "time": "Mon Mar 11 11:37:08 2013 +0200"
      },
      "message": "kvm: Record the preemption status of vcpus using preempt notifiers\n\nNote that we mark as preempted only when vcpu\u0027s task state was\nRunning during preemption.\n\nThanks Jiannan, Avi for preemption notifier ideas. Thanks Gleb, PeterZ\nfor their precious suggestions. Thanks Srikar for an idea on avoiding\nrcu lock while checking task state that improved overcommit numbers.\n\nReviewed-by: Chegu Vinod \u003cchegu_vinod@hp.com\u003e\nReviewed-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Raghavendra K T \u003craghavendra.kt@linux.vnet.ibm.com\u003e\nSigned-off-by: Gleb Natapov \u003cgleb@redhat.com\u003e\n"
    },
    {
      "commit": "2b83451b45d720ca38c03878ce42ff9139cad9e3",
      "tree": "374b4ab82ffc115dc8cb76f783f7735521b6c7bf",
      "parents": [
        "060f0ce6ff975decd1e0ee318c08e228bccbee1e"
      ],
      "author": {
        "name": "Cornelia Huck",
        "email": "cornelia.huck@de.ibm.com",
        "time": "Thu Feb 28 12:33:20 2013 +0100"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Tue Mar 05 19:12:17 2013 -0300"
      },
      "message": "KVM: ioeventfd for virtio-ccw devices.\n\nEnhance KVM_IOEVENTFD with a new flag that allows to attach to virtio-ccw\ndevices on s390 via the KVM_VIRTIO_CCW_NOTIFY_BUS.\n\nSigned-off-by: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "a0f155e9646d5f1c263f6f9aae880151100243bb",
      "tree": "761de60204c9c0a5c2208775295c6baa9e5693fb",
      "parents": [
        "6a773cb825afb74a600a08fe87fab55ee98ec2ac"
      ],
      "author": {
        "name": "Cornelia Huck",
        "email": "cornelia.huck@de.ibm.com",
        "time": "Thu Feb 28 12:33:18 2013 +0100"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Tue Mar 05 19:12:16 2013 -0300"
      },
      "message": "KVM: Initialize irqfd from kvm_init().\n\nCurrently, eventfd introduces module_init/module_exit functions\nto initialize/cleanup the irqfd workqueue. This only works, however,\nif no other module_init/module_exit functions are built into the\nsame module.\n\nLet\u0027s just move the initialization and cleanup to kvm_init and kvm_exit.\nThis way, it is also clearer where kvm startup may fail.\n\nSigned-off-by: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "8482644aea11e0647867732319ccf35879a9acc2",
      "tree": "fbd381ae796ed7af2ff0a7b3d30fdd76ee94d374",
      "parents": [
        "7b6195a91d60909a2834ab7181e2b9476e6fe749"
      ],
      "author": {
        "name": "Takuya Yoshikawa",
        "email": "yoshikawa_takuya_b1@lab.ntt.co.jp",
        "time": "Wed Feb 27 19:45:25 2013 +0900"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Mon Mar 04 20:21:08 2013 -0300"
      },
      "message": "KVM: set_memory_region: Refactor commit_memory_region()\n\nThis patch makes the parameter old a const pointer to the old memory\nslot and adds a new parameter named change to know the change being\nrequested: the former is for removing extra copying and the latter is\nfor cleaning up the code.\n\nSigned-off-by: Takuya Yoshikawa \u003cyoshikawa_takuya_b1@lab.ntt.co.jp\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "7b6195a91d60909a2834ab7181e2b9476e6fe749",
      "tree": "2a3713b45d77bb886e031be65f3ef5f576eeb300",
      "parents": [
        "74d0727cb7aaaea48a6353209093be26abc8d160"
      ],
      "author": {
        "name": "Takuya Yoshikawa",
        "email": "yoshikawa_takuya_b1@lab.ntt.co.jp",
        "time": "Wed Feb 27 19:44:34 2013 +0900"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Mon Mar 04 20:21:08 2013 -0300"
      },
      "message": "KVM: set_memory_region: Refactor prepare_memory_region()\n\nThis patch drops the parameter old, a copy of the old memory slot, and\nadds a new parameter named change to know the change being requested.\n\nThis not only cleans up the code but also removes extra copying of the\nmemory slot structure.\n\nSigned-off-by: Takuya Yoshikawa \u003cyoshikawa_takuya_b1@lab.ntt.co.jp\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "74d0727cb7aaaea48a6353209093be26abc8d160",
      "tree": "5fca51d427979429ff25fe8b4626726d6b54607d",
      "parents": [
        "47ae31e257c548abdb199e0d26723139a9a967ba"
      ],
      "author": {
        "name": "Takuya Yoshikawa",
        "email": "yoshikawa_takuya_b1@lab.ntt.co.jp",
        "time": "Wed Feb 27 19:43:44 2013 +0900"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Mon Mar 04 20:21:08 2013 -0300"
      },
      "message": "KVM: set_memory_region: Make kvm_mr_change available to arch code\n\nThis will be used for cleaning up prepare/commit_memory_region() later.\n\nSigned-off-by: Takuya Yoshikawa \u003cyoshikawa_takuya_b1@lab.ntt.co.jp\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "47ae31e257c548abdb199e0d26723139a9a967ba",
      "tree": "e2888e7839935423a3afc64c0296eb9e4eed23c4",
      "parents": [
        "462fce46065ec4b200c08619c047b9e5a8fd154a"
      ],
      "author": {
        "name": "Takuya Yoshikawa",
        "email": "yoshikawa_takuya_b1@lab.ntt.co.jp",
        "time": "Wed Feb 27 19:43:00 2013 +0900"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Mon Mar 04 20:21:08 2013 -0300"
      },
      "message": "KVM: set_memory_region: Drop user_alloc from set_memory_region()\n\nExcept ia64\u0027s stale code, KVM_SET_MEMORY_REGION support, this is only\nused for sanity checks in __kvm_set_memory_region() which can easily\nbe changed to use slot id instead.\n\nSigned-off-by: Takuya Yoshikawa \u003cyoshikawa_takuya_b1@lab.ntt.co.jp\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "462fce46065ec4b200c08619c047b9e5a8fd154a",
      "tree": "c36cb39e0a8377da88b87ca5b99344357a6c31be",
      "parents": [
        "ee2c25efdd46d7ed5605d6fe877bdf4b47a4ab2e"
      ],
      "author": {
        "name": "Takuya Yoshikawa",
        "email": "yoshikawa_takuya_b1@lab.ntt.co.jp",
        "time": "Wed Feb 27 19:41:56 2013 +0900"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Mon Mar 04 20:21:08 2013 -0300"
      },
      "message": "KVM: set_memory_region: Drop user_alloc from prepare/commit_memory_region()\n\nX86 does not use this any more.  The remaining user, s390\u0027s !user_alloc\ncheck, can be simply removed since KVM_SET_MEMORY_REGION ioctl is no\nlonger supported.\n\nNote: fixed powerpc\u0027s indentations with spaces to suppress checkpatch\nerrors.\n\nSigned-off-by: Takuya Yoshikawa \u003cyoshikawa_takuya_b1@lab.ntt.co.jp\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "b67bfe0d42cac56c512dd5da4b1b347a23f4b70a",
      "tree": "3d465aea12b97683f26ffa38eba8744469de9997",
      "parents": [
        "1e142b29e210b5dfb2deeb6ce2210b60af16d2a6"
      ],
      "author": {
        "name": "Sasha Levin",
        "email": "sasha.levin@oracle.com",
        "time": "Wed Feb 27 17:06:00 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 27 19:10:24 2013 -0800"
      },
      "message": "hlist: drop the node parameter from iterators\n\nI\u0027m not sure why, but the hlist for each entry iterators were conceived\n\n        list_for_each_entry(pos, head, member)\n\nThe hlist ones were greedy and wanted an extra parameter:\n\n        hlist_for_each_entry(tpos, pos, head, member)\n\nWhy did they need an extra pos parameter? I\u0027m not quite sure. Not only\nthey don\u0027t really need it, it also prevents the iterator from looking\nexactly like the list iterator, which is unfortunate.\n\nBesides the semantic patch, there was some manual work required:\n\n - Fix up the actual hlist iterators in linux/list.h\n - Fix up the declaration of other iterators based on the hlist ones.\n - A very small amount of places were using the \u0027node\u0027 parameter, this\n was modified to use \u0027obj-\u003emember\u0027 instead.\n - Coccinelle didn\u0027t handle the hlist_for_each_entry_safe iterator\n properly, so those had to be fixed up manually.\n\nThe semantic patch which is mostly the work of Peter Senna Tschudin is here:\n\n@@\niterator name hlist_for_each_entry, hlist_for_each_entry_continue, hlist_for_each_entry_from, hlist_for_each_entry_rcu, hlist_for_each_entry_rcu_bh, hlist_for_each_entry_continue_rcu_bh, for_each_busy_worker, ax25_uid_for_each, ax25_for_each, inet_bind_bucket_for_each, sctp_for_each_hentry, sk_for_each, sk_for_each_rcu, sk_for_each_from, sk_for_each_safe, sk_for_each_bound, hlist_for_each_entry_safe, hlist_for_each_entry_continue_rcu, nr_neigh_for_each, nr_neigh_for_each_safe, nr_node_for_each, nr_node_for_each_safe, for_each_gfn_indirect_valid_sp, for_each_gfn_sp, for_each_host;\n\ntype T;\nexpression a,c,d,e;\nidentifier b;\nstatement S;\n@@\n\n-T b;\n    \u003c+... when !\u003d b\n(\nhlist_for_each_entry(a,\n- b,\nc, d) S\n|\nhlist_for_each_entry_continue(a,\n- b,\nc) S\n|\nhlist_for_each_entry_from(a,\n- b,\nc) S\n|\nhlist_for_each_entry_rcu(a,\n- b,\nc, d) S\n|\nhlist_for_each_entry_rcu_bh(a,\n- b,\nc, d) S\n|\nhlist_for_each_entry_continue_rcu_bh(a,\n- b,\nc) S\n|\nfor_each_busy_worker(a, c,\n- b,\nd) S\n|\nax25_uid_for_each(a,\n- b,\nc) S\n|\nax25_for_each(a,\n- b,\nc) S\n|\ninet_bind_bucket_for_each(a,\n- b,\nc) S\n|\nsctp_for_each_hentry(a,\n- b,\nc) S\n|\nsk_for_each(a,\n- b,\nc) S\n|\nsk_for_each_rcu(a,\n- b,\nc) S\n|\nsk_for_each_from\n-(a, b)\n+(a)\nS\n+ sk_for_each_from(a) S\n|\nsk_for_each_safe(a,\n- b,\nc, d) S\n|\nsk_for_each_bound(a,\n- b,\nc) S\n|\nhlist_for_each_entry_safe(a,\n- b,\nc, d, e) S\n|\nhlist_for_each_entry_continue_rcu(a,\n- b,\nc) S\n|\nnr_neigh_for_each(a,\n- b,\nc) S\n|\nnr_neigh_for_each_safe(a,\n- b,\nc, d) S\n|\nnr_node_for_each(a,\n- b,\nc) S\n|\nnr_node_for_each_safe(a,\n- b,\nc, d) S\n|\n- for_each_gfn_sp(a, c, d, b) S\n+ for_each_gfn_sp(a, c, d) S\n|\n- for_each_gfn_indirect_valid_sp(a, c, d, b) S\n+ for_each_gfn_indirect_valid_sp(a, c, d) S\n|\nfor_each_host(a,\n- b,\nc) S\n|\nfor_each_host_safe(a,\n- b,\nc, d) S\n|\nfor_each_mesh_entry(a,\n- b,\nc, d) S\n)\n    ...+\u003e\n\n[akpm@linux-foundation.org: drop bogus change from net/ipv4/raw.c]\n[akpm@linux-foundation.org: drop bogus hunk from net/ipv6/raw.c]\n[akpm@linux-foundation.org: checkpatch fixes]\n[akpm@linux-foundation.org: fix warnings]\n[akpm@linux-foudnation.org: redo intrusive kvm changes]\nTested-by: Peter Senna Tschudin \u003cpeter.senna@gmail.com\u003e\nAcked-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Sasha Levin \u003csasha.levin@oracle.com\u003e\nCc: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nCc: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nCc: Gleb Natapov \u003cgleb@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7a905b1485adf863607b5fc9e32a3fa3838bcc23",
      "tree": "8f61239e5d74bd58e9972bdc4da27e01fd725419",
      "parents": [
        "257090f70233084488f7b3ebe99be8c159a23281"
      ],
      "author": {
        "name": "Takuya Yoshikawa",
        "email": "yoshikawa_takuya_b1@lab.ntt.co.jp",
        "time": "Thu Feb 07 18:55:57 2013 +0900"
      },
      "committer": {
        "name": "Gleb Natapov",
        "email": "gleb@redhat.com",
        "time": "Mon Feb 11 11:52:00 2013 +0200"
      },
      "message": "KVM: Remove user_alloc from struct kvm_memory_slot\n\nThis field was needed to differentiate memory slots created by the new\nAPI, KVM_SET_USER_MEMORY_REGION, from those by the old equivalent,\nKVM_SET_MEMORY_REGION, whose support was dropped long before:\n\n  commit b74a07beed0e64bfba413dcb70dd6749c57f43dc\n  KVM: Remove kernel-allocated memory regions\n\nAlthough we also have private memory slots to which KVM allocates\nmemory with vm_mmap(), !user_alloc slots in other words, the slot id\nshould be enough for differentiating them.\n\nNote: corresponding function parameters will be removed later.\n\nReviewed-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Takuya Yoshikawa \u003cyoshikawa_takuya_b1@lab.ntt.co.jp\u003e\nSigned-off-by: Gleb Natapov \u003cgleb@redhat.com\u003e\n"
    },
    {
      "commit": "75d61fbcf563373696578570e914f555e12c8d97",
      "tree": "8835d8a5cf79704569f568675792672c930746ae",
      "parents": [
        "f64c0398939483eb1d8951f24fbc21e94ed54457"
      ],
      "author": {
        "name": "Takuya Yoshikawa",
        "email": "yoshikawa_takuya_b1@lab.ntt.co.jp",
        "time": "Wed Jan 30 19:40:41 2013 +0900"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Mon Feb 04 22:56:47 2013 -0200"
      },
      "message": "KVM: set_memory_region: Disallow changing read-only attribute later\n\nAs Xiao pointed out, there are a few problems with it:\n - kvm_arch_commit_memory_region() write protects the memory slot only\n   for GET_DIRTY_LOG when modifying the flags.\n - FNAME(sync_page) uses the old spte value to set a new one without\n   checking KVM_MEM_READONLY flag.\n\nSince we flush all shadow pages when creating a new slot, the simplest\nfix is to disallow such problematic flag changes: this is safe because\nno one is doing such things.\n\nReviewed-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nSigned-off-by: Takuya Yoshikawa \u003cyoshikawa_takuya_b1@lab.ntt.co.jp\u003e\nCc: Xiao Guangrong \u003cxiaoguangrong@linux.vnet.ibm.com\u003e\nCc: Alex Williamson \u003calex.williamson@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "f64c0398939483eb1d8951f24fbc21e94ed54457",
      "tree": "e0d3b9b109f82dbfca84f347f1848a6797a80405",
      "parents": [
        "0c29b2293b25527a1759cbd22b106f19258636b6"
      ],
      "author": {
        "name": "Takuya Yoshikawa",
        "email": "yoshikawa_takuya_b1@lab.ntt.co.jp",
        "time": "Tue Jan 29 11:00:07 2013 +0900"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Mon Feb 04 22:00:53 2013 -0200"
      },
      "message": "KVM: set_memory_region: Identify the requested change explicitly\n\nKVM_SET_USER_MEMORY_REGION forces __kvm_set_memory_region() to identify\nwhat kind of change is being requested by checking the arguments.  The\ncurrent code does this checking at various points in code and each\ncondition being used there is not easy to understand at first glance.\n\nThis patch consolidates these checks and introduces an enum to name the\npossible changes to clean up the code.\n\nAlthough this does not introduce any functional changes, there is one\nchange which optimizes the code a bit: if we have nothing to change, the\nnew code returns 0 immediately.\n\nNote that the return value for this case cannot be changed since QEMU\nrelies on it: we noticed this when we changed it to -EINVAL and got a\nsection mismatch error at the final stage of live migration.\n\nSigned-off-by: Takuya Yoshikawa \u003cyoshikawa_takuya_b1@lab.ntt.co.jp\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "c45c528e899094b9049b3c900e2cf1f00aa0490c",
      "tree": "ee8562c37a74f74f9fbc30772a3bc4e7c69db8d6",
      "parents": [
        "7b270f609982f68f2433442bf167f735e7364b06"
      ],
      "author": {
        "name": "Raghavendra K T",
        "email": "raghavendra.kt@linux.vnet.ibm.com",
        "time": "Tue Jan 22 13:09:24 2013 +0530"
      },
      "committer": {
        "name": "Gleb Natapov",
        "email": "gleb@redhat.com",
        "time": "Tue Jan 29 15:38:45 2013 +0200"
      },
      "message": "kvm: Handle yield_to failure return code for potential undercommit case\n\nyield_to returns -ESRCH, When source and target of yield_to\nrun queue length is one. When we see three successive failures of\nyield_to we assume we are in potential undercommit case and abort\nfrom PLE handler.\nThe assumption is backed by low probability of wrong decision\nfor even worst case scenarios such as average runqueue length\nbetween 1 and 2.\n\nMore detail on rationale behind using three tries:\nif p is the probability of finding rq length one on a particular cpu,\nand if we do n tries, then probability of exiting ple handler is:\n\n p^(n+1) [ because we would have come across one source with rq length\n1 and n target cpu rqs  with length 1 ]\n\nso\nnum tries:         probability of aborting ple handler (1.5x overcommit)\n 1                 1/4\n 2                 1/8\n 3                 1/16\n\nWe can increase this probability with more tries, but the problem is\nthe overhead.\nAlso, If we have tried three times that means we would have iterated\nover 3 good eligible vcpus along with many non-eligible candidates. In\nworst case if we iterate all the vcpus, we reduce 1x performance and\novercommit performance get hit.\n\nnote that we do not update last boosted vcpu in failure cases.\nThank Avi for raising question on aborting after first fail from yield_to.\n\nReviewed-by: Srikar Dronamraju \u003csrikar@linux.vnet.ibm.com\u003e\nSigned-off-by: Raghavendra K T \u003craghavendra.kt@linux.vnet.ibm.com\u003e\nTested-by: Chegu Vinod \u003cchegu_vinod@hp.com\u003e\nSigned-off-by: Gleb Natapov \u003cgleb@redhat.com\u003e\n"
    },
    {
      "commit": "c7c9c56ca26f7b9458711b2d78b60b60e0d38ba7",
      "tree": "feab61b2f3a5587dd502a9d2bf4b27a8b2ebe507",
      "parents": [
        "8d14695f9542e9e0195d6e41ddaa52c32322adf5"
      ],
      "author": {
        "name": "Yang Zhang",
        "email": "yang.z.zhang@Intel.com",
        "time": "Fri Jan 25 10:18:51 2013 +0800"
      },
      "committer": {
        "name": "Gleb Natapov",
        "email": "gleb@redhat.com",
        "time": "Tue Jan 29 10:48:19 2013 +0200"
      },
      "message": "x86, apicv: add virtual interrupt delivery support\n\nVirtual interrupt delivery avoids KVM to inject vAPIC interrupts\nmanually, which is fully taken care of by the hardware. This needs\nsome special awareness into existing interrupr injection path:\n\n- for pending interrupt, instead of direct injection, we may need\n  update architecture specific indicators before resuming to guest.\n\n- A pending interrupt, which is masked by ISR, should be also\n  considered in above update action, since hardware will decide\n  when to inject it at right time. Current has_interrupt and\n  get_interrupt only returns a valid vector from injection p.o.v.\n\nReviewed-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Kevin Tian \u003ckevin.tian@intel.com\u003e\nSigned-off-by: Yang Zhang \u003cyang.z.zhang@Intel.com\u003e\nSigned-off-by: Gleb Natapov \u003cgleb@redhat.com\u003e\n"
    },
    {
      "commit": "d47510e295c0f82699192a61d715351cf00f65de",
      "tree": "77b842f1e1f04ac4650fc54e6a267747b30d2bd8",
      "parents": [
        "261874b0d5ebe2a5ccc544df7170d6559635e79a"
      ],
      "author": {
        "name": "Alex Williamson",
        "email": "alex.williamson@redhat.com",
        "time": "Thu Jan 24 15:04:09 2013 -0700"
      },
      "committer": {
        "name": "Gleb Natapov",
        "email": "gleb@redhat.com",
        "time": "Sun Jan 27 12:41:41 2013 +0200"
      },
      "message": "kvm: Obey read-only mappings in iommu\n\nWe\u0027ve been ignoring read-only mappings and programming everything\ninto the iommu as read-write.  Fix this to only include the write\naccess flag when read-only is not set.\n\nSigned-off-by: Alex Williamson \u003calex.williamson@redhat.com\u003e\nSigned-off-by: Gleb Natapov \u003cgleb@redhat.com\u003e\n"
    },
    {
      "commit": "261874b0d5ebe2a5ccc544df7170d6559635e79a",
      "tree": "d04346a75dbc7146769da4519354f3bd3303d5c0",
      "parents": [
        "3f0c3d0bb2bcc4b88b22452a7cf0073ee9a0f1e6"
      ],
      "author": {
        "name": "Alex Williamson",
        "email": "alex.williamson@redhat.com",
        "time": "Thu Jan 24 15:04:03 2013 -0700"
      },
      "committer": {
        "name": "Gleb Natapov",
        "email": "gleb@redhat.com",
        "time": "Sun Jan 27 12:41:30 2013 +0200"
      },
      "message": "kvm: Force IOMMU remapping on memory slot read-only flag changes\n\nMemory slot flags can be altered without changing other parameters of\nthe slot.  The read-only attribute is the only one the IOMMU cares\nabout, so generate an un-map, re-map when this occurs.  This also\navoid unnecessarily re-mapping the slot when no IOMMU visible changes\nare made.\n\nReviewed-by: Xiao Guangrong \u003cxiaoguangrong@linux.vnet.ibm.com\u003e\nSigned-off-by: Alex Williamson \u003calex.williamson@redhat.com\u003e\nSigned-off-by: Gleb Natapov \u003cgleb@redhat.com\u003e\n"
    },
    {
      "commit": "a843fac2536d6d81335d7011dd7ec4e438161dd7",
      "tree": "bf08a9989c45f2e7e5d454eae5868b9efd5d630f",
      "parents": [
        "0a706beefb1de71bf8551f9860dc529ef14d6753"
      ],
      "author": {
        "name": "Takuya Yoshikawa",
        "email": "yoshikawa_takuya_b1@lab.ntt.co.jp",
        "time": "Fri Jan 11 18:27:43 2013 +0900"
      },
      "committer": {
        "name": "Gleb Natapov",
        "email": "gleb@redhat.com",
        "time": "Thu Jan 17 14:27:59 2013 +0200"
      },
      "message": "KVM: set_memory_region: Remove unnecessary variable memslot\n\nOne such variable, slot, is enough for holding a pointer temporarily.\nWe also remove another local variable named slot, which is limited in\na block, since it is confusing to have the same name in this function.\n\nReviewed-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Takuya Yoshikawa \u003cyoshikawa_takuya_b1@lab.ntt.co.jp\u003e\nSigned-off-by: Gleb Natapov \u003cgleb@redhat.com\u003e\n"
    },
    {
      "commit": "0a706beefb1de71bf8551f9860dc529ef14d6753",
      "tree": "a4873b1deb1d4a9d5f95b00dc73effdf34683dcc",
      "parents": [
        "0ea75e1d26dd4ccbbfe4d1a5931903b15b82ba2a"
      ],
      "author": {
        "name": "Takuya Yoshikawa",
        "email": "yoshikawa_takuya_b1@lab.ntt.co.jp",
        "time": "Fri Jan 11 18:26:55 2013 +0900"
      },
      "committer": {
        "name": "Gleb Natapov",
        "email": "gleb@redhat.com",
        "time": "Thu Jan 17 14:27:50 2013 +0200"
      },
      "message": "KVM: set_memory_region: Don\u0027t check for overlaps unless we create or move a slot\n\nDon\u0027t need the check for deleting an existing slot or just modifiying\nthe flags.\n\nReviewed-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Takuya Yoshikawa \u003cyoshikawa_takuya_b1@lab.ntt.co.jp\u003e\nSigned-off-by: Gleb Natapov \u003cgleb@redhat.com\u003e\n"
    },
    {
      "commit": "0ea75e1d26dd4ccbbfe4d1a5931903b15b82ba2a",
      "tree": "83aed7450eb5f2eea111a5da578e37285f6e065b",
      "parents": [
        "a046b816a4587c7898772af7cc7e6798cc8b56dd"
      ],
      "author": {
        "name": "Takuya Yoshikawa",
        "email": "yoshikawa_takuya_b1@lab.ntt.co.jp",
        "time": "Fri Jan 11 18:26:10 2013 +0900"
      },
      "committer": {
        "name": "Gleb Natapov",
        "email": "gleb@redhat.com",
        "time": "Thu Jan 17 14:27:43 2013 +0200"
      },
      "message": "KVM: set_memory_region: Don\u0027t jump to out_free unnecessarily\n\nThis makes the separation between the sanity checks and the rest of the\ncode a bit clearer.\n\nReviewed-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Takuya Yoshikawa \u003cyoshikawa_takuya_b1@lab.ntt.co.jp\u003e\nSigned-off-by: Gleb Natapov \u003cgleb@redhat.com\u003e\n"
    },
    {
      "commit": "c972f3b125d8818748429b94cd2e59f473943a33",
      "tree": "da8ecba2b20a5804fa193471a980e301f6b8b265",
      "parents": [
        "aa11e3a8a6d9f92c3fe4b91a9aca5d8c23d55d4d"
      ],
      "author": {
        "name": "Takuya Yoshikawa",
        "email": "yoshikawa_takuya_b1@lab.ntt.co.jp",
        "time": "Tue Jan 08 19:43:28 2013 +0900"
      },
      "committer": {
        "name": "Gleb Natapov",
        "email": "gleb@redhat.com",
        "time": "Mon Jan 14 11:13:15 2013 +0200"
      },
      "message": "KVM: Write protect the updated slot only when dirty logging is enabled\n\nCalling kvm_mmu_slot_remove_write_access() for a deleted slot does\nnothing but search for non-existent mmu pages which have mappings to\nthat deleted memory; this is safe but a waste of time.\n\nSince we want to make the function rmap based in a later patch, in a\nmanner which makes it unsafe to be called for a deleted slot, we makes\nthe caller see if the slot is non-zero and being dirty logged.\n\nReviewed-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Takuya Yoshikawa \u003cyoshikawa_takuya_b1@lab.ntt.co.jp\u003e\nSigned-off-by: Gleb Natapov \u003cgleb@redhat.com\u003e\n"
    },
    {
      "commit": "7ec4fb44962f611241bcb974fa97c5f49ddcb2f1",
      "tree": "28400ae97788c508e723bc84f2bd6e42e6515815",
      "parents": [
        "f924d66d278d5da890f3098805b0450a4ef66c32"
      ],
      "author": {
        "name": "Gleb Natapov",
        "email": "gleb@redhat.com",
        "time": "Mon Dec 24 17:49:30 2012 +0200"
      },
      "committer": {
        "name": "Gleb Natapov",
        "email": "gleb@redhat.com",
        "time": "Mon Dec 24 17:49:30 2012 +0200"
      },
      "message": "KVM: move the code that installs new slots array to a separate function.\n\nMove repetitive code sequence to a separate function.\n\nReviewed-by: Alex Williamson \u003calex.williamson@redhat.com\u003e\nSigned-off-by: Gleb Natapov \u003cgleb@redhat.com\u003e\n"
    },
    {
      "commit": "116c14c0191f3378e6567af296529ac287e85aa2",
      "tree": "98b6f582d2d2f83da21918a95bfea48f1d37d84e",
      "parents": [
        "871a069db9f29938071b3d214cb964980071ffbf"
      ],
      "author": {
        "name": "Alex Williamson",
        "email": "alex.williamson@redhat.com",
        "time": "Fri Dec 21 08:20:16 2012 -0700"
      },
      "committer": {
        "name": "Gleb Natapov",
        "email": "gleb@redhat.com",
        "time": "Sun Dec 23 10:17:38 2012 +0200"
      },
      "message": "kvm: Fix memory slot generation updates\n\nPrevious patch \"kvm: Minor memory slot optimization\" (b7f69c555ca43)\noverlooked the generation field of the memory slots.  Re-using the\noriginal memory slots left us with with two slightly different memory\nslots with the same generation.  To fix this, make update_memslots()\ntake a new parameter to specify the last generation.  This also makes\ngeneration management more explicit to avoid such problems in the future.\n\nReported-by: Takuya Yoshikawa \u003cyoshikawa_takuya_b1@lab.ntt.co.jp\u003e\nSigned-off-by: Alex Williamson \u003calex.williamson@redhat.com\u003e\nSigned-off-by: Gleb Natapov \u003cgleb@redhat.com\u003e\n"
    },
    {
      "commit": "871a069db9f29938071b3d214cb964980071ffbf",
      "tree": "038149d2708d00ac6411a22fd90eca82531260a5",
      "parents": [
        "7e64e0597fd67c975bfa3e76401bfbcdd5ae0ff9"
      ],
      "author": {
        "name": "Yang Zhang",
        "email": "yang.z.zhang@Intel.com",
        "time": "Wed Dec 12 13:05:12 2012 +0800"
      },
      "committer": {
        "name": "Gleb Natapov",
        "email": "gleb@redhat.com",
        "time": "Sun Dec 23 10:04:35 2012 +0200"
      },
      "message": "KVM: remove a wrong hack of delivery PIT intr to vcpu0\n\nThis hack is wrong. The pin number of PIT is connected to\n2 not 0. This means this hack never takes effect. So it is ok\nto remove it.\n\nSigned-off-by: Yang Zhang \u003cyang.z.zhang@Intel.com\u003e\nSigned-off-by: Gleb Natapov \u003cgleb@redhat.com\u003e\n"
    },
    {
      "commit": "1e702d9af5d633cf0eca76f6340b3c50fbb5a4e5",
      "tree": "d4ef29de97fc976ed7245c629b6f8a41fd660f86",
      "parents": [
        "6104f472a5ea287fbdcf4644e74867dfd905a018"
      ],
      "author": {
        "name": "Alex Williamson",
        "email": "alex.williamson@redhat.com",
        "time": "Mon Dec 10 10:33:32 2012 -0700"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Thu Dec 13 23:25:24 2012 -0200"
      },
      "message": "KVM: struct kvm_memory_slot.id -\u003e short\n\nWe\u0027re currently offering a whopping 32 memory slots to user space, an\nint is a bit excessive for storing this.  We would like to increase\nour memslots, but SHRT_MAX should be more than enough.\n\nReviewed-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nSigned-off-by: Alex Williamson \u003calex.williamson@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "f82a8cfe9354f5cdea55ebeceba3fd19051d3ee8",
      "tree": "335e968cef697b7831c48849677de628cee4e73d",
      "parents": [
        "0743247fbf0c4a27185b2aa1fdda91d0745dfed1"
      ],
      "author": {
        "name": "Alex Williamson",
        "email": "alex.williamson@redhat.com",
        "time": "Mon Dec 10 10:33:21 2012 -0700"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Thu Dec 13 23:24:38 2012 -0200"
      },
      "message": "KVM: struct kvm_memory_slot.user_alloc -\u003e bool\n\nThere\u0027s no need for this to be an int, it holds a boolean.\nMove to the end of the struct for alignment.\n\nReviewed-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nSigned-off-by: Alex Williamson \u003calex.williamson@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "bbacc0c111c3c5d1f3192b8cc1642b9c3954f80d",
      "tree": "2ccef1b8a73400c56a1ef2a3967d09606b8ab50a",
      "parents": [
        "b7f69c555ca430129b6cde81e9f0927531420c5c"
      ],
      "author": {
        "name": "Alex Williamson",
        "email": "alex.williamson@redhat.com",
        "time": "Mon Dec 10 10:33:09 2012 -0700"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Thu Dec 13 23:21:57 2012 -0200"
      },
      "message": "KVM: Rename KVM_MEMORY_SLOTS -\u003e KVM_USER_MEM_SLOTS\n\nIt\u0027s easy to confuse KVM_MEMORY_SLOTS and KVM_MEM_SLOTS_NUM.  One is\nthe user accessible slots and the other is user + private.  Make this\nmore obvious.\n\nReviewed-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nSigned-off-by: Alex Williamson \u003calex.williamson@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "b7f69c555ca430129b6cde81e9f0927531420c5c",
      "tree": "7b325611705e6293ce1fe3c87eeeb30746e2fe0e",
      "parents": [
        "e40f193f5bb022e927a57a4f5d5194e4f12ddb74"
      ],
      "author": {
        "name": "Alex Williamson",
        "email": "alex.williamson@redhat.com",
        "time": "Mon Dec 10 10:33:03 2012 -0700"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Thu Dec 13 23:21:53 2012 -0200"
      },
      "message": "KVM: Minor memory slot optimization\n\nIf a slot is removed or moved in the guest physical address space, we\nfirst allocate and install a new slot array with the invalidated\nentry.  The old array is then freed.  We then proceed to allocate yet\nanother slot array to install the permanent replacement.  Re-use the\noriginal array when this occurs and avoid the extra kfree/kmalloc.\n\nReviewed-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nSigned-off-by: Alex Williamson \u003calex.williamson@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "e40f193f5bb022e927a57a4f5d5194e4f12ddb74",
      "tree": "b40ba3bafaf75eb6f27e41164b213cda708c7605",
      "parents": [
        "9c695d42dbd465bcaa865603b411a73c60e60978"
      ],
      "author": {
        "name": "Alex Williamson",
        "email": "alex.williamson@redhat.com",
        "time": "Mon Dec 10 10:32:57 2012 -0700"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Thu Dec 13 23:21:52 2012 -0200"
      },
      "message": "KVM: Fix iommu map/unmap to handle memory slot moves\n\nThe iommu integration into memory slots expects memory slots to be\nadded or removed and doesn\u0027t handle the move case.  We can unmap\nslots from the iommu after we mark them invalid and map them before\ninstalling the final memslot array.  Also re-order the kmemdup vs\nmap so we don\u0027t leave iommu mappings if we get ENOMEM.\n\nReviewed-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nSigned-off-by: Alex Williamson \u003calex.williamson@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "9c695d42dbd465bcaa865603b411a73c60e60978",
      "tree": "ee8348edbd718928a384e2eb19103b3d163607ed",
      "parents": [
        "f0736cf0550b349a5d5a374d65ca0488cc2eee40"
      ],
      "author": {
        "name": "Alex Williamson",
        "email": "alex.williamson@redhat.com",
        "time": "Mon Dec 10 10:32:51 2012 -0700"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Thu Dec 13 23:21:51 2012 -0200"
      },
      "message": "KVM: Check userspace_addr when modifying a memory slot\n\nThe API documents that only flags and guest physical memory space can\nbe modified on an existing slot, but we don\u0027t enforce that the\nuserspace address cannot be modified.  Instead we just ignore it.\nThis means that a user may think they\u0027ve successfully moved both the\nguest and user addresses, when in fact only the guest address changed.\nCheck and error instead.\n\nReviewed-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nSigned-off-by: Alex Williamson \u003calex.williamson@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "f0736cf0550b349a5d5a374d65ca0488cc2eee40",
      "tree": "d72fbc1acd03c5047961bcfb5d4063137a392384",
      "parents": [
        "f3200d00ea42e485772ff92d6d649aa8eeb640c0"
      ],
      "author": {
        "name": "Alex Williamson",
        "email": "alex.williamson@redhat.com",
        "time": "Mon Dec 10 10:32:45 2012 -0700"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Thu Dec 13 23:21:50 2012 -0200"
      },
      "message": "KVM: Restrict non-existing slot state transitions\n\nThe API documentation states:\n\n\tWhen changing an existing slot, it may be moved in the guest\n\tphysical memory space, or its flags may be modified.\n\nAn \"existing slot\" requires a non-zero npages (memory_size).  The only\ntransition we should therefore allow for a non-existing slot should be\nto create the slot, which includes setting a non-zero memory_size.  We\ncurrently allow calls to modify non-existing slots, which is pointless,\nconfusing, and possibly wrong.\n\nWith this we know that the invalidation path of __kvm_set_memory_region\nis always for a delete or move and never for adding a zero size slot.\n\nReviewed-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nSigned-off-by: Alex Williamson \u003calex.williamson@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "49f8a1a5394d8baee5e56fb71e5cf993c228689a",
      "tree": "6fed581f19ce97283e73a970466d653b60bbe9f1",
      "parents": [
        "d2ff4fc557a4c5248b2d99b0d48e47a246d994b2"
      ],
      "author": {
        "name": "Alex Williamson",
        "email": "alex.williamson@redhat.com",
        "time": "Thu Dec 06 14:44:59 2012 -0700"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Mon Dec 10 18:16:36 2012 -0200"
      },
      "message": "kvm: Fix irqfd resampler list walk\n\nTypo for the next pointer means we\u0027re walking random data here.\n\nSigned-off-by: Alex Williamson \u003calex.williamson@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "d2ff4fc557a4c5248b2d99b0d48e47a246d994b2",
      "tree": "dcb1af3d5cbb0aa9279baeb4d4760ef43d78b5e6",
      "parents": [
        "8f536b7697a0d40ef6b5fd04cf2c04953d5ca06f",
        "352df1deb2e3c40e65ff94c8d7c62d9144446b1c"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Sun Dec 09 18:44:10 2012 -0200"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Sun Dec 09 18:44:10 2012 -0200"
      },
      "message": "Merge branch \u0027for-upstream\u0027 of https://github.com/agraf/linux-2.6 into queue\n\n* \u0027for-upstream\u0027 of https://github.com/agraf/linux-2.6: (28 commits)\n  KVM: PPC: booke: Get/set guest EPCR register using ONE_REG interface\n  KVM: PPC: bookehv: Add EPCR support in mtspr/mfspr emulation\n  KVM: PPC: bookehv: Add guest computation mode for irq delivery\n  KVM: PPC: Make EPCR a valid field for booke64 and bookehv\n  KVM: PPC: booke: Extend MAS2 EPN mask for 64-bit\n  KVM: PPC: e500: Mask MAS2 EPN high 32-bits in 32/64 tlbwe emulation\n  KVM: PPC: Mask ea\u0027s high 32-bits in 32/64 instr emulation\n  KVM: PPC: e500: Add emulation helper for getting instruction ea\n  KVM: PPC: bookehv64: Add support for interrupt handling\n  KVM: PPC: bookehv: Remove GET_VCPU macro from exception handler\n  KVM: PPC: booke: Fix get_tb() compile error on 64-bit\n  KVM: PPC: e500: Silence bogus GCC warning in tlb code\n  KVM: PPC: Book3S HV: Handle guest-caused machine checks on POWER7 without panicking\n  KVM: PPC: Book3S HV: Improve handling of local vs. global TLB invalidations\n  MAINTAINERS: Add git tree link for PPC KVM\n  KVM: PPC: Book3S PR: MSR_DE doesn\u0027t exist on Book 3S\n  KVM: PPC: Book3S PR: Fix VSX handling\n  KVM: PPC: Book3S PR: Emulate PURR, SPURR and DSCR registers\n  KVM: PPC: Book3S HV: Don\u0027t give the guest RW access to RO pages\n  KVM: PPC: Book3S HV: Report correct HPT entry index when reading HPT\n  ...\n"
    },
    {
      "commit": "914daba865cb5c38cd5fdee024ca38029315b38f",
      "tree": "5d0906d4fd82da801fb230256fc6bb1abb25bd0a",
      "parents": [
        "45e3cc7d9fe69844cd12d51c511e1e98d156bbe1"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Tue Oct 09 00:22:59 2012 +0200"
      },
      "committer": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Thu Dec 06 01:33:49 2012 +0100"
      },
      "message": "KVM: Distangle eventfd code from irqchip\n\nThe current eventfd code assumes that when we have eventfd, we also have\nirqfd for in-kernel interrupt delivery. This is not necessarily true. On\nPPC we don\u0027t have an in-kernel irqchip yet, but we can still support easily\nsupport eventfd.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\n"
    },
    {
      "commit": "78c634402a1825f1f5bef13077f0985f3b8a3212",
      "tree": "1dac3b54821c39c1b893f0a2db4806dacc917bdc",
      "parents": [
        "01f218803757c9ec1152ac2fd39d03c27c452634"
      ],
      "author": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Wed Oct 17 18:06:06 2012 +0200"
      },
      "committer": {
        "name": "Gleb Natapov",
        "email": "gleb@redhat.com",
        "time": "Wed Dec 05 15:10:53 2012 +0200"
      },
      "message": "kvm: deliver msi interrupts from irq handler\n\nWe can deliver certain interrupts, notably MSI,\nfrom atomic context.  Use kvm_set_irq_inatomic,\nto implement an irq handler for msi.\n\nThis reduces the pressure on scheduler in case\nwhere host and guest irq share a host cpu.\n\nSigned-off-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\nSigned-off-by: Gleb Natapov \u003cgleb@redhat.com\u003e\n"
    },
    {
      "commit": "01f218803757c9ec1152ac2fd39d03c27c452634",
      "tree": "e64afc26da5c1a1b1b434cf7fda755ddaf436892",
      "parents": [
        "45e3cc7d9fe69844cd12d51c511e1e98d156bbe1"
      ],
      "author": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Wed Oct 17 18:06:02 2012 +0200"
      },
      "committer": {
        "name": "Gleb Natapov",
        "email": "gleb@redhat.com",
        "time": "Wed Dec 05 15:10:45 2012 +0200"
      },
      "message": "kvm: add kvm_set_irq_inatomic\n\nAdd an API to inject IRQ from atomic context.\nReturn EWOULDBLOCK if impossible (e.g. for multicast).\nOnly MSI is supported ATM.\n\nSigned-off-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\nSigned-off-by: Gleb Natapov \u003cgleb@redhat.com\u003e\n"
    },
    {
      "commit": "5419369ed6bd4cf711fdda5e52a5999b940413f5",
      "tree": "723920e638aa5adadf5252121b7126e1ad125a44",
      "parents": [
        "5a560f8b5ed361c7be783d5a671ea26ca4d6fa01"
      ],
      "author": {
        "name": "Alex Williamson",
        "email": "alex.williamson@redhat.com",
        "time": "Thu Nov 29 14:07:59 2012 -0700"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Thu Nov 29 23:30:32 2012 -0200"
      },
      "message": "KVM: Fix user memslot overlap check\n\nPrior to memory slot sorting this loop compared all of the user memory\nslots for overlap with new entries.  With memory slot sorting, we\u0027re\njust checking some number of entries in the array that may or may not\nbe user slots.  Instead, walk all the slots with kvm_for_each_memslot,\nwhich has the added benefit of terminating early when we hit the first\nempty slot, and skip comparison to private slots.\n\nCc: stable@vger.kernel.org\nSigned-off-by: Alex Williamson \u003calex.williamson@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "42897d866b120547777ae1fd316680ec53356d9c",
      "tree": "29eb544b4361d964dab0d1b3e27f9f2e64597daf",
      "parents": [
        "d828199e84447795c6669ff0e6c6d55eb9beeff6"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Tue Nov 27 23:29:02 2012 -0200"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Tue Nov 27 23:29:14 2012 -0200"
      },
      "message": "KVM: x86: add kvm_arch_vcpu_postcreate callback, move TSC initialization\n\nTSC initialization will soon make use of online_vcpus.\n\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "d828199e84447795c6669ff0e6c6d55eb9beeff6",
      "tree": "c11fc58c50234ddf06f1c4ca98a4115c8fe8ac2f",
      "parents": [
        "16e8d74d2da9920f874b10a3d979fb25c01f518f"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Tue Nov 27 23:29:01 2012 -0200"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Tue Nov 27 23:29:13 2012 -0200"
      },
      "message": "KVM: x86: implement PVCLOCK_TSC_STABLE_BIT pvclock flag\n\nKVM added a global variable to guarantee monotonicity in the guest.\nOne of the reasons for that is that the time between\n\n\t1. ktime_get_ts(\u0026timespec);\n\t2. rdtscll(tsc);\n\nIs variable. That is, given a host with stable TSC, suppose that\ntwo VCPUs read the same time via ktime_get_ts() above.\n\nThe time required to execute 2. is not the same on those two instances\nexecuting in different VCPUS (cache misses, interrupts...).\n\nIf the TSC value that is used by the host to interpolate when\ncalculating the monotonic time is the same value used to calculate\nthe tsc_timestamp value stored in the pvclock data structure, and\na single \u003csystem_timestamp, tsc_timestamp\u003e tuple is visible to all\nvcpus simultaneously, this problem disappears. See comment on top\nof pvclock_update_vm_gtod_copy for details.\n\nMonotonicity is then guaranteed by synchronicity of the host TSCs\nand guest TSCs.\n\nSet TSC stable pvclock flag in that case, allowing the guest to read\nclock from userspace.\n\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "807f12e57c9783458b8c07f63eff3c3e1df8ab5d",
      "tree": "7560f5d4fb19bf4637b59f926eda4512232a921e",
      "parents": [
        "951179ce86f5599e2dfb9de254056e91bd865f15"
      ],
      "author": {
        "name": "Guo Chao",
        "email": "yan@linux.vnet.ibm.com",
        "time": "Fri Nov 02 18:33:23 2012 +0800"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Tue Nov 13 22:14:29 2012 -0200"
      },
      "message": "KVM: remove unnecessary return value check\n\nNo need to check return value before breaking switch.\n\nSigned-off-by: Guo Chao \u003cyan@linux.vnet.ibm.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "18595411a7146330ec19adf0b9db8e6736c84a4e",
      "tree": "e92309d75edc34d48830b5d7712876a03dbde5c0",
      "parents": [
        "f026399fc90655ac444c62139aa4f8a02e1c795a"
      ],
      "author": {
        "name": "Guo Chao",
        "email": "yan@linux.vnet.ibm.com",
        "time": "Fri Nov 02 18:33:21 2012 +0800"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Tue Nov 13 22:14:28 2012 -0200"
      },
      "message": "KVM: do not kfree error pointer\n\nWe should avoid kfree()ing error pointer in kvm_vcpu_ioctl() and\nkvm_arch_vcpu_ioctl().\n\nSigned-off-by: Guo Chao \u003cyan@linux.vnet.ibm.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "81c52c56e2b43589091ee29038bcf793d3f184ab",
      "tree": "763236629eb034e519db87d8568946883499a155",
      "parents": [
        "19bf7f8ac3f8131100027281c495dbbe00cd5ae0"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@linux.vnet.ibm.com",
        "time": "Tue Oct 16 20:10:59 2012 +0800"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Mon Oct 29 20:31:04 2012 -0200"
      },
      "message": "KVM: do not treat noslot pfn as a error pfn\n\nThis patch filters noslot pfn out from error pfns based on Marcelo comment:\nnoslot pfn is not a error pfn\n\nAfter this patch,\n- is_noslot_pfn indicates that the gfn is not in slot\n- is_error_pfn indicates that the gfn is in slot but the error is occurred\n  when translate the gfn to pfn\n- is_error_noslot_pfn indicates that the pfn either it is error pfns or it\n  is noslot pfn\nAnd is_invalid_pfn can be removed, it makes the code more clean\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@linux.vnet.ibm.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "19bf7f8ac3f8131100027281c495dbbe00cd5ae0",
      "tree": "270b97e3ca47c0f62a1babca2ae37f79a76a309c",
      "parents": [
        "787c57c0fb393fe8a3974d300ddcfe30373386fe",
        "35fd3dc58da675d659513384221349ef90749a01"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Mon Oct 29 19:15:32 2012 -0200"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Mon Oct 29 19:15:32 2012 -0200"
      },
      "message": "Merge remote-tracking branch \u0027master\u0027 into queue\n\nMerge reason: development work has dependency on kvm patches merged\nupstream.\n\nConflicts:\n\tarch/powerpc/include/asm/Kbuild\n\tarch/powerpc/include/asm/kvm_para.h\n\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "3d0ceac129f3ea0b125289055a3aa7519d38df77",
      "tree": "6918573b28401c11c3cd201fe845effb64bbbf17",
      "parents": [
        "e17b1315832b97700502200f0a3dde3ac0fbc839",
        "c5e015d4949aa665c486cae6884beb00b97e3dea"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 24 04:08:42 2012 +0300"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 24 04:08:42 2012 +0300"
      },
      "message": "Merge tag \u0027kvm-3.7-2\u0027 of git://git.kernel.org/pub/scm/virt/kvm/kvm\n\nPull kvm fixes from Avi Kivity:\n \"KVM updates for 3.7-rc2\"\n\n* tag \u0027kvm-3.7-2\u0027 of git://git.kernel.org/pub/scm/virt/kvm/kvm:\n  KVM guest: exit idleness when handling KVM_PV_REASON_PAGE_NOT_PRESENT\n  KVM: apic: fix LDR calculation in x2apic mode\n  KVM: MMU: fix release noslot pfn\n"
    },
    {
      "commit": "f3ac1a4b667eeffcedf779f45529c95d66ddc71a",
      "tree": "9e4a688d44ccaa783865adfc88ac1ea6cf03e190",
      "parents": [
        "ecefbd94b834fa32559d854646d777c56749ef1c"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@linux.vnet.ibm.com",
        "time": "Tue Oct 16 20:07:03 2012 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon Oct 22 18:03:25 2012 +0200"
      },
      "message": "KVM: MMU: fix release noslot pfn\n\nWe can not directly call kvm_release_pfn_clean to release the pfn\nsince we can meet noslot pfn which is used to cache mmio info into\nspte\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@linux.vnet.ibm.com\u003e\nCc: stable@vger.kernel.org\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "d151f63f20133aef9dbda209faddebcddbfccf31",
      "tree": "c947a9f69b2cbeafdc5c994da1b5d12ec826b480",
      "parents": [
        "b6785def8368f9a69505797fcbd9f280d91b673e"
      ],
      "author": {
        "name": "Shuah Khan",
        "email": "shuah.khan@hp.com",
        "time": "Mon Oct 08 18:36:11 2012 -0600"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Wed Oct 10 15:45:40 2012 -0300"
      },
      "message": "KVM: change kvm_assign_device() to print return value when iommu_attach_device() fails\n\nChange existing kernel error message to include return value from\niommu_attach_device() when it fails. This will help debug device\nassignment failures more effectively.\n\nSigned-off-by: Shuah Khan \u003cshuah.khan@hp.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "b74ca3b3fd0fac08167ff96287cece56e8ca6f4d",
      "tree": "08d0ec23893a33feda18fccea521ac5a07bf3a9c",
      "parents": [
        "0ef8fa6962a01e72125b1c640045e8d56be8c43a"
      ],
      "author": {
        "name": "Takuya Yoshikawa",
        "email": "yoshikawa.takuya@oss.ntt.co.jp",
        "time": "Thu Oct 04 17:13:12 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Oct 06 03:04:56 2012 +0900"
      },
      "message": "kvm: replace test_and_set_bit_le() in mark_page_dirty_in_slot() with set_bit_le()\n\nNow that we have defined generic set_bit_le() we do not need to use\ntest_and_set_bit_le() for atomically setting a bit.\n\nSigned-off-by: Takuya Yoshikawa \u003cyoshikawa.takuya@oss.ntt.co.jp\u003e\nCc: Avi Kivity \u003cavi@redhat.com\u003e\nCc: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ecefbd94b834fa32559d854646d777c56749ef1c",
      "tree": "ca8958900ad9e208a8e5fb7704f1b66dc76131b4",
      "parents": [
        "ce57e981f2b996aaca2031003b3f866368307766",
        "3d11df7abbff013b811d5615320580cd5d9d7d31"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 04 09:30:33 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 04 09:30:33 2012 -0700"
      },
      "message": "Merge tag \u0027kvm-3.7-1\u0027 of git://git.kernel.org/pub/scm/virt/kvm/kvm\n\nPull KVM updates from Avi Kivity:\n \"Highlights of the changes for this release include support for vfio\n  level triggered interrupts, improved big real mode support on older\n  Intels, a streamlines guest page table walker, guest APIC speedups,\n  PIO optimizations, better overcommit handling, and read-only memory.\"\n\n* tag \u0027kvm-3.7-1\u0027 of git://git.kernel.org/pub/scm/virt/kvm/kvm: (138 commits)\n  KVM: s390: Fix vcpu_load handling in interrupt code\n  KVM: x86: Fix guest debug across vcpu INIT reset\n  KVM: Add resampling irqfds for level triggered interrupts\n  KVM: optimize apic interrupt delivery\n  KVM: MMU: Eliminate pointless temporary \u0027ac\u0027\n  KVM: MMU: Avoid access/dirty update loop if all is well\n  KVM: MMU: Eliminate eperm temporary\n  KVM: MMU: Optimize is_last_gpte()\n  KVM: MMU: Simplify walk_addr_generic() loop\n  KVM: MMU: Optimize pte permission checks\n  KVM: MMU: Update accessed and dirty bits after guest pagetable walk\n  KVM: MMU: Move gpte_access() out of paging_tmpl.h\n  KVM: MMU: Optimize gpte_access() slightly\n  KVM: MMU: Push clean gpte write protection out of gpte_access()\n  KVM: clarify kvmclock documentation\n  KVM: make processes waiting on vcpu mutex killable\n  KVM: SVM: Make use of asm.h\n  KVM: VMX: Make use of asm.h\n  KVM: VMX: Make lto-friendly\n  KVM: x86: lapic: Clean up find_highest_vector() and count_vectors()\n  ...\n\nConflicts:\n\tarch/s390/include/asm/processor.h\n\tarch/x86/kvm/i8259.c\n"
    },
    {
      "commit": "033d9959ed2dc1029217d4165f80a71702dc578e",
      "tree": "3d306316e44bdabce2e0bf2ef7e466e525f90b4c",
      "parents": [
        "974a847e00cf3ff1695e62b276892137893706ab",
        "7c6e72e46c9ea4a88f3f8ba96edce9db4bd48726"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 02 09:54:49 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 02 09:54:49 2012 -0700"
      },
      "message": "Merge branch \u0027for-3.7\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq\n\nPull workqueue changes from Tejun Heo:\n \"This is workqueue updates for v3.7-rc1.  A lot of activities this\n  round including considerable API and behavior cleanups.\n\n   * delayed_work combines a timer and a work item.  The handling of the\n     timer part has always been a bit clunky leading to confusing\n     cancelation API with weird corner-case behaviors.  delayed_work is\n     updated to use new IRQ safe timer and cancelation now works as\n     expected.\n\n   * Another deficiency of delayed_work was lack of the counterpart of\n     mod_timer() which led to cancel+queue combinations or open-coded\n     timer+work usages.  mod_delayed_work[_on]() are added.\n\n     These two delayed_work changes make delayed_work provide interface\n     and behave like timer which is executed with process context.\n\n   * A work item could be executed concurrently on multiple CPUs, which\n     is rather unintuitive and made flush_work() behavior confusing and\n     half-broken under certain circumstances.  This problem doesn\u0027t\n     exist for non-reentrant workqueues.  While non-reentrancy check\n     isn\u0027t free, the overhead is incurred only when a work item bounces\n     across different CPUs and even in simulated pathological scenario\n     the overhead isn\u0027t too high.\n\n     All workqueues are made non-reentrant.  This removes the\n     distinction between flush_[delayed_]work() and\n     flush_[delayed_]_work_sync().  The former is now as strong as the\n     latter and the specified work item is guaranteed to have finished\n     execution of any previous queueing on return.\n\n   * In addition to the various bug fixes, Lai redid and simplified CPU\n     hotplug handling significantly.\n\n   * Joonsoo introduced system_highpri_wq and used it during CPU\n     hotplug.\n\n  There are two merge commits - one to pull in IRQ safe timer from\n  tip/timers/core and the other to pull in CPU hotplug fixes from\n  wq/for-3.6-fixes as Lai\u0027s hotplug restructuring depended on them.\"\n\nFixed a number of trivial conflicts, but the more interesting conflicts\nwere silent ones where the deprecated interfaces had been used by new\ncode in the merge window, and thus didn\u0027t cause any real data conflicts.\n\nTejun pointed out a few of them, I fixed a couple more.\n\n* \u0027for-3.7\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq: (46 commits)\n  workqueue: remove spurious WARN_ON_ONCE(in_irq()) from try_to_grab_pending()\n  workqueue: use cwq_set_max_active() helper for workqueue_set_max_active()\n  workqueue: introduce cwq_set_max_active() helper for thaw_workqueues()\n  workqueue: remove @delayed from cwq_dec_nr_in_flight()\n  workqueue: fix possible stall on try_to_grab_pending() of a delayed work item\n  workqueue: use hotcpu_notifier() for workqueue_cpu_down_callback()\n  workqueue: use __cpuinit instead of __devinit for cpu callbacks\n  workqueue: rename manager_mutex to assoc_mutex\n  workqueue: WORKER_REBIND is no longer necessary for idle rebinding\n  workqueue: WORKER_REBIND is no longer necessary for busy rebinding\n  workqueue: reimplement idle worker rebinding\n  workqueue: deprecate __cancel_delayed_work()\n  workqueue: reimplement cancel_delayed_work() using try_to_grab_pending()\n  workqueue: use mod_delayed_work() instead of __cancel + queue\n  workqueue: use irqsafe timer for delayed_work\n  workqueue: clean up delayed_work initializers and add missing one\n  workqueue: make deferrable delayed_work initializer names consistent\n  workqueue: cosmetic whitespace updates for macro definitions\n  workqueue: deprecate system_nrt[_freezable]_wq\n  workqueue: deprecate flush[_delayed]_work_sync()\n  ...\n"
    },
    {
      "commit": "7a84428af7ca6a847f058c9ff244a18a2664fd1b",
      "tree": "e6c573c701736a75d618b670d66e98398b62769f",
      "parents": [
        "1e08ec4a130e2745d96df169e67c58df98a07311"
      ],
      "author": {
        "name": "Alex Williamson",
        "email": "alex.williamson@redhat.com",
        "time": "Fri Sep 21 11:58:03 2012 -0600"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Sep 23 13:50:15 2012 +0200"
      },
      "message": "KVM: Add resampling irqfds for level triggered interrupts\n\nTo emulate level triggered interrupts, add a resample option to\nKVM_IRQFD.  When specified, a new resamplefd is provided that notifies\nthe user when the irqchip has been resampled by the VM.  This may, for\ninstance, indicate an EOI.  Also in this mode, posting of an interrupt\nthrough an irqfd only asserts the interrupt.  On resampling, the\ninterrupt is automatically de-asserted prior to user notification.\nThis enables level triggered interrupts to be posted and re-enabled\nfrom vfio with no userspace intervention.\n\nAll resampling irqfds can make use of a single irq source ID, so we\nreserve a new one for this interface.\n\nSigned-off-by: Alex Williamson \u003calex.williamson@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "1e08ec4a130e2745d96df169e67c58df98a07311",
      "tree": "362647f5b0bac59e7fe93ce66775afac2cd7da79",
      "parents": [
        "1d86b5cc4c6d9a1be1458be3701ac9c915a9706f"
      ],
      "author": {
        "name": "Gleb Natapov",
        "email": "gleb@redhat.com",
        "time": "Thu Sep 13 17:19:24 2012 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Sep 20 15:05:26 2012 +0300"
      },
      "message": "KVM: optimize apic interrupt delivery\n\nMost interrupt are delivered to only one vcpu. Use pre-build tables to\nfind interrupt destination instead of looping through all vcpus. In case\nof logical mode loop only through vcpus in a logical cluster irq is sent\nto.\n\nSigned-off-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nAcked-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "9fc77441e5e1bf80b794cc546d2243ee9f4afb75",
      "tree": "4661976f4fea7606a54b3f5276c0ecb45760979c",
      "parents": [
        "7454766f7bead388251aedee35a478356a7f4e72"
      ],
      "author": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Sun Sep 16 11:50:30 2012 +0300"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Mon Sep 17 13:46:32 2012 -0300"
      },
      "message": "KVM: make processes waiting on vcpu mutex killable\n\nvcpu mutex can be held for unlimited time so\ntaking it with mutex_lock on an ioctl is wrong:\none process could be passed a vcpu fd and\ncall this ioctl on the vcpu used by another process,\nit will then be unkillable until the owner exits.\n\nCall mutex_lock_killable instead and return status.\nNote: mutex_lock_interruptible would be even nicer,\nbut I am not sure all users are prepared to handle EINTR\nfrom these ioctls. They might misinterpret it as an error.\n\nCleanup paths expect a vcpu that can\u0027t be used by\nany userspace so this will always succeed - catch bugs\nby calling BUG_ON.\n\nCatch callers that don\u0027t check return state by adding\n__must_check.\n\nSigned-off-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "3b4dc3a031110753b9ba36432dbd21f989fcee56",
      "tree": "919feea527d3c3708db62a1e6bf33846adfd787d",
      "parents": [
        "12d6e7538e2d418c08f082b1b44ffa5fb7270ed8"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Tue Aug 28 17:43:26 2012 -0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Sep 06 16:37:30 2012 +0300"
      },
      "message": "KVM: move postcommit flush to x86, as mmio sptes are x86 specific\n\nOther arches do not need this.\n\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n\nv2: fix incorrect deletion of mmio sptes on gpa move (noticed by Takuya)\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "12d6e7538e2d418c08f082b1b44ffa5fb7270ed8",
      "tree": "f548812d6c74416d6b4f2cae1d88c06cf56c0f96",
      "parents": [
        "2df72e9bc4c505d8357012f2924589f3d16f9d44"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Fri Aug 24 15:54:58 2012 -0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Sep 06 16:37:27 2012 +0300"
      },
      "message": "KVM: perform an invalid memslot step for gpa base change\n\nPPC must flush all translations before the new memory slot\nis visible.\n\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "2df72e9bc4c505d8357012f2924589f3d16f9d44",
      "tree": "b5b0e8d63005300dd06fd779658639645d55a67b",
      "parents": [
        "09941fbb712655cde9b350852be7a99a6f61a03f"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Fri Aug 24 15:54:57 2012 -0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Sep 06 16:37:25 2012 +0300"
      },
      "message": "KVM: split kvm_arch_flush_shadow\n\nIntroducing kvm_arch_flush_shadow_memslot, to invalidate the\ntranslations of a single memory slot.\n\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "66a03505a7fcc70187319ef2318832f4d3c451a6",
      "tree": "5d6b87ef9094fb11f9825b4702b29472496dafc5",
      "parents": [
        "c78aa4c4b94b5b148be576a9f1570e31fe282b46"
      ],
      "author": {
        "name": "Gavin Shan",
        "email": "shangw@linux.vnet.ibm.com",
        "time": "Fri Aug 24 16:50:28 2012 +0800"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Mon Aug 27 16:44:20 2012 -0300"
      },
      "message": "KVM: PPC: book3s: fix build error caused by gfn_to_hva_memslot()\n\nThe build error was caused by that builtin functions are calling\nthe functions implemented in modules. This error was introduced by\ncommit 4d8b81abc4 (\"KVM: introduce readonly memslot\").\n\nThe patch fixes the build error by moving function __gfn_to_hva_memslot()\nfrom kvm_main.c to kvm_host.h and making that \"inline\" so that the\nbuiltin function (kvmppc_h_enter) can use that.\n\nAcked-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nSigned-off-by: Gavin Shan \u003cshangw@linux.vnet.ibm.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "760a9a30adc558a75916a13902f38c6792fa8c4b",
      "tree": "a6a061b4f621845a8c3f762c518e557b56b27689",
      "parents": [
        "9acb172543aecb783e2e1e53e3f447d4c0f5c150"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@linux.intel.com",
        "time": "Wed Aug 22 14:34:11 2012 +0100"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Sun Aug 26 15:11:48 2012 -0300"
      },
      "message": "kvm: Fix nonsense handling of compat ioctl\n\nKVM_SET_SIGNAL_MASK passed a NULL argument leaves the on stack signal\nsets uninitialized. It then passes them through to\nkvm_vcpu_ioctl_set_sigmask.\n\nWe should be passing a NULL in this case not translated garbage.\n\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "4d8b81abc47b83a1939e59df2fdb0e98dfe0eedd",
      "tree": "47ea77cb4f77a2884a0478ecf84f62e32e5661ee",
      "parents": [
        "7068d0971524dd47a38f44f6020ba133432871ca"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@linux.vnet.ibm.com",
        "time": "Tue Aug 21 11:02:51 2012 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Aug 22 15:09:03 2012 +0300"
      },
      "message": "KVM: introduce readonly memslot\n\nIn current code, if we map a readonly memory space from host to guest\nand the page is not currently mapped in the host, we will get a fault\npfn and async is not allowed, then the vm will crash\n\nWe introduce readonly memory region to map ROM/ROMD to the guest, read access\nis happy for readonly memslot, write access on readonly memslot will cause\nKVM_EXIT_MMIO exit\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@linux.vnet.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "ca3a490c7de8472b514e2d635c052b1e0f8e1c9d",
      "tree": "7deb6eabd240ba306b0e4a21f27195c4d906960d",
      "parents": [
        "69552c295e3df1431801526b5b705a0e130c920d"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@linux.vnet.ibm.com",
        "time": "Tue Aug 21 11:01:50 2012 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Aug 22 15:08:59 2012 +0300"
      },
      "message": "KVM: introduce KVM_HVA_ERR_BAD\n\nThen, remove bad_hva and inline kvm_is_error_hva\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@linux.vnet.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "12ce13fea925ab629f2281be2b9b01cf647a86cd",
      "tree": "5e67a57d09c890017524017acc22c78bf8cf0548",
      "parents": [
        "2fc843117d64b31c20d36c6b625c0626c9a41a41"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@linux.vnet.ibm.com",
        "time": "Tue Aug 21 11:00:49 2012 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Aug 22 15:08:55 2012 +0300"
      },
      "message": "KVM: use \u0027writable\u0027 as a hint to map writable pfn\n\nIn current code, we always map writable pfn for the read fault, in order\nto support readonly memslot, we map writable pfn only if \u0027writable\u0027\nis not NULL\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@linux.vnet.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "2fc843117d64b31c20d36c6b625c0626c9a41a41",
      "tree": "29286338f67b88225a791203f2705471f438c8a2",
      "parents": [
        "86ab8cffb498077e926957f099b064db3751c1de"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@linux.vnet.ibm.com",
        "time": "Tue Aug 21 11:00:22 2012 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Aug 22 15:08:54 2012 +0300"
      },
      "message": "KVM: reorganize hva_to_pfn\n\nWe do too many things in hva_to_pfn, this patch reorganize the code,\nlet it be better readable\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@linux.vnet.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "86ab8cffb498077e926957f099b064db3751c1de",
      "tree": "95209c3c8c31eeb52774994d545a035efd444eb0",
      "parents": [
        "037d92dc5d4691ae7cf44699c55ca83b1b441992"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@linux.vnet.ibm.com",
        "time": "Tue Aug 21 10:59:53 2012 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Aug 22 15:08:53 2012 +0300"
      },
      "message": "KVM: introduce gfn_to_hva_read/kvm_read_hva/kvm_read_hva_atomic\n\nThis set of functions is only used to read data from host space, in the\nlater patch, we will only get a readonly hva in gfn_to_hva_read, and\nthe function name is a good hint to let gfn_to_hva_read to pair with\nkvm_read_hva()/kvm_read_hva_atomic()\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@linux.vnet.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "037d92dc5d4691ae7cf44699c55ca83b1b441992",
      "tree": "e3ec9d29b4312a11087c008551ea1ba54bdd7c13",
      "parents": [
        "67b29204c8c9ecb4b2799a06ab646eeb363a0fe6"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@linux.vnet.ibm.com",
        "time": "Tue Aug 21 10:59:12 2012 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Aug 22 15:08:52 2012 +0300"
      },
      "message": "KVM: introduce gfn_to_pfn_memslot_atomic\n\nIt can instead of hva_to_pfn_atomic\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@linux.vnet.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "a50d64d6590f470b712758598a077ef4fd0fc40a",
      "tree": "4e673d5f51e95e00c218abec66f8cccb9fa8664b",
      "parents": [
        "8e3d9d061b5d132217629e7b5635ff0c02488e65"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@linux.vnet.ibm.com",
        "time": "Tue Aug 21 10:58:13 2012 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Aug 22 15:08:50 2012 +0300"
      },
      "message": "KVM: fix missing check for memslot flags\n\nCheck flags when memslot is registered from userspace as Avi\u0027s suggestion\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@linux.vnet.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "43829731dd372d04d6706c51052b9dabab9ca356",
      "tree": "2cfa255dcec2f5cc867ab39cdcf4a25eae54845f",
      "parents": [
        "ae930e0f4e66fd540c6fbad9f1e2a7743d8b9afe"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Aug 20 14:51:24 2012 -0700"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Aug 20 14:51:24 2012 -0700"
      },
      "message": "workqueue: deprecate flush[_delayed]_work_sync()\n\nflush[_delayed]_work_sync() are now spurious.  Mark them deprecated\nand convert all users to flush[_delayed]_work().\n\nIf you\u0027re cc\u0027d and wondering what\u0027s going on: Now all workqueues are\nnon-reentrant and the regular flushes guarantee that the work item is\nnot pending or running on any CPU on return, so there\u0027s no reason to\nuse the sync flushes at all and they\u0027re going away.\n\nThis patch doesn\u0027t make any functional difference.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Russell King \u003clinux@arm.linux.org.uk\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: Ian Campbell \u003cian.campbell@citrix.com\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nCc: Mattia Dongili \u003cmalattia@linux.it\u003e\nCc: Kent Yoder \u003ckey@linux.vnet.ibm.com\u003e\nCc: David Airlie \u003cairlied@linux.ie\u003e\nCc: Jiri Kosina \u003cjkosina@suse.cz\u003e\nCc: Karsten Keil \u003cisdn@linux-pingi.de\u003e\nCc: Bryan Wu \u003cbryan.wu@canonical.com\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Alasdair Kergon \u003cagk@redhat.com\u003e\nCc: Mauro Carvalho Chehab \u003cmchehab@infradead.org\u003e\nCc: Florian Tobias Schandinat \u003cFlorianSchandinat@gmx.de\u003e\nCc: David Woodhouse \u003cdwmw2@infradead.org\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: linux-wireless@vger.kernel.org\nCc: Anton Vorontsov \u003ccbou@mail.ru\u003e\nCc: Sangbeom Kim \u003csbkim73@samsung.com\u003e\nCc: \"James E.J. Bottomley\" \u003cJames.Bottomley@HansenPartnership.com\u003e\nCc: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\nCc: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\nCc: Takashi Iwai \u003ctiwai@suse.de\u003e\nCc: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nCc: Petr Vandrovec \u003cpetr@vandrovec.name\u003e\nCc: Mark Fasheh \u003cmfasheh@suse.com\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: Avi Kivity \u003cavi@redhat.com\u003e \n"
    },
    {
      "commit": "28a6fdabb3ea775d3d707afd9d2728b3ced2c34d",
      "tree": "13e8ec656afd83c2a8064256668ae665c81d4912",
      "parents": [
        "dbcb4e798072d114fe68813f39a9efd239ab99c0"
      ],
      "author": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Tue Aug 14 19:20:28 2012 +0300"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Tue Aug 14 22:35:22 2012 -0300"
      },
      "message": "KVM: x86: drop parameter validation in ioapic/pic\n\nWe validate irq pin number when routing is setup, so\ncode handling illegal irq # in pic and ioapic on each injection\nis never called.\nDrop it, replace with BUG_ON to catch out of bounds access bugs.\n\nSigned-off-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "32cad84f44d186654492f1a50a1424c8906ccbd9",
      "tree": "8a5e7d77edac00a763d3e48aa4d7bf296e671e2b",
      "parents": [
        "cb9aaa30b133574b646d9d4766ef08a843211393"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@linux.vnet.ibm.com",
        "time": "Fri Aug 03 15:42:52 2012 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon Aug 06 16:04:58 2012 +0300"
      },
      "message": "KVM: do not release the error page\n\nAfter commit a2766325cf9f9, the error page is replaced by the\nerror code, it need not be released anymore\n\n[ The patch has been compiling tested for powerpc ]\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@linux.vnet.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "cb9aaa30b133574b646d9d4766ef08a843211393",
      "tree": "214d3b1dd115573d1aea11d2f4dafe525a1ac674",
      "parents": [
        "6cede2e6794be6b0649f62d3681e0c4aff5a9270"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@linux.vnet.ibm.com",
        "time": "Fri Aug 03 15:42:10 2012 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon Aug 06 16:04:57 2012 +0300"
      },
      "message": "KVM: do not release the error pfn\n\nAfter commit a2766325cf9f9, the error pfn is replaced by the\nerror code, it need not be released anymore\n\n[ The patch has been compiling tested for powerpc ]\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@linux.vnet.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "6cede2e6794be6b0649f62d3681e0c4aff5a9270",
      "tree": "b05fdcfd0db7974c7ed7f036d07520ac4c12202f",
      "parents": [
        "9a592a953880fd6981955e69c1476ce541d9bd16"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@linux.vnet.ibm.com",
        "time": "Fri Aug 03 15:41:22 2012 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon Aug 06 16:04:55 2012 +0300"
      },
      "message": "KVM: introduce KVM_ERR_PTR_BAD_PAGE\n\nIt is used to eliminate the overload of function call and cleanup\nthe code\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@linux.vnet.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "83f09228d068911ac8797ae8d6febef886698936",
      "tree": "c4bfc135604c56f91594c44d56dcf03632d0a3e5",
      "parents": [
        "950e95097b1c6573ef5e21061ccb56964278c45b"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@linux.vnet.ibm.com",
        "time": "Fri Aug 03 15:39:59 2012 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon Aug 06 16:04:53 2012 +0300"
      },
      "message": "KVM: inline is_*_pfn functions\n\nThese functions are exported and can not inline, move them\nto kvm_host.h to eliminate the overload of function call\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@linux.vnet.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "950e95097b1c6573ef5e21061ccb56964278c45b",
      "tree": "d5434cf13c46f2caa6a0cf5d9b662efeb9c93c41",
      "parents": [
        "e6c1502b3f933ace20c711ce34ab696f5a67086d"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@linux.vnet.ibm.com",
        "time": "Fri Aug 03 15:39:19 2012 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon Aug 06 16:04:52 2012 +0300"
      },
      "message": "KVM: introduce KVM_PFN_ERR_BAD\n\nThen, remove get_bad_pfn\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@linux.vnet.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "e6c1502b3f933ace20c711ce34ab696f5a67086d",
      "tree": "932090452960a599281c3cde96c59917d258f891",
      "parents": [
        "6c8ee57be9350c5c2cafdd6a99d0462d528676e2"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@linux.vnet.ibm.com",
        "time": "Fri Aug 03 15:38:36 2012 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon Aug 06 16:04:52 2012 +0300"
      },
      "message": "KVM: introduce KVM_PFN_ERR_HWPOISON\n\nThen, get_hwpoison_pfn and is_hwpoison_pfn can be removed\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@linux.vnet.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "6c8ee57be9350c5c2cafdd6a99d0462d528676e2",
      "tree": "b2ce398a6613895bc94b975ab00f787baf830b2d",
      "parents": [
        "16b854c889673d988285719bc020543a730f9ac6"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@linux.vnet.ibm.com",
        "time": "Fri Aug 03 15:37:54 2012 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon Aug 06 16:04:50 2012 +0300"
      },
      "message": "KVM: introduce KVM_PFN_ERR_FAULT\n\nAfter that, the exported and un-inline function, get_fault_pfn,\ncan be removed\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@linux.vnet.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "16b854c889673d988285719bc020543a730f9ac6",
      "tree": "03b85cb0aada8a8fa4fd538d9b0fddc5460df495",
      "parents": [
        "d89cc617b954aff4030fce178f7d86f59aaf713d"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@linux.vnet.ibm.com",
        "time": "Fri Aug 03 15:36:52 2012 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon Aug 06 16:04:46 2012 +0300"
      },
      "message": "KVM: iommu: fix releasing unmapped page\n\nThere are two bugs:\n- the \u0027error page\u0027 is forgot to be released\n  [ it is unneeded after commit a2766325cf9f9, for backport, we\n    still do kvm_release_pfn_clean for the error pfn ]\n\n- guest pages are always released regardless of the unmapped page\n  (e,g, caused by hwpoison)\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@linux.vnet.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "d89cc617b954aff4030fce178f7d86f59aaf713d",
      "tree": "d04f2ccdddd1d718044f47fdf8442054d87799f6",
      "parents": [
        "65fbe37c42ed75604c9a770639209dcee162ebe7"
      ],
      "author": {
        "name": "Takuya Yoshikawa",
        "email": "yoshikawa.takuya@oss.ntt.co.jp",
        "time": "Wed Aug 01 18:03:28 2012 +0900"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon Aug 06 12:47:30 2012 +0300"
      },
      "message": "KVM: Push rmap into kvm_arch_memory_slot\n\nTwo reasons:\n - x86 can integrate rmap and rmap_pde and remove heuristics in\n   __gfn_to_rmap().\n - Some architectures do not need rmap.\n\nSince rmap is one of the most memory consuming stuff in KVM, ppc\u0027d\nbetter restrict the allocation to Book3S HV.\n\nSigned-off-by: Takuya Yoshikawa \u003cyoshikawa.takuya@oss.ntt.co.jp\u003e\nAcked-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "23d43cf998275bc97437931c0cdee1df2c1aa3ca",
      "tree": "cc1a76fefb98f66e7807d54049ddaf008db055ac",
      "parents": [
        "99245b507dc3b1b2815d6a6cb4e94a6b7018a24b"
      ],
      "author": {
        "name": "Christoffer Dall",
        "email": "c.dall@virtualopensystems.com",
        "time": "Tue Jul 24 08:51:20 2012 -0400"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Jul 26 12:23:25 2012 +0300"
      },
      "message": "KVM: Move KVM_IRQ_LINE to arch-generic code\n\nHandle KVM_IRQ_LINE and KVM_IRQ_LINE_STATUS in the generic\nkvm_vm_ioctl() function and call into kvm_vm_ioctl_irq_line().\n\nThis is even more relevant when KVM/ARM also uses this ioctl.\n\nSigned-off-by: Christoffer Dall \u003cc.dall@virtualopensystems.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "a2766325cf9f9e36d1225145f1ce1b066f001837",
      "tree": "a00cefe5c199c7e4845294f38475c3abd90e9419",
      "parents": [
        "2b4b5af8f8e7296bc27c52023ab6bb8f53db3a2b"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@linux.vnet.ibm.com",
        "time": "Thu Jul 26 11:58:59 2012 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Jul 26 11:55:34 2012 +0300"
      },
      "message": "KVM: remove dummy pages\n\nCurrently, kvm allocates some pages and use them as error indicators,\nit wastes memory and is not good for scalability\n\nBase on Avi\u0027s suggestion, we use the error codes instead of these pages\nto indicate the error conditions\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@linux.vnet.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "2b4b5af8f8e7296bc27c52023ab6bb8f53db3a2b",
      "tree": "fc0f1de2dc0c01a43cc45c85737b54953421f93c",
      "parents": [
        "3b2bd2f800ba9488d9ad493216a0c07d71055b56"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@linux.vnet.ibm.com",
        "time": "Thu Jul 26 11:58:17 2012 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Jul 26 11:55:31 2012 +0300"
      },
      "message": "KVM: use kvm_release_page_clean to release the page\n\nIn kvm_async_pf_wakeup_all, it uses bad_page to generate broadcast wakeup,\nand uses put_page to release bad_page, the work depends on the fact that\nbad_page is the normal page. But we will use the error code instead of\nbad_page, so use kvm_release_page_clean to release the page which will\nrelease the error code properly\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@linux.vnet.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "e9bda6f6f902e6b55d9baceb5523468a048cbe56",
      "tree": "bf09cc165da1197cd34967da0593d08b9a37c0f3",
      "parents": [
        "bdc0077af574800d24318b6945cf2344e8dbb050",
        "06e48c510aa37f6e791602e6420422ea7071fe94"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Jul 26 11:54:21 2012 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Jul 26 11:54:21 2012 +0300"
      },
      "message": "Merge branch \u0027queue\u0027 into next\n\nMerge patches queued during the run-up to the merge window.\n\n* queue: (25 commits)\n  KVM: Choose better candidate for directed yield\n  KVM: Note down when cpu relax intercepted or pause loop exited\n  KVM: Add config to support ple or cpu relax optimzation\n  KVM: switch to symbolic name for irq_states size\n  KVM: x86: Fix typos in pmu.c\n  KVM: x86: Fix typos in lapic.c\n  KVM: x86: Fix typos in cpuid.c\n  KVM: x86: Fix typos in emulate.c\n  KVM: x86: Fix typos in x86.c\n  KVM: SVM: Fix typos\n  KVM: VMX: Fix typos\n  KVM: remove the unused parameter of gfn_to_pfn_memslot\n  KVM: remove is_error_hpa\n  KVM: make bad_pfn static to kvm_main.c\n  KVM: using get_fault_pfn to get the fault pfn\n  KVM: MMU: track the refcount when unmap the page\n  KVM: x86: remove unnecessary mark_page_dirty\n  KVM: MMU: Avoid handling same rmap_pde in kvm_handle_hva_range()\n  KVM: MMU: Push trace_kvm_age_page() into kvm_age_rmapp()\n  KVM: MMU: Add memslot parameter to hva handlers\n  ...\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "5fecc9d8f59e765c2a48379dd7c6f5cf88c7d75a",
      "tree": "d1fc25d9650d3ac24591bba6f5e2e7a1afc54796",
      "parents": [
        "3c4cfadef6a1665d9cd02a543782d03d3e6740c6",
        "1a577b72475d161b6677c05abe57301362023bb2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 24 12:01:20 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 24 12:01:20 2012 -0700"
      },
      "message": "Merge tag \u0027kvm-3.6-1\u0027 of git://git.kernel.org/pub/scm/virt/kvm/kvm\n\nPull KVM updates from Avi Kivity:\n \"Highlights include\n  - full big real mode emulation on pre-Westmere Intel hosts (can be\n    disabled with emulate_invalid_guest_state\u003d0)\n  - relatively small ppc and s390 updates\n  - PCID/INVPCID support in guests\n  - EOI avoidance; 3.6 guests should perform better on 3.6 hosts on\n    interrupt intensive workloads)\n  - Lockless write faults during live migration\n  - EPT accessed/dirty bits support for new Intel processors\"\n\nFix up conflicts in:\n - Documentation/virtual/kvm/api.txt:\n\n   Stupid subchapter numbering, added next to each other.\n\n - arch/powerpc/kvm/booke_interrupts.S:\n\n   PPC asm changes clashing with the KVM fixes\n\n - arch/s390/include/asm/sigp.h, arch/s390/kvm/sigp.c:\n\n   Duplicated commits through the kvm tree and the s390 tree, with\n   subsequent edits in the KVM tree.\n\n* tag \u0027kvm-3.6-1\u0027 of git://git.kernel.org/pub/scm/virt/kvm/kvm: (93 commits)\n  KVM: fix race with level interrupts\n  x86, hyper: fix build with !CONFIG_KVM_GUEST\n  Revert \"apic: fix kvm build on UP without IOAPIC\"\n  KVM guest: switch to apic_set_eoi_write, apic_write\n  apic: add apic_set_eoi_write for PV use\n  KVM: VMX: Implement PCID/INVPCID for guests with EPT\n  KVM: Add x86_hyper_kvm to complete detect_hypervisor_platform check\n  KVM: PPC: Critical interrupt emulation support\n  KVM: PPC: e500mc: Fix tlbilx emulation for 64-bit guests\n  KVM: PPC64: booke: Set interrupt computation mode for 64-bit host\n  KVM: PPC: bookehv: Add ESR flag to Data Storage Interrupt\n  KVM: PPC: bookehv64: Add support for std/ld emulation.\n  booke: Added crit/mc exception handler for e500v2\n  booke/bookehv: Add host crit-watchdog exception support\n  KVM: MMU: document mmu-lock and fast page fault\n  KVM: MMU: fix kvm_mmu_pagetable_walk tracepoint\n  KVM: MMU: trace fast page fault\n  KVM: MMU: fast path of handling guest page fault\n  KVM: MMU: introduce SPTE_MMU_WRITEABLE bit\n  KVM: MMU: fold tlb flush judgement into mmu_spte_update\n  ...\n"
    },
    {
      "commit": "06e48c510aa37f6e791602e6420422ea7071fe94",
      "tree": "083e13a1a1b58d32369adc6eaa42c2a22d17d95d",
      "parents": [
        "4c088493c8d07e4e27bad53a99dcfdc14cdf45f8"
      ],
      "author": {
        "name": "Raghavendra K T",
        "email": "raghavendra.kt@linux.vnet.ibm.com",
        "time": "Thu Jul 19 15:17:52 2012 +0530"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon Jul 23 13:02:37 2012 +0300"
      },
      "message": "KVM: Choose better candidate for directed yield\n\nCurrently, on a large vcpu guests, there is a high probability of\nyielding to the same vcpu who had recently done a pause-loop exit or\ncpu relax intercepted. Such a yield can lead to the vcpu spinning\nagain and hence degrade the performance.\n\nThe patchset keeps track of the pause loop exit/cpu relax interception\nand gives chance to a vcpu which:\n (a) Has not done pause loop exit or cpu relax intercepted at all\n     (probably he is preempted lock-holder)\n (b) Was skipped in last iteration because it did pause loop exit or\n     cpu relax intercepted, and probably has become eligible now\n     (next eligible lock holder)\n\nSigned-off-by: Raghavendra K T \u003craghavendra.kt@linux.vnet.ibm.com\u003e\nReviewed-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nReviewed-by: Rik van Riel \u003criel@redhat.com\u003e\nTested-by: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e # on s390x\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "4c088493c8d07e4e27bad53a99dcfdc14cdf45f8",
      "tree": "b90cfa07e207bb938b6997ae62c774c0624b0dd6",
      "parents": [
        "f2a743473194a1ad44a85f8b63aeef9d63e5bf47"
      ],
      "author": {
        "name": "Raghavendra K T",
        "email": "raghavendra.kt@linux.vnet.ibm.com",
        "time": "Wed Jul 18 19:07:46 2012 +0530"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon Jul 23 13:01:52 2012 +0300"
      },
      "message": "KVM: Note down when cpu relax intercepted or pause loop exited\n\nNoting pause loop exited vcpu or cpu relax intercepted helps in\nfiltering right candidate to yield. Wrong selection of vcpu;\ni.e., a vcpu that just did a pl-exit or cpu relax intercepted may\ncontribute to performance degradation.\n\nSigned-off-by: Raghavendra K T \u003craghavendra.kt@linux.vnet.ibm.com\u003e\nReviewed-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nReviewed-by: Rik van Riel \u003criel@redhat.com\u003e\nTested-by: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e # on s390x\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "f2a743473194a1ad44a85f8b63aeef9d63e5bf47",
      "tree": "e0051018384596656ffa5892fafcf4b1665bfdbe",
      "parents": [
        "93b6547e2219784b2df790353e083e0bdbebd2c2"
      ],
      "author": {
        "name": "Raghavendra K T",
        "email": "raghavendra.kt@linux.vnet.ibm.com",
        "time": "Wed Jul 18 19:07:32 2012 +0530"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon Jul 23 13:00:53 2012 +0300"
      },
      "message": "KVM: Add config to support ple or cpu relax optimzation\n\nSuggested-by: Avi Kivity \u003cavi@redhat.com\u003e\nSigned-off-by: Raghavendra K T \u003craghavendra.kt@linux.vnet.ibm.com\u003e\nReviewed-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nReviewed-by: Rik van Riel \u003criel@redhat.com\u003e\nTested-by: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e # on s390x\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "93b6547e2219784b2df790353e083e0bdbebd2c2",
      "tree": "b84f3d4fdc919f58687e54c65d5738e0c0be7a6e",
      "parents": [
        "c7a7062fa00db7dc66280a72cd9dad0f3595bc66"
      ],
      "author": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Thu Jul 19 13:55:53 2012 +0300"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Fri Jul 20 16:12:16 2012 -0300"
      },
      "message": "KVM: switch to symbolic name for irq_states size\n\nUse PIC_NUM_PINS instead of hard-coded 16 for pic pins.\n\nSigned-off-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "1a577b72475d161b6677c05abe57301362023bb2",
      "tree": "d8a9910f0016ada479c5a88c1a330b5e1cbc7ef1",
      "parents": [
        "d63d3e6217c49b81d74141b7920bbe5950532432"
      ],
      "author": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Thu Jul 19 13:45:20 2012 +0300"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Fri Jul 20 16:12:00 2012 -0300"
      },
      "message": "KVM: fix race with level interrupts\n\nWhen more than 1 source id is in use for the same GSI, we have the\nfollowing race related to handling irq_states race:\n\nCPU 0 clears bit 0. CPU 0 read irq_state as 0. CPU 1 sets level to 1.\nCPU 1 calls kvm_ioapic_set_irq(1). CPU 0 calls kvm_ioapic_set_irq(0).\nNow ioapic thinks the level is 0 but irq_state is not 0.\n\nFix by performing all irq_states bitmap handling under pic/ioapic lock.\nThis also removes the need for atomics with irq_states handling.\n\nReported-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nSigned-off-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "d566104853361cc377c61f70e41c1ad3d44b86c6",
      "tree": "6b77f5e4f299bfb0d6c3fa7b3768e7299539f8af",
      "parents": [
        "f340a51b7e41abbe92ae3a327c0020974a059f95"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@linux.vnet.ibm.com",
        "time": "Tue Jul 17 21:56:16 2012 +0800"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Thu Jul 19 21:25:24 2012 -0300"
      },
      "message": "KVM: remove the unused parameter of gfn_to_pfn_memslot\n\nThe parameter, \u0027kvm\u0027, is not used in gfn_to_pfn_memslot, we can happily remove\nit\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@linux.vnet.ibm.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "ca0565f5736e67af3172d188577b57e303dd082a",
      "tree": "bef560242641ce58456cbee2b6c0771bf2b1f7a1",
      "parents": [
        "903816fa4d016e20ec71a1a97700cfcdda115580"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@linux.vnet.ibm.com",
        "time": "Tue Jul 17 21:54:52 2012 +0800"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Thu Jul 19 21:17:10 2012 -0300"
      },
      "message": "KVM: make bad_pfn static to kvm_main.c\n\nbad_pfn is not used out of kvm_main.c, so mark it static, also move it near\nhwpoison_pfn and fault_pfn\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@linux.vnet.ibm.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "903816fa4d016e20ec71a1a97700cfcdda115580",
      "tree": "c7208520a6de2f0170ce181517d3ea9479eb2eb7",
      "parents": [
        "86fde74cf5b829627b37ca86322acfdd99b524b8"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@linux.vnet.ibm.com",
        "time": "Tue Jul 17 21:54:11 2012 +0800"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Thu Jul 19 21:15:25 2012 -0300"
      },
      "message": "KVM: using get_fault_pfn to get the fault pfn\n\nUsing get_fault_pfn to cleanup the code\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@linux.vnet.ibm.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    }
  ],
  "next": "b3ae2096974b12c3af2ad1a4e7716b084949867f"
}
