)]}'
{
  "log": [
    {
      "commit": "186bab1ce04f99153b7eeb3348438b654c24c24b",
      "tree": "824b57e459b848e0aef94ef98ecf79c4b5c93381",
      "parents": [
        "3066616ce23aad5719c23a0f21f32676402cb44b"
      ],
      "author": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Tue Apr 17 14:35:49 2012 -0400"
      },
      "committer": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Thu Apr 19 15:12:49 2012 -0400"
      },
      "message": "xen/resume: Fix compile warnings.\n\nlinux/drivers/xen/manage.c: In function \u0027do_suspend\u0027:\nlinux/drivers/xen/manage.c:160:5: warning: \u0027si.cancelled\u0027 may be used uninitialized in this function\n\nSigned-off-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\n"
    },
    {
      "commit": "cf579dfb82550e34de7ccf3ef090d8b834ccd3a9",
      "tree": "764ed72670c18c86d3eb9650025c56d661a31315",
      "parents": [
        "181e9bdef37bfcaa41f3ab6c948a2a0d60a268b5"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Jan 29 20:38:29 2012 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Jan 29 20:38:29 2012 +0100"
      },
      "message": "PM / Sleep: Introduce \"late suspend\" and \"early resume\" of devices\n\nThe current device suspend/resume phases during system-wide power\ntransitions appear to be insufficient for some platforms that want\nto use the same callback routines for saving device states and\nrelated operations during runtime suspend/resume as well as during\nsystem suspend/resume.  In principle, they could point their\n.suspend_noirq() and .resume_noirq() to the same callback routines\nas their .runtime_suspend() and .runtime_resume(), respectively,\nbut at least some of them require device interrupts to be enabled\nwhile the code in those routines is running.\n\nIt also makes sense to have device suspend-resume callbacks that will\nbe executed with runtime PM disabled and with device interrupts\nenabled in case someone needs to run some special code in that\ncontext during system-wide power transitions.\n\nApart from this, .suspend_noirq() and .resume_noirq() were introduced\nas a workaround for drivers using shared interrupts and failing to\nprevent their interrupt handlers from accessing suspended hardware.\nIt appears to be better not to use them for other porposes, or we may\nhave to deal with some serious confusion (which seems to be happening\nalready).\n\nFor the above reasons, introduce new device suspend/resume phases,\n\"late suspend\" and \"early resume\" (and analogously for hibernation)\nwhose callback will be executed with runtime PM disabled and with\ndevice interrupts enabled and whose callback pointers generally may\npoint to runtime suspend/resume routines.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nReviewed-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nReviewed-by: Kevin Hilman \u003ckhilman@ti.com\u003e\n"
    },
    {
      "commit": "63c9744b9a53b8113b6d33ca361452b28f2ec391",
      "tree": "9f5b2054dc963395378215dd7318137c0ed48ce3",
      "parents": [
        "72ee5112a0007c958dc57f4a1469c4bbd2cf4d11"
      ],
      "author": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Sun Jul 10 13:22:07 2011 -0400"
      },
      "committer": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Mon Oct 31 19:32:11 2011 -0400"
      },
      "message": "xen: Add export.h for THIS_MODULE/EXPORT_SYMBOL to various xen users.\n\nThings like THIS_MODULE and EXPORT_SYMBOL were simply everywhere\nbecause module.h was also everywhere.  But we are fixing the latter.\nSo we need to call out the real users in advance.\n\nSigned-off-by: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\n"
    },
    {
      "commit": "2e711c04dbbf7a7732a3f7073b1fc285d12b369d",
      "tree": "dbc06a3fff744144d7937a205a91fd8ce71585d4",
      "parents": [
        "f5a592f7d74e38c5007876c731e6bf5580072e63"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Apr 26 19:15:07 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed May 11 21:37:15 2011 +0200"
      },
      "message": "PM: Remove sysdev suspend, resume and shutdown operations\n\nSince suspend, resume and shutdown operations in struct sysdev_class\nand struct sysdev_driver are not used any more, remove them.  Also\ndrop sysdev_suspend(), sysdev_resume() and sysdev_shutdown() used\nfor executing those operations and modify all of their users\naccordingly.  This reduces kernel code size quite a bit and reduces\nits complexity.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "19234c0819da0e043a02710488dfd9b242b42eba",
      "tree": "c55331dd010e5fe257e001261f1a31f53f62dff4",
      "parents": [
        "2ca6f62f595c01f689b269db6736de5544da7667"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Apr 20 00:36:11 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Apr 20 00:36:11 2011 +0200"
      },
      "message": "PM: Add missing syscore_suspend() and syscore_resume() calls\n\nDevice suspend/resume infrastructure is used not only by the suspend\nand hibernate code in kernel/power, but also by APM, Xen and the\nkexec jump feature.  However, commit 40dc166cb5dddbd36aa4ad11c03915ea\n(PM / Core: Introduce struct syscore_ops for core subsystems PM)\nfailed to add syscore_suspend() and syscore_resume() calls to that\ncode, which generally leads to breakage when the features in question\nare used.\n\nTo fix this problem, add the missing syscore_suspend() and\nsyscore_resume() calls to arch/x86/kernel/apm_32.c, kernel/kexec.c\nand drivers/xen/manage.c.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nAcked-by: Ian Campbell \u003cian.campbell@citrix.com\u003e\n"
    },
    {
      "commit": "1f112cee07b314e244ee9e71d9c1e6950dc13327",
      "tree": "e089e646c78701e37b4ebe00db36082e47cab2d5",
      "parents": [
        "b42282e5a05018ecdc0d63a4ad530b0999785912"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Mon Apr 11 22:54:42 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Mon Apr 11 22:54:42 2011 +0200"
      },
      "message": "PM / Hibernate: Introduce CONFIG_HIBERNATE_CALLBACKS\n\nXen save/restore is going to use hibernate device callbacks for\nquiescing devices and putting them back to normal operations and it\nwould need to select CONFIG_HIBERNATION for this purpose.  However,\nthat also would cause the hibernate interfaces for user space to be\nenabled, which might confuse user space, because the Xen kernels\ndon\u0027t support hibernation.  Moreover, it would be wasteful, as it\nwould make the Xen kernels include a substantial amount of code that\nthey would never use.\n\nTo address this issue introduce new power management Kconfig option\nCONFIG_HIBERNATE_CALLBACKS, such that it will only select the code\nthat is necessary for the hibernate device callbacks to work and make\nCONFIG_HIBERNATION select it.  Then, Xen save/restore will be able to\nselect CONFIG_HIBERNATE_CALLBACKS without dragging the entire\nhibernate code along with it.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nTested-by: Shriram Rajagopalan \u003crshriram@cs.ubc.ca\u003e\n"
    },
    {
      "commit": "b3e96c0c756211e805c6941d4a6e5f6e1995cb6b",
      "tree": "1e11a95ae6d234f98e20f40dcc89cf28df229ca4",
      "parents": [
        "c7853aea57d8e850b0979e7bdcbcabdcbbdd9e37"
      ],
      "author": {
        "name": "Shriram Rajagopalan",
        "email": "rshriram@cs.ubc.ca",
        "time": "Tue Feb 22 14:59:06 2011 -0800"
      },
      "committer": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Wed Mar 16 13:42:56 2011 -0400"
      },
      "message": "xen: use freeze/restore/thaw PM events for suspend/resume/chkpt\n\nUse PM_FREEZE, PM_THAW and PM_RESTORE power events for\nsuspend/resume/checkpoint functionality, instead of PM_SUSPEND\nand PM_RESUME. Use of these pm events fixes the Xen Guest hangup\nwhen taking checkpoints. When a suspend event is cancelled\n(while taking checkpoints once/continuously), we use PM_THAW\ninstead of PM_RESUME. PM_RESTORE is used when suspend is not\ncancelled. See Documentation/power/devices.txt and linux/pm.h\nfor more info about freeze, thaw and restore. The sequence of\npm events in a suspend-resume scenario is shown below.\n\n        dpm_suspend_start(PMSG_FREEZE);\n\n                dpm_suspend_noirq(PMSG_FREEZE);\n\n                       sysdev_suspend(PMSG_FREEZE);\n                       cancelled \u003d suspend_hypercall()\n                       sysdev_resume();\n\n               dpm_resume_noirq(cancelled ? PMSG_THAW : PMSG_RESTORE);\n\n       dpm_resume_end(cancelled ? PMSG_THAW : PMSG_RESTORE);\n\nAcked-by: Ian Campbell \u003cian.campbell@citrix.com\u003e\nSigned-off-by: Shriram Rajagopalan \u003crshriram@cs.ubc.ca\u003e\nSigned-off-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\n"
    },
    {
      "commit": "b056b6a0144de90707cd22cf7b4f60bf69c86d59",
      "tree": "11d86bf4a7acb267ee72a1e8f4c92622d93f7f97",
      "parents": [
        "55fb4acef7089a6d4d93ed8caae6c258d06cfaf7"
      ],
      "author": {
        "name": "Ian Campbell",
        "email": "ian.campbell@citrix.com",
        "time": "Thu Feb 17 11:04:20 2011 +0000"
      },
      "committer": {
        "name": "Stefano Stabellini",
        "email": "stefano.stabellini@eu.citrix.com",
        "time": "Fri Feb 25 16:43:14 2011 +0000"
      },
      "message": "xen: suspend: remove xen_hvm_suspend\n\nIt is now identical to xen_suspend, the differences are encapsulated\nin the suspend_info struct.\n\nSigned-off-by: Ian Campbell \u003cian.campbell@citrix.com\u003e\nReviewed-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\n"
    },
    {
      "commit": "55fb4acef7089a6d4d93ed8caae6c258d06cfaf7",
      "tree": "6fe5a815cbbdea8a1067b875b2dc730baa2f7c51",
      "parents": [
        "07af38102fc4f260cc5a2418ec833707f53cdf70"
      ],
      "author": {
        "name": "Ian Campbell",
        "email": "ian.campbell@citrix.com",
        "time": "Thu Feb 17 11:04:20 2011 +0000"
      },
      "committer": {
        "name": "Stefano Stabellini",
        "email": "stefano.stabellini@eu.citrix.com",
        "time": "Fri Feb 25 16:43:13 2011 +0000"
      },
      "message": "xen: suspend: pull pre/post suspend hooks out into suspend_info\n\nSigned-off-by: Ian Campbell \u003cian.campbell@citrix.com\u003e\nReviewed-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\n"
    },
    {
      "commit": "07af38102fc4f260cc5a2418ec833707f53cdf70",
      "tree": "8fb2020dd90901c68bd07a99d89b38b45bdbfcdd",
      "parents": [
        "82043bb60d24d2897074905c94be5a53071e8913"
      ],
      "author": {
        "name": "Ian Campbell",
        "email": "ian.campbell@citrix.com",
        "time": "Thu Feb 17 11:04:20 2011 +0000"
      },
      "committer": {
        "name": "Stefano Stabellini",
        "email": "stefano.stabellini@eu.citrix.com",
        "time": "Fri Feb 25 16:43:13 2011 +0000"
      },
      "message": "xen: suspend: move arch specific pre/post suspend hooks into generic hooks\n\nSigned-off-by: Ian Campbell \u003cian.campbell@citrix.com\u003e\nReviewed-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\n"
    },
    {
      "commit": "82043bb60d24d2897074905c94be5a53071e8913",
      "tree": "c8a2f269465d03da6268e96c4f95ec5cd6d2b61a",
      "parents": [
        "03c8142bd2fb3b87effa6ecb2f8957be588bc85f"
      ],
      "author": {
        "name": "Ian Campbell",
        "email": "ian.campbell@citrix.com",
        "time": "Thu Feb 17 11:04:20 2011 +0000"
      },
      "committer": {
        "name": "Stefano Stabellini",
        "email": "stefano.stabellini@eu.citrix.com",
        "time": "Fri Feb 25 16:43:12 2011 +0000"
      },
      "message": "xen: suspend: refactor non-arch specific pre/post suspend hooks\n\nSigned-off-by: Ian Campbell \u003cian.campbell@citrix.com\u003e\nReviewed-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\n"
    },
    {
      "commit": "03c8142bd2fb3b87effa6ecb2f8957be588bc85f",
      "tree": "0cb78452092ae9252cd080dcee85c7c60a47e11e",
      "parents": [
        "36b401e2c2788c7b4881115ddbbff603fe4cf78d"
      ],
      "author": {
        "name": "Ian Campbell",
        "email": "ian.campbell@citrix.com",
        "time": "Thu Feb 17 11:04:20 2011 +0000"
      },
      "committer": {
        "name": "Stefano Stabellini",
        "email": "stefano.stabellini@eu.citrix.com",
        "time": "Fri Feb 25 16:43:12 2011 +0000"
      },
      "message": "xen: suspend: add \"arch\" to pre/post suspend hooks\n\nxen_pre_device_suspend is unused on ia64.\n\nSigned-off-by: Ian Campbell \u003cian.campbell@citrix.com\u003e\nReviewed-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\n"
    },
    {
      "commit": "36b401e2c2788c7b4881115ddbbff603fe4cf78d",
      "tree": "b6e3a794e84619d661ebd1d01216ce7dbe9d2e83",
      "parents": [
        "ceb180294790c8a6a437533488616f6b591b49d0"
      ],
      "author": {
        "name": "Ian Campbell",
        "email": "ian.campbell@citrix.com",
        "time": "Thu Feb 17 11:04:20 2011 +0000"
      },
      "committer": {
        "name": "Stefano Stabellini",
        "email": "stefano.stabellini@eu.citrix.com",
        "time": "Fri Feb 25 16:43:11 2011 +0000"
      },
      "message": "xen: suspend: pass extra hypercall argument via suspend_info struct\n\nSigned-off-by: Ian Campbell \u003cian.campbell@citrix.com\u003e\nReviewed-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\n"
    },
    {
      "commit": "ceb180294790c8a6a437533488616f6b591b49d0",
      "tree": "6520c8f2a4a83ed36998ac5d92ea9f97250af2ec",
      "parents": [
        "bd1c0ad28451df4610d352c7e438213c84de0c28"
      ],
      "author": {
        "name": "Ian Campbell",
        "email": "ian.campbell@citrix.com",
        "time": "Thu Feb 17 11:04:20 2011 +0000"
      },
      "committer": {
        "name": "Stefano Stabellini",
        "email": "stefano.stabellini@eu.citrix.com",
        "time": "Fri Feb 25 16:43:11 2011 +0000"
      },
      "message": "xen: suspend: refactor cancellation flag into a structure\n\nWill add extra fields in subsequent patches.\n\nSigned-off-by: Ian Campbell \u003cian.campbell@citrix.com\u003e\nReviewed-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\n"
    },
    {
      "commit": "bd1c0ad28451df4610d352c7e438213c84de0c28",
      "tree": "92710a262ae76c67fc06008e848ccc81ec9a13b0",
      "parents": [
        "a8b7458363b9174f3c2196ca6085630b4b30b7a1"
      ],
      "author": {
        "name": "Ian Campbell",
        "email": "ian.campbell@citrix.com",
        "time": "Thu Feb 17 11:04:20 2011 +0000"
      },
      "committer": {
        "name": "Stefano Stabellini",
        "email": "stefano.stabellini@eu.citrix.com",
        "time": "Fri Feb 25 16:43:11 2011 +0000"
      },
      "message": "xen: suspend: use HYPERVISOR_suspend for PVHVM case instead of open coding\n\nSigned-off-by: Ian Campbell \u003cian.campbell@citrix.com\u003e\nReviewed-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\n"
    },
    {
      "commit": "552717231e50b478dfd19d63fd97879476ae051d",
      "tree": "6ed6a314b8b4e2ee266e33fdf450c48704df5cbc",
      "parents": [
        "e057a4b6e0eb6701f6ec923be2075d4984cef51a"
      ],
      "author": {
        "name": "Ian Campbell",
        "email": "ian.campbell@citrix.com",
        "time": "Thu Feb 17 11:04:20 2011 +0000"
      },
      "committer": {
        "name": "Stefano Stabellini",
        "email": "stefano.stabellini@eu.citrix.com",
        "time": "Fri Feb 25 16:43:09 2011 +0000"
      },
      "message": "xen: do not respond to unknown xenstore control requests\n\nThe PV xenbus control/shutdown node is written by the toolstack as a\nrequest to the guest to perform a particular action (shutdown, reboot,\nsuspend etc). The guest is expected to acknowledge that it will\ncomplete a request by clearing the control node.\n\nPreviously it would acknowledge any request, even if it did not know\nwhat to do with it. Specifically in the case where CONFIG_PM_SLEEP is\nnot enabled the kernel would acknowledge a suspend request even though\nit was not actually going to do anything.\n\nInstead make the kernel only acknowledge requests if it is actually\ngoing to do something with it. This will improve the toolstack\u0027s\nability to diagnose and deal with failures.\n\nSigned-off-by: Ian Campbell \u003cian.campbell@citrix.com\u003e\nReviewed-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\n"
    },
    {
      "commit": "702d4eb9b3de4398ab99cf0a4e799e552c7ab756",
      "tree": "8145ce0d54f4f3c3148e188d640f99fc305e8b2a",
      "parents": [
        "f5412be599602124d2bdd49947b231dd77c0bf99"
      ],
      "author": {
        "name": "Stefano Stabellini",
        "email": "stefano.stabellini@eu.citrix.com",
        "time": "Thu Dec 02 17:54:50 2010 +0000"
      },
      "committer": {
        "name": "Stefano Stabellini",
        "email": "stefano.stabellini@eu.citrix.com",
        "time": "Fri Feb 25 16:43:03 2011 +0000"
      },
      "message": "xen: no need to delay xen_setup_shutdown_event for hvm guests anymore\n\nNow that xenstore_ready is used correctly for PV on HVM guests too, we\ndon\u0027t need to delay the initialization of xen_setup_shutdown_event\nanymore.\n\nSigned-off-by: Stefano Stabellini \u003cstefano.stabellini@eu.citrix.com\u003e\nAcked-by: Jeremy Fitzhardinge \u003cjeremy@goop.org\u003e\n"
    },
    {
      "commit": "8dd38383a51d0fb6b025dc330aaa3470281da3b2",
      "tree": "e1de2f65e13e9383b91697afe283f2e28d3fdeaa",
      "parents": [
        "100b33c8bd8a3235fd0b7948338d6cbb3db3c63d"
      ],
      "author": {
        "name": "Ian Campbell",
        "email": "ian.campbell@citrix.com",
        "time": "Thu Feb 17 10:31:20 2011 +0000"
      },
      "committer": {
        "name": "Ian Campbell",
        "email": "ian.campbell@citrix.com",
        "time": "Thu Feb 17 10:31:20 2011 +0000"
      },
      "message": "xen: suspend and resume system devices when running PVHVM\n\nOtherwise we fail to properly suspend/resume all of the emulated devices.\n\nSomething between 2.6.38-rc2 and rc3 appears to have exposed this\nissue, but it\u0027s always been wrong not to do this.\n\nSigned-off-by: Ian Campbell \u003cian.campbell@citrix.com\u003e\nAcked-by: Stefano Stabellini \u003cstefano.stabellini@eu.citrix.com\u003e\nAcked-by: Jeremy Fitzhardinge \u003cjeremy@goop.org\u003e\n\n"
    },
    {
      "commit": "6411fe69b8c4fd7811339c88c1843d562099fa2b",
      "tree": "89017df000c6c575a0cb9308ab92a2ea26c887bf",
      "parents": [
        "af42b8d12f8adec6711cb824549a0edac6a4ae8f"
      ],
      "author": {
        "name": "Stefano Stabellini",
        "email": "stefano.stabellini@eu.citrix.com",
        "time": "Wed Dec 01 14:51:44 2010 +0000"
      },
      "committer": {
        "name": "Stefano Stabellini",
        "email": "stefano.stabellini@eu.citrix.com",
        "time": "Thu Dec 02 14:40:48 2010 +0000"
      },
      "message": "xen: resume the pv console for hvm guests too\n\nSigned-off-by: Stefano Stabellini \u003cstefano.stabellini@eu.citrix.com\u003e\n"
    },
    {
      "commit": "f335397d177c906256ee1bba28e8c49e8ec63817",
      "tree": "b6911d0b40940cbec9083769856e7744d5461e22",
      "parents": [
        "1495cc9df4e81f5a8fa9b0b8f1034b14d24b7d8c"
      ],
      "author": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Tue Aug 17 21:15:47 2010 -0700"
      },
      "committer": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Sat Aug 21 00:34:45 2010 -0700"
      },
      "message": "Input: sysrq - drop tty argument form handle_sysrq()\n\nSysrq operations do not accept tty argument anymore so no need to pass\nit to us.\n\n[Stephen Rothwell \u003csfr@canb.auug.org.au\u003e: fix build breakage in drm code\n caused by sysrq using bool but not including linux/types.h]\n\n[Sachin Sant \u003csachinp@in.ibm.com\u003e: fix build breakage in s390 keyboadr\n driver]\n\nAcked-by: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nAcked-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nSigned-off-by: Dmitry Torokhov \u003cdtor@mail.ru\u003e\n"
    },
    {
      "commit": "016b6f5fe8398b0291cece60b749d7c930a2e09c",
      "tree": "430e9aad74f223dc5d144b60f4b78a0c3fb9cdfd",
      "parents": [
        "183d03cc4ff39e0f0d952c09aa96d0abfd6e0c3c"
      ],
      "author": {
        "name": "Stefano Stabellini",
        "email": "stefano.stabellini@eu.citrix.com",
        "time": "Fri May 14 12:45:07 2010 +0100"
      },
      "committer": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy.fitzhardinge@citrix.com",
        "time": "Thu Jul 22 16:46:21 2010 -0700"
      },
      "message": "xen: Add suspend/resume support for PV on HVM guests.\n\nSuspend/resume requires few different things on HVM: the suspend\nhypercall is different; we don\u0027t need to save/restore memory related\nsettings; except the shared info page and the callback mechanism.\n\nSigned-off-by: Stefano Stabellini \u003cstefano.stabellini@eu.citrix.com\u003e\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\n"
    },
    {
      "commit": "183d03cc4ff39e0f0d952c09aa96d0abfd6e0c3c",
      "tree": "75947fc4a9ac69e902663c9cb618993b7c656cff",
      "parents": [
        "38e20b07efd541a959de367dc90a17f92ce2e8a6"
      ],
      "author": {
        "name": "Stefano Stabellini",
        "email": "stefano.stabellini@eu.citrix.com",
        "time": "Mon May 17 17:08:21 2010 +0100"
      },
      "committer": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy.fitzhardinge@citrix.com",
        "time": "Thu Jul 22 16:46:09 2010 -0700"
      },
      "message": "xen: Xen PCI platform device driver.\n\nAdd the xen pci platform device driver that is responsible\nfor initializing the grant table and xenbus in PV on HVM mode.\nFew changes to xenbus and grant table are necessary to allow the delayed\ninitialization in HVM mode.\nGrant table needs few additional modifications to work in HVM mode.\n\nThe Xen PCI platform device raises an irq every time an event has been\ndelivered to us. However these interrupts are only delivered to vcpu 0.\nThe Xen PCI platform interrupt handler calls xen_hvm_evtchn_do_upcall\nthat is a little wrapper around __xen_evtchn_do_upcall, the traditional\nXen upcall handler, the very same used with traditional PV guests.\n\nWhen running on HVM the event channel upcall is never called while in\nprogress because it is a normal Linux irq handler (and we cannot switch\nthe irq chip wholesale to the Xen PV ones as we are running QEMU and\nmight have passed in PCI devices), therefore we cannot be sure that\nevtchn_upcall_pending is 0 when returning.\nFor this reason if evtchn_upcall_pending is set by Xen we need to loop\nagain on the event channels set pending otherwise we might loose some\nevent channel deliveries.\n\nSigned-off-by: Stefano Stabellini \u003cstefano.stabellini@eu.citrix.com\u003e\nSigned-off-by: Sheng Yang \u003csheng@linux.intel.com\u003e\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\n"
    },
    {
      "commit": "f3bc3189a001ec85c7b1119ad4aa5e39eea0f05e",
      "tree": "952cc9922d06af94491ecee754d4d24f9b1e2312",
      "parents": [
        "a321cedb12904114e2ba5041a3673ca24deb09c9"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Mon May 24 14:33:41 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:07:07 2010 -0700"
      },
      "message": "xen: fix build when SYSRQ is disabled\n\nFix build error when CONFIG_MAGIC_SYSRQ is not enabled:\n\ndrivers/xen/manage.c:223: error: implicit declaration of function \u0027handle_sysrq\u0027\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nAcked-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nCc: Chris Wright \u003cchrisw@sous-sol.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3fc1f1e27a5b807791d72e5d992aa33b668a6626",
      "tree": "396c2f49909c506c3ad53fd6a9bdddf6c24f7860",
      "parents": [
        "1142d810298e694754498dbb4983fcb6cb7fd884"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu May 06 18:49:20 2010 +0200"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu May 06 18:49:20 2010 +0200"
      },
      "message": "stop_machine: reimplement using cpu_stop\n\nReimplement stop_machine using cpu_stop.  As cpu stoppers are\nguaranteed to be available for all online cpus,\nstop_machine_create/destroy() are no longer necessary and removed.\n\nWith resource management and synchronization handled by cpu_stop, the\nnew implementation is much simpler.  Asking the cpu_stop to execute\nthe stop_cpu() state machine on all online cpus with cpu hotplug\ndisabled is enough.\n\nstop_machine itself doesn\u0027t need to manage any global resources\nanymore, so all per-instance information is rolled into struct\nstop_machine_data and the mutex and all static data variables are\nremoved.\n\nThe previous implementation created and destroyed RT workqueues as\nnecessary which made stop_machine() calls highly expensive on very\nlarge machines.  According to Dimitri Sivanich, preventing the dynamic\ncreation/destruction makes booting faster more than twice on very\nlarge machines.  cpu_stop resources are preallocated for all online\ncpus and should have the same effect.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Dimitri Sivanich \u003csivanich@sgi.com\u003e\n"
    },
    {
      "commit": "5a0e3ad6af8660be21ca98a971cd00f331318c05",
      "tree": "5bfb7be11a03176a87296a43ac6647975c00a1d1",
      "parents": [
        "ed391f4ebf8f701d3566423ce8f17e614cde9806"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Mar 24 17:04:11 2010 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Mar 30 22:02:32 2010 +0900"
      },
      "message": "include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h\n\npercpu.h is included by sched.h and module.h and thus ends up being\nincluded when building most .c files.  percpu.h includes slab.h which\nin turn includes gfp.h making everything defined by the two files\nuniversally available and complicating inclusion dependencies.\n\npercpu.h -\u003e slab.h dependency is about to be removed.  Prepare for\nthis change by updating users of gfp and slab facilities include those\nheaders directly instead of assuming availability.  As this conversion\nneeds to touch large number of source files, the following script is\nused as the basis of conversion.\n\n  http://userweb.kernel.org/~tj/misc/slabh-sweep.py\n\nThe script does the followings.\n\n* Scan files for gfp and slab usages and update includes such that\n  only the necessary includes are there.  ie. if only gfp is used,\n  gfp.h, if slab is used, slab.h.\n\n* When the script inserts a new include, it looks at the include\n  blocks and try to put the new include such that its order conforms\n  to its surrounding.  It\u0027s put in the include block which contains\n  core kernel includes, in the same order that the rest are ordered -\n  alphabetical, Christmas tree, rev-Xmas-tree or at the end if there\n  doesn\u0027t seem to be any matching order.\n\n* If the script can\u0027t find a place to put a new include (mostly\n  because the file doesn\u0027t have fitting include block), it prints out\n  an error message indicating which .h file needs to be added to the\n  file.\n\nThe conversion was done in the following steps.\n\n1. The initial automatic conversion of all .c files updated slightly\n   over 4000 files, deleting around 700 includes and adding ~480 gfp.h\n   and ~3000 slab.h inclusions.  The script emitted errors for ~400\n   files.\n\n2. Each error was manually checked.  Some didn\u0027t need the inclusion,\n   some needed manual addition while adding it to implementation .h or\n   embedding .c file was more appropriate for others.  This step added\n   inclusions to around 150 files.\n\n3. The script was run again and the output was compared to the edits\n   from #2 to make sure no file was left behind.\n\n4. Several build tests were done and a couple of problems were fixed.\n   e.g. lib/decompress_*.c used malloc/free() wrappers around slab\n   APIs requiring slab.h to be added manually.\n\n5. The script was run on all .h files but without automatically\n   editing them as sprinkling gfp.h and slab.h inclusions around .h\n   files could easily lead to inclusion dependency hell.  Most gfp.h\n   inclusion directives were ignored as stuff from gfp.h was usually\n   wildly available and often used in preprocessor macros.  Each\n   slab.h inclusion directive was examined and added manually as\n   necessary.\n\n6. percpu.h was updated not to include slab.h.\n\n7. Build test were done on the following configurations and failures\n   were fixed.  CONFIG_GCOV_KERNEL was turned off for all tests (as my\n   distributed build env didn\u0027t work with gcov compiles) and a few\n   more options had to be turned off depending on archs to make things\n   build (like ipr on powerpc/64 which failed due to missing writeq).\n\n   * x86 and x86_64 UP and SMP allmodconfig and a custom test config.\n   * powerpc and powerpc64 SMP allmodconfig\n   * sparc and sparc64 SMP allmodconfig\n   * ia64 SMP allmodconfig\n   * s390 SMP allmodconfig\n   * alpha SMP allmodconfig\n   * um on x86_64 SMP allmodconfig\n\n8. percpu.h modifications were reverted so that it could be applied as\n   a separate patch and serve as bisection point.\n\nGiven the fact that I had only a couple of failures from tests on step\n6, I\u0027m fairly confident about the coverage of this conversion patch.\nIf there is a breakage, it\u0027s likely to be something in one of the arch\nheaders which should be easily discoverable easily on most builds of\nthe specific arch.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nGuess-its-ok-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Lee Schermerhorn \u003cLee.Schermerhorn@hp.com\u003e\n"
    },
    {
      "commit": "c5cae661d6cf808b6984762f763261adf35f3eb7",
      "tree": "0f19bd47b97b13421da7c0777ae5b1a87478e25c",
      "parents": [
        "7284ce6c9f6153d1777df5f310c959724d1bd446"
      ],
      "author": {
        "name": "Ian Campbell",
        "email": "ian.campbell@citrix.com",
        "time": "Thu Dec 17 13:57:09 2009 +0000"
      },
      "committer": {
        "name": "Ian Campbell",
        "email": "ian.campbell@citrix.com",
        "time": "Wed Jan 13 10:01:35 2010 +0000"
      },
      "message": "xen: fix hang on suspend.\n\nIn 65f63384 \"xen: improve error handling in do_suspend\" I said:\n    - xs_suspend()/xs_resume() and dpm_suspend_noirq()/dpm_resume_noirq() were not\n      nested in the obvious way.\nand changed the ordering of the calls as so:\n    BEFORE\t\tAFTER\n    xs_suspend\t\tdpm_suspend_noirq\n    dpm_suspend_noirq\txs_suspend\n    *SUSPEND*\t\t*SUSPEND*\n    dpm_resume_noirq\tdpm_resume_noirq\n    xs_resume\t\txs_resume\nClearly this is not an improvement and I was talking rubbish.\n\nIn particular the new ordering is susceptible to a hang if a xenstore write is\nin progress at the point at which the suspend kicks in. When the suspend\nprocess calls xs_suspend it tries to take the request_mutex but if a write is\nin progress it could be looping in xenbus_xs.c:read_reply() waiting for\nsomething to arrive on \u0026xs_state.reply_list while holding the request_mutex\n(taken in the caller of read_reply).\n\nHowever if we have done dpm_suspend_noirq before xs_suspend then we won\u0027t get\nany more xenstore interrupts and process_msg() will never be woken up to add\nanything to the reply_list.\n\nFix this by calling xs_suspend before dpm_suspend_noirq. If dpm_suspend_noirq\nfails then make sure we go through the xs_suspend_cancel() code path.\n\nSigned-off-by: Ian Campbell \u003cian.campbell@citrix.com\u003e\nAcked-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nCc: Stable Kernel \u003cstable@kernel.org\u003e\n"
    },
    {
      "commit": "b4606f2165153833247823e8c04c5e88cb3d298b",
      "tree": "ccbfa5eec0ea6c39f34de45ee1f0665288d6c1f1",
      "parents": [
        "65f63384b391bf4d384327d8a7c6de9860290b5c"
      ],
      "author": {
        "name": "Ian Campbell",
        "email": "ian.campbell@citrix.com",
        "time": "Tue Dec 01 11:47:15 2009 +0000"
      },
      "committer": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy.fitzhardinge@citrix.com",
        "time": "Thu Dec 03 11:14:56 2009 -0800"
      },
      "message": "xen: explicitly create/destroy stop_machine workqueues outside suspend/resume region.\n\nI have observed cases where the implicit stop_machine_destroy() done by\nstop_machine() hangs while destroying the workqueues, specifically in\nkthread_stop(). This seems to be because timer ticks are not restarted\nuntil after stop_machine() returns.\n\nFortunately stop_machine provides a facility to pre-create/post-destroy\nthe workqueues so use this to ensure that workqueues are only destroyed\nafter everything is really up and running again.\n\nI only actually observed this failure with 2.6.30. It seems that newer\nkernels are somehow more robust against doing kthread_stop() without timer\ninterrupts (I tried some backports of some likely looking candidates but\ndid not track down the commit which added this robustness). However this\nchange seems like a reasonable belt\u0026braces thing to do.\n\nSigned-off-by: Ian Campbell \u003cian.campbell@citrix.com\u003e\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nCc: Stable Kernel \u003cstable@kernel.org\u003e\n"
    },
    {
      "commit": "65f63384b391bf4d384327d8a7c6de9860290b5c",
      "tree": "d42741a7582839ed8740b9cfb99416f2fcf46a6a",
      "parents": [
        "fed5ea87e02aaf902ff38c65b4514233db03dc09"
      ],
      "author": {
        "name": "Ian Campbell",
        "email": "ian.campbell@citrix.com",
        "time": "Tue Dec 01 11:47:14 2009 +0000"
      },
      "committer": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy.fitzhardinge@citrix.com",
        "time": "Thu Dec 03 11:14:56 2009 -0800"
      },
      "message": "xen: improve error handling in do_suspend.\n\nThe existing error handling has a few issues:\n- If freeze_processes() fails it exits with shutting_down \u003d SHUTDOWN_SUSPEND.\n- If dpm_suspend_noirq() fails it exits without resuming xenbus.\n- If stop_machine() fails it exits without resuming xenbus or calling\n  dpm_resume_end().\n- xs_suspend()/xs_resume() and dpm_suspend_noirq()/dpm_resume_noirq() were not\n  nested in the obvious way.\n\nFix by ensuring each failure case goto\u0027s the correct label. Treat a failure of\nstop_machine() as a cancelled suspend in order to follow the correct resume\npath.\n\nSigned-off-by: Ian Campbell \u003cian.campbell@citrix.com\u003e\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nCc: Stable Kernel \u003cstable@kernel.org\u003e\n"
    },
    {
      "commit": "922cc38ab71d1360978e65207e4a4f4988987127",
      "tree": "04a8849382962089ced7992ae5d50375c3c4b4a6",
      "parents": [
        "499d19b82b586aef18727b9ae1437f8f37b66e91"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy.fitzhardinge@citrix.com",
        "time": "Tue Nov 24 09:58:49 2009 -0800"
      },
      "committer": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy.fitzhardinge@citrix.com",
        "time": "Thu Dec 03 11:14:53 2009 -0800"
      },
      "message": "xen: don\u0027t call dpm_resume_noirq() with interrupts disabled.\n\ndpm_resume_noirq() takes a mutex, so it can\u0027t be called from a no-interrupt\ncontext.  Don\u0027t call it from within the stop-machine function, but just\nafterwards, since we\u0027re resuming anyway, regardless of what happened.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nCc: Stable Kernel \u003cstable@kernel.org\u003e\n"
    },
    {
      "commit": "d161630297a20802d01c55847bfcba85d2118a9f",
      "tree": "51685c169319400b6da4dc6c56b69e731c45f297",
      "parents": [
        "e39a71ef80877f4e30d808af9acceec80f4d2f7c"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Sun May 24 22:05:42 2009 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Jun 12 21:32:31 2009 +0200"
      },
      "message": "PM core: rename suspend and resume functions\n\nThis patch (as1241) renames a bunch of functions in the PM core.\nRather than go through a boring list of name changes, suffice it to\nsay that in the end we have a bunch of pairs of functions:\n\n\tdevice_resume_noirq\tdpm_resume_noirq\n\tdevice_resume\t\tdpm_resume\n\tdevice_complete\t\tdpm_complete\n\tdevice_suspend_noirq\tdpm_suspend_noirq\n\tdevice_suspend\t\tdpm_suspend\n\tdevice_prepare\t\tdpm_prepare\n\nin which device_X does the X operation on a single device and dpm_X\ninvokes device_X for all devices in the dpm_list.\n\nIn addition, the old dpm_power_up and device_resume_noirq have been\ncombined into a single function (dpm_resume_noirq).\n\nLastly, dpm_suspend_start and dpm_resume_end are the renamed versions\nof the former top-level device_suspend and device_resume routines.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nAcked-by: Magnus Damm \u003cdamm@igel.co.jp\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "e39a71ef80877f4e30d808af9acceec80f4d2f7c",
      "tree": "e9d4ff1618328cf3a3fafee04621b9776ca169de",
      "parents": [
        "1380a37e3da5d9e14ea5c2a4c6ab2b307a2798ea"
      ],
      "author": {
        "name": "Magnus Damm",
        "email": "damm@igel.co.jp",
        "time": "Fri May 15 00:53:26 2009 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Jun 12 21:32:31 2009 +0200"
      },
      "message": "PM: Rename device_power_down/up()\n\nRename the functions performing \"_noirq\" dev_pm_ops\noperations from device_power_down() and device_power_up()\nto device_suspend_noirq() and device_resume_noirq().\n\nThe new function names are chosen to show that the functions\nare responsible for calling the _noirq() versions to finalize\nthe suspend/resume operation. The current function names do\nnot perform power down/up anymore so the names may be misleading.\n\nGlobal function renames:\n- device_power_down() -\u003e device_suspend_noirq()\n- device_power_up() -\u003e device_resume_noirq()\n\nStatic function renames:\n- suspend_device_noirq() -\u003e __device_suspend_noirq()\n- resume_device_noirq() -\u003e __device_resume_noirq()\n\nSigned-off-by: Magnus Damm \u003cdamm@igel.co.jp\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nAcked-by: Len Brown \u003clenb@kernel.org\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "38f4b8c0da01ae7cd9b93386842ce272d6fde9ab",
      "tree": "3c8c52201aac038094bfea7efdd0984a8f62045e",
      "parents": [
        "a811454027352c762e0d5bba1b1d8f7d26bf96ae",
        "8e2c4f2844c0e8dcdfe312e5f2204854ca8532c6"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy.fitzhardinge@citrix.com",
        "time": "Tue Apr 07 13:34:16 2009 -0700"
      },
      "committer": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy.fitzhardinge@citrix.com",
        "time": "Tue Apr 07 13:34:16 2009 -0700"
      },
      "message": "Merge commit \u0027origin/master\u0027 into for-linus/xen/master\n\n* commit \u0027origin/master\u0027: (4825 commits)\n  Fix build errors due to CONFIG_BRANCH_TRACER\u003dy\n  parport: Use the PCI IRQ if offered\n  tty: jsm cleanups\n  Adjust path to gpio headers\n  KGDB_SERIAL_CONSOLE check for module\n  Change KCONFIG name\n  tty: Blackin CTS/RTS\n  Change hardware flow control from poll to interrupt driven\n  Add support for the MAX3100 SPI UART.\n  lanana: assign a device name and numbering for MAX3100\n  serqt: initial clean up pass for tty side\n  tty: Use the generic RS485 ioctl on CRIS\n  tty: Correct inline types for tty_driver_kref_get()\n  splice: fix deadlock in splicing to file\n  nilfs2: support nanosecond timestamp\n  nilfs2: introduce secondary super block\n  nilfs2: simplify handling of active state of segments\n  nilfs2: mark minor flag for checkpoint created by internal operation\n  nilfs2: clean up sketch file\n  nilfs2: super block operations fix endian bug\n  ...\n\nConflicts:\n\tarch/x86/include/asm/thread_info.h\n\tarch/x86/lguest/boot.c\n\tdrivers/xen/manage.c\n"
    },
    {
      "commit": "2ed8d2b3a81bdbb0418301628ccdb008ac9f40b7",
      "tree": "54ab0cd7aa7db73151533b463bd490b62a29c462",
      "parents": [
        "0a0c5168df270a50e3518e4f12bddb31f8f5f38f"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Mon Mar 16 22:34:06 2009 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Mon Mar 30 21:46:54 2009 +0200"
      },
      "message": "PM: Rework handling of interrupts during suspend-resume\n\nUse the functions introduced in by the previous patch,\nsuspend_device_irqs(), resume_device_irqs() and check_wakeup_irqs(),\nto rework the handling of interrupts during suspend (hibernation) and\nresume.  Namely, interrupts will only be disabled on the CPU right\nbefore suspending sysdevs, while device drivers will be prevented\nfrom receiving interrupts, with the help of the new helper function,\nbefore their \"late\" suspend callbacks run (and analogously during\nresume).\n\nIn addition, since the device interrups are now disabled before the\nCPU has turned all interrupts off and the CPU will ACK the interrupts\nsetting the IRQ_PENDING bit for them, check in sysdev_suspend() if\nany wake-up interrupts are pending and abort suspend if that\u0027s the\ncase.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "de5b31bd47de7e6f41be2e271318dbc8f1af354d",
      "tree": "d222e4ce03706e5047b78e060f85ed0b31727eaa",
      "parents": [
        "a1ce1be578365a4da7e7d7db4812539d2d5da763"
      ],
      "author": {
        "name": "Ian Campbell",
        "email": "ian.campbell@citrix.com",
        "time": "Mon Feb 09 12:05:50 2009 -0800"
      },
      "committer": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy.fitzhardinge@citrix.com",
        "time": "Mon Mar 30 09:26:56 2009 -0700"
      },
      "message": "xen: use device model for suspending xenbus devices\n\nSigned-off-by: Ian Campbell \u003cian.campbell@citrix.com\u003e\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\n"
    },
    {
      "commit": "1e6fcf840e11ceff8a656a678c6e4b0560a98e08",
      "tree": "009bd99a0d73822a3cae6584512124deda956020",
      "parents": [
        "8de07bbdede03598801cf33ab23dcbcd28a918d2"
      ],
      "author": {
        "name": "Ian Campbell",
        "email": "Ian.Campbell@citrix.com",
        "time": "Wed Mar 25 17:46:42 2009 +0000"
      },
      "committer": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy.fitzhardinge@citrix.com",
        "time": "Mon Mar 30 09:25:35 2009 -0700"
      },
      "message": "xen: resume interrupts before system devices.\n\nImpact: bugfix Xen domain restore\n\nOtherwise the first timer interrupt after resume is missed and we never\nget another.\n\nSigned-off-by: Ian Campbell \u003cian.campbell@citrix.com\u003e\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\n"
    },
    {
      "commit": "fc6fc7f1b1095b92d4834e69b385b91e412a7ce5",
      "tree": "2ad451d5dac4d460830536944cef1de93be36b2a",
      "parents": [
        "ef1f87aa7ba6224bef1b750b3272ba281d8f43ed",
        "770824bdc421ff58a64db608294323571c949f4c"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Feb 22 20:05:19 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Feb 22 20:05:19 2009 +0100"
      },
      "message": "Merge branch \u0027linus\u0027 into x86/apic\n\nConflicts:\n\tarch/x86/mach-default/setup.c\n\nSemantic conflict resolution:\n\tarch/x86/kernel/setup.c\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "770824bdc421ff58a64db608294323571c949f4c",
      "tree": "2fbeef604fe982bf322249a53a95dd2ff851d5f4",
      "parents": [
        "936577c61d0c10b8929608a92c98d839b22053bc"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Feb 22 18:38:50 2009 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Feb 22 10:33:44 2009 -0800"
      },
      "message": "PM: Split up sysdev_[suspend|resume] from device_power_[down|up]\n\nMove the sysdev_suspend/resume from the callee to the callers, with\nno real change in semantics, so that we can rework the disabling of\ninterrupts during suspend/hibernation.\n\nThis is based on an earlier patch from Linus.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f7df8ed164996cd2c6aca9674388be6ef78d8b37",
      "tree": "cdd2cb084b8aa19f6688b24aefe71d170a8c8c22",
      "parents": [
        "fbd59a8d1f7cf325fdb6828659f1fb76631e87b3"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Sat Jan 10 21:58:09 2009 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Jan 11 19:12:52 2009 +0100"
      },
      "message": "cpumask: convert misc driver functions\n\nImpact: use new cpumask API.\n\nConvert misc driver functions to use struct cpumask.\n\nTo Do:\n  - Convert iucv_buffer_cpumask to cpumask_var_t.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\nAcked-by: Dean Nelson \u003cdcn@sgi.com\u003e\nCc: Robert Richter \u003crobert.richter@amd.com\u003e\nCc: oprofile-list@lists.sf.net\nCc: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nCc: Chris Wright \u003cchrisw@sous-sol.org\u003e\nCc: virtualization@lists.osdl.org\nCc: xen-devel@lists.xensource.com\nCc: Ursula Braun \u003cursula.braun@de.ibm.com\u003e\nCc: linux390@de.ibm.com\nCc: linux-s390@vger.kernel.org\n"
    },
    {
      "commit": "ed6e5e507e4752c3fb1090d0601f46e7a78c860e",
      "tree": "a3eb41155b6fed9f56b6ba97fc616069601cce8d",
      "parents": [
        "bea92112415635ecb7e681355834413c7c048f67"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Tue Oct 14 17:50:40 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 23 21:54:35 2008 +0200"
      },
      "message": "xen: don\u0027t reload cr3 on suspend\n\nIt isn\u0027t necessary, and it makes the code needlessly non-portable.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nCc: Isaku Yamahata \u003cyamahata@valinux.co.jp\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "37a7c0f3e3e808b8d24f2187a25d2de39e46d822",
      "tree": "38f3e690557de0b75515f944d5ab574403f223da",
      "parents": [
        "532a6086e35fa3b5761e68af36d4e42a550eba15"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Aug 26 00:19:26 2008 -0500"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Aug 26 00:19:27 2008 +1000"
      },
      "message": "stop_machine: wean Xen off stop_machine_run\n\nThis is the last use of (the deprecated) stop_machine_run in the tree.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nAcked-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\n"
    },
    {
      "commit": "55ca089e2579de90f048aca2a3030b8b2f864813",
      "tree": "50803a73a40810c9728ab54b47881f078ef3d9e4",
      "parents": [
        "393d81aa026e19b6ede6f5f11955c97ee62e5df5"
      ],
      "author": {
        "name": "Stephen Rothwell",
        "email": "sfr@canb.auug.org.au",
        "time": "Thu Jul 17 13:09:24 2008 +1000"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 18 09:51:02 2008 +0200"
      },
      "message": "linux-next: pci tree build failure\n\nToday\u0027s linux-next build (x86_64 allmodconfig) failed like this:\n\n drivers/xen/manage.c: In function \u0027xen_suspend\u0027:\n drivers/xen/manage.c:66: error: too few arguments to function \u0027device_power_up\u0027\n drivers/xen/manage.c: In function \u0027do_suspend\u0027:\n drivers/xen/manage.c:117: error: too few arguments to function \u0027device_resume\u0027\n\nCaused by commit 1eede070a59e1cc73da51e1aaa00d9ab86572cfc (\"Introduce new\ntop level suspend and hibernation callbacks\") interacting with new\nusages ...\n\nSigned-off-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nCc: Jeremy Fitzhardinge \u003cjeremy@goop.org\u003e\nAcked-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nCc: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ad55db9fed6d6cd09333045945cb03ba2c070085",
      "tree": "a0f6acbb1c7d139b248b3a9f2d45d087b802936b",
      "parents": [
        "1ffb40b8ecdf314edd88dc5550d6bcbebf29970b"
      ],
      "author": {
        "name": "Isaku Yamahata",
        "email": "yamahata@valinux.co.jp",
        "time": "Tue Jul 08 15:06:32 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 16 10:55:50 2008 +0200"
      },
      "message": "xen: add xen_arch_resume()/xen_timer_resume hook for ia64 support\n\nadd xen_timer_resume() hook.\n\nTimer resume should be done after event channel is resumed.\nadd xen_arch_resume() hook when ipi becomes usable after resume.\nAfter resume, some cpu specific resource must be reinitialized\non ia64 that can\u0027t be set by another cpu.\n\nHowever available hooks is run once on only one cpu so that ipi has\nto be used.\n\nDuring stop_machine_run() ipi can\u0027t be used because interrupt is masked.\nSo add another hook after stop_machine_run().\nAnother approach might be use resume hook which is run by\ndevice_resume(). However device_resume() may be executed on\nsuspend error recovery path.\n\nSo it is necessary to determine whether it is executed on real resume path\nor error recovery path.\n\nSigned-off-by: Isaku Yamahata \u003cyamahata@valinux.co.jp\u003e\nCc: Stephen Tweedie \u003csct@redhat.com\u003e\nCc: Eduardo Habkost \u003cehabkost@redhat.com\u003e\nCc: Mark McLoughlin \u003cmarkmc@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c78277288e3d561d55fb48bc0fe8d6e2cf4d0880",
      "tree": "315e86ee65ffbcebd331aef0544db2612a9e8b77",
      "parents": [
        "0261ac5f2f43a1906cfacfb19d62ed643d162cbe"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Thu May 29 09:02:19 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jun 02 12:14:16 2008 +0200"
      },
      "message": "CONFIG_PM_SLEEP fix: xen: fix compilation when CONFIG_PM_SLEEP is disabled\n\nXen save/restore depends on CONFIG_PM_SLEEP being set for device_power_up/down.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nAcked-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "359cdd3f866b6219a6729e313faf2221397f3278",
      "tree": "ec052599c175ee1ef0a2221670f18f6dad95cc77",
      "parents": [
        "0e91398f2a5d4eb6b07df8115917d0d1cf3e9b58"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Mon May 26 23:31:28 2008 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue May 27 10:11:38 2008 +0200"
      },
      "message": "xen: maintain clock offset over save/restore\n\nHook into the device model to make sure that timekeeping\u0027s resume handler\nis called.  This deals with our clocksource\u0027s non-monotonicity over the\nsave/restore.  Explicitly call clock_has_changed() to make sure that\nall the timers get retriggered properly.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "0e91398f2a5d4eb6b07df8115917d0d1cf3e9b58",
      "tree": "c6a3b31b7bcbbfb55bb2304d8651abdd28cdad54",
      "parents": [
        "7d88d32a4670af583c896e5ecd3929b78538ca62"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Mon May 26 23:31:27 2008 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue May 27 10:11:38 2008 +0200"
      },
      "message": "xen: implement save/restore\n\nThis patch implements Xen save/restore and migration.\n\nSaving is triggered via xenbus, which is polled in\ndrivers/xen/manage.c.  When a suspend request comes in, the kernel\nprepares itself for saving by:\n\n1 - Freeze all processes.  This is primarily to prevent any\n    partially-completed pagetable updates from confusing the suspend\n    process.  If CONFIG_PREEMPT isn\u0027t defined, then this isn\u0027t necessary.\n\n2 - Suspend xenbus and other devices\n\n3 - Stop_machine, to make sure all the other vcpus are quiescent.  The\n    Xen tools require the domain to run its save off vcpu0.\n\n4 - Within the stop_machine state, it pins any unpinned pgds (under\n    construction or destruction), performs canonicalizes various other\n    pieces of state (mostly converting mfns to pfns), and finally\n\n5 - Suspend the domain\n\nRestore reverses the steps used to save the domain, ending when all\nthe frozen processes are thawed.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "ec9b2065d4d3b797604c09a569083dd9ff951b1b",
      "tree": "1c2012adef6db043bbc23089c2c95c15be6d20be",
      "parents": [
        "83abc70a4c6e306f4c1672e25884322f797e4fcb"
      ],
      "author": {
        "name": "Isaku Yamahata",
        "email": "yamahata@valinux.co.jp",
        "time": "Mon May 26 23:31:13 2008 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue May 27 10:11:36 2008 +0200"
      },
      "message": "xen: Move manage.c to drivers/xen for ia64/xen support\n\nmove arch/x86/xen/manage.c under drivers/xen/to share codes\nwith x86 and ia64.\nia64/xen also uses manage.c\n\nSigned-off-by: Isaku Yamahata \u003cyamahata@valinux.co.jp\u003e\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "9702785a747aa27baf46ff504beab6528f21f2dd",
      "tree": "ab69d6f802f5b680c33999dc089e44982c74595d",
      "parents": [
        "334e621a01f86d5bc25e4f742e1eaae6e2d2a97a"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Oct 11 11:16:51 2007 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Oct 11 11:16:51 2007 +0200"
      },
      "message": "i386: move xen\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3e2b8fbeec8f005672f2a2e862fb9c26a0bafedc",
      "tree": "47bd623e5d692daf3b91316a3a715ff7356bc22b",
      "parents": [
        "fefa629abebe328cf6d07f99fe5796dbfc3e4981"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@xensource.com",
        "time": "Tue Jul 17 18:37:07 2007 -0700"
      },
      "committer": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Wed Jul 18 08:47:45 2007 -0700"
      },
      "message": "xen: handle external requests for shutdown, reboot and sysrq\n\nThe guest domain can be asked to shutdown or reboot itself, or have a\nsysrq key injected, via xenbus.  This patch adds a watcher for those\nevents, and does the appropriate action.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nCc: Chris Wright \u003cchrisw@sous-sol.org\u003e\n"
    }
  ]
}
