)]}'
{
  "log": [
    {
      "commit": "d88d4050dcaf09e417aaa9a5024dd9449ef71b2e",
      "tree": "5156b4821fdb1a3c13cb9577c93b2eb6acb48814",
      "parents": [
        "0eddb519b9127c73d53db4bf3ec1d45b13f844d1"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jslaby@suse.cz",
        "time": "Sat Apr 10 22:28:56 2010 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sat Apr 10 22:28:56 2010 +0200"
      },
      "message": "PM / Hibernate: user.c, fix SNAPSHOT_SET_SWAP_AREA handling\n\nWhen CONFIG_DEBUG_BLOCK_EXT_DEVT is set we decode the device\nimproperly by old_decode_dev and it results in an error while\nhibernating with s2disk.\n\nAll users already pass the new device number, so switch to\nnew_decode_dev().\n\nSigned-off-by: Jiri Slaby \u003cjslaby@suse.cz\u003e\nReported-and-tested-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\nSigned-off-by: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "336f5899d287f06d8329e208fc14ce50f7ec9698",
      "tree": "9b762d450d5eb248a6ff8317badb7e223d93ed58",
      "parents": [
        "a4ab2773205e8b94c18625455f85e3b6bb9d7ad6",
        "db217dece3003df0841bacf9556b5c06aa097dae"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Apr 05 11:37:28 2010 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Apr 05 11:37:28 2010 +0900"
      },
      "message": "Merge branch \u0027master\u0027 into export-slabh\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": "5a7aadfe2fcb0f69e2acc1fbefe22a096e792fc9",
      "tree": "dc1b649fc6aa05ecd25cab23e464894e660830d5",
      "parents": [
        "4f598458ea4450f53e8ed929ee4e66b3404a7286"
      ],
      "author": {
        "name": "Matt Helsley",
        "email": "matthltc@us.ibm.com",
        "time": "Fri Mar 26 23:51:44 2010 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Mar 26 23:51:44 2010 +0100"
      },
      "message": "Freezer: Fix buggy resume test for tasks frozen with cgroup freezer\n\nWhen the cgroup freezer is used to freeze tasks we do not want to thaw\nthose tasks during resume. Currently we test the cgroup freezer\nstate of the resuming tasks to see if the cgroup is FROZEN.  If so\nthen we don\u0027t thaw the task. However, the FREEZING state also indicates\nthat the task should remain frozen.\n\nThis also avoids a problem pointed out by Oren Ladaan: the freezer state\ntransition from FREEZING to FROZEN is updated lazily when userspace reads\nor writes the freezer.state file in the cgroup filesystem. This means that\nresume will thaw tasks in cgroups which should be in the FROZEN state if\nthere is no read/write of the freezer.state file to trigger this\ntransition before suspend.\n\nNOTE: Another \"simple\" solution would be to always update the cgroup\nfreezer state during resume. However it\u0027s a bad choice for several reasons:\nUpdating the cgroup freezer state is somewhat expensive because it requires\nwalking all the tasks in the cgroup and checking if they are each frozen.\nWorse, this could easily make resume run in N^2 time where N is the number\nof tasks in the cgroup. Finally, updating the freezer state from this code\npath requires trickier locking because of the way locks must be ordered.\n\nInstead of updating the freezer state we rely on the fact that lazy\nupdates only manage the transition from FREEZING to FROZEN. We know that\na cgroup with the FREEZING state may actually be FROZEN so test for that\nstate too. This makes sense in the resume path even for partially-frozen\ncgroups -- those that really are FREEZING but not FROZEN.\n\nReported-by: Oren Ladaan \u003corenl@cs.columbia.edu\u003e\nSigned-off-by: Matt Helsley \u003cmatthltc@us.ibm.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "4f598458ea4450f53e8ed929ee4e66b3404a7286",
      "tree": "7947a560c241edc3320436406b13cdbb464bb202",
      "parents": [
        "e1ee65d85904c5dd4b9cea1b15d5e85e20eae8a1"
      ],
      "author": {
        "name": "Xiaotian Feng",
        "email": "dfeng@redhat.com",
        "time": "Wed Mar 10 22:59:13 2010 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Mar 26 23:51:13 2010 +0100"
      },
      "message": "Freezer: Only show the state of tasks refusing to freeze\n\nshow_state will dump all tasks state, so if freezer failed to freeze\nany task, kernel will dump all tasks state and flood the dmesg log.\nThis patch makes freezer only show state of tasks refusing to freeze.\n\nSigned-off-by: Xiaotian Feng \u003cdfeng@redhat.com\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nAcked-by: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "452aa6999e6703ffbddd7f6ea124d3968915f3e3",
      "tree": "48e375fdb60920675f68b444b462903ad8bb6940",
      "parents": [
        "ad2bd7e0e9647cd48593a6b3a2be07dc2c2d28ed"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Mar 05 13:42:13 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:26 2010 -0800"
      },
      "message": "mm/pm: force GFP_NOIO during suspend/hibernation and resume\n\nThere are quite a few GFP_KERNEL memory allocations made during\nsuspend/hibernation and resume that may cause the system to hang, because\nthe I/O operations they depend on cannot be completed due to the\nunderlying devices being suspended.\n\nAvoid this problem by clearing the __GFP_IO and __GFP_FS bits in\ngfp_allowed_mask before suspend/hibernation and restoring the original\nvalues of these bits in gfp_allowed_mask durig the subsequent resume.\n\n[akpm@linux-foundation.org: fix CONFIG_PM\u003dn linkage]\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nReported-by: Maxim Levitsky \u003cmaximlevitsky@gmail.com\u003e\nCc: Sebastian Ott \u003csebott@linux.vnet.ibm.com\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a9c9b4429df437982d2fbfab1f4b46b01329e9ed",
      "tree": "0270bcf49069839e43b913e1fd718ca8fc7bd451",
      "parents": [
        "f8bb0db8188c7ef9ef08515883dae9f9eb980984"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Thu Feb 25 22:32:37 2010 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Feb 26 20:39:13 2010 +0100"
      },
      "message": "PM / Hibernate: Fix preallocating of memory\n\nThe hibernate memory preallocation code allocates memory to push some\nuser space data out of physical RAM, so that the hibernation image is\nnot too large.  It allocates more memory than necessary for creating\nthe image, so it has to release some pages to make room for\nallocations made while suspending devices and disabling nonboot CPUs,\nor the system will hang due to the lack of free pages to allocate\nfrom.  Unfortunately, the function used for freeing these pages,\nfree_unnecessary_pages(), contains a bug that prevents it from doing\nthe job on all systems without highmem.\n\nFix this problem, which is a regression from the 2.6.30 kernel, by\nusing the right condition for the termination of the loop in\nfree_unnecessary_pages().\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nReported-and-tested-by: Alan Jenkins \u003csourcejedi.lkml@googlemail.com\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "f8bb0db8188c7ef9ef08515883dae9f9eb980984",
      "tree": "c1f1fe3ecaf2a7ca72e3d0953a83a4da19e85eae",
      "parents": [
        "07c3bb5797d0a9a48524cca17ceb95711b48890b"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jslaby@suse.cz",
        "time": "Sun Feb 21 22:14:44 2010 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Feb 26 20:39:13 2010 +0100"
      },
      "message": "PM / Hibernate: Remove swsusp.c finally\n\nIts contents and entry in Makefile were already removed in\n8e60c6a1348e17e68ad73589a52a03876e7059be\n(Shift remaining code from swsusp.c to hibernate.c)\nbut somehow it remained in-place (rjw: which most likely was my\nmistake).\n\nSigned-off-by: Jiri Slaby \u003cjslaby@suse.cz\u003e\nAcked-by: Nigel Cunningham \u003cnigel@tuxonice.net\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "07c3bb5797d0a9a48524cca17ceb95711b48890b",
      "tree": "86e99dbca4c253727c321a98908c2f8e2ead068b",
      "parents": [
        "4cb077d93a57fb8bb64c277ec4ce637823cd76f4"
      ],
      "author": {
        "name": "Frans Pop",
        "email": "elendil@planet.nl",
        "time": "Thu Feb 11 23:09:08 2010 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Feb 26 20:39:13 2010 +0100"
      },
      "message": "PM / Hibernate: Remove trailing space in message\n\nRemove a trailing space from a message in swsusp_save().\n\nSigned-off-by: Frans Pop \u003celendil@planet.nl\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "09c09bc618a4ceec387c57542031b4fc35826e16",
      "tree": "36efbdea09ad192e0f1596a39228a1d31da9d8e2",
      "parents": [
        "b694e52ebdd439e4591d4a6651658026196174f6"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jslaby@suse.cz",
        "time": "Wed Jan 27 23:47:56 2010 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Feb 26 20:39:11 2010 +0100"
      },
      "message": "PM / Hibernate: Swap, remove useless check from swsusp_read()\n\nIt will never reach here if the sws_resume_bdev is erratic.\nswsusp_read() is called only from software_resume(), but after\nswsusp_check() which would catch the error state.\n\nSigned-off-by: Jiri Slaby \u003cjslaby@suse.cz\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "b694e52ebdd439e4591d4a6651658026196174f6",
      "tree": "a61eaef9825383f966797717c071b0f7d8c6f056",
      "parents": [
        "f8824cee405c62ba465b85365201166d9cf86a14"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jslaby@suse.cz",
        "time": "Wed Jan 27 23:47:50 2010 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Feb 26 20:39:11 2010 +0100"
      },
      "message": "PM / Hibernate: Really deprecate deprecated user ioctls\n\nThey were deprecated and removed from exported headers more than 2\nyears ago. Inform users about their removal in the future now.\n\n(Switch cases needed to be reorderded for an easy fall through.)\n\nAnd add an entry to feature-removal-schedule.\n\nSigned-off-by: Jiri Slaby \u003cjslaby@suse.cz\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "5a2eb8585f3b38e01e30aacaa8b985a1520a993d",
      "tree": "471b33cc48cf48ed491e8b3f2934bfb3fa9e81e1",
      "parents": [
        "0e06b4a891c6a108412fe24b4500f499da2cf8a1"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sat Jan 23 22:25:23 2010 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Feb 26 20:39:10 2010 +0100"
      },
      "message": "PM: Add facility for advanced testing of async suspend/resume\n\nAdd configuration switch CONFIG_PM_ADVANCED_DEBUG for compiling in\nextra PM debugging/testing code allowing one to access some\nPM-related attributes of devices from the user space via sysfs.\n\nIf CONFIG_PM_ADVANCED_DEBUG is set, add sysfs attribute power/async\nfor every device allowing the user space to access the device\u0027s\npower.async_suspend flag and modify it, if desired.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "0e06b4a891c6a108412fe24b4500f499da2cf8a1",
      "tree": "ed254631bdc24e676b95b633d310b284a2df9c45",
      "parents": [
        "5af84b82701a96be4b033aaa51d86c72e2ded061"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sat Jan 23 22:25:15 2010 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Feb 26 20:39:10 2010 +0100"
      },
      "message": "PM: Add a switch for disabling/enabling asynchronous suspend/resume\n\nAdd sysfs attribute /sys/power/pm_async allowing the user space to\ndisable/enable asynchronous suspend/resume of devices.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "6cbf82148ff286ec22a55be6836c3a5bffc489c1",
      "tree": "77b1b0097f9c2389d56734ec4c022611aa1bd9db",
      "parents": [
        "552be54cc4232dc5acc49ccb372129d6f1b6923f"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Feb 17 23:44:58 2010 +0100"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Mon Feb 22 16:21:19 2010 -0800"
      },
      "message": "PCI PM: Run-time callbacks for PCI bus type\n\nIntroduce run-time PM callbacks for the PCI bus type.  Make the new\ncallbacks work in analogy with the existing system sleep PM\ncallbacks, so that the drivers already converted to struct dev_pm_ops\ncan use their suspend and resume routines for run-time PM without\nmodifications.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "5ada918b82399eef3afd6a71e3637697d6bd719f",
      "tree": "9bff5251d9d21960726078c2117a0ab19ca25956",
      "parents": [
        "c95d1e53ed89b75a4d7b68d1cbae4607b1479243"
      ],
      "author": {
        "name": "Bernhard Walle",
        "email": "bernhard@bwalle.de",
        "time": "Mon Dec 14 18:00:43 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:28 2009 -0800"
      },
      "message": "vt: introduce and use vt_kmsg_redirect() function\n\nThe kernel offers with TIOCL_GETKMSGREDIRECT ioctl() the possibility to\nredirect the kernel messages to a specific console.\n\nHowever, since it\u0027s not possible to switch to the kernel message console\nafter a panic(), it would be nice if the kernel would print the panic\nmessage on the current console.\n\nThis patch series adds a new interface to access the global kmsg_redirect\nvariable by a function to be able to use it in code where\nCONFIG_VT_CONSOLE is not set (kernel/panic.c).\n\nThis patch:\n\nInstead of using and exporting a global value kmsg_redirect, introduce a\nfunction vt_kmsg_redirect() that both can set and return the console where\nmessages are printed.\n\nChange all users of kmsg_redirect (the VT code itself and kernel/power.c)\nto the new interface.\n\nThe main advantage is that vt_kmsg_redirect() can also be used when\nCONFIG_VT_CONSOLE is not set.\n\nSigned-off-by: Bernhard Walle \u003cbernhard@bwalle.de\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7b199ca2025f4756daceec8802f07da636c524c9",
      "tree": "3951be7dc828cca1d5b4b68180cabe965e60cd83",
      "parents": [
        "bab636b921017f0db6e0c2979438f50b898a9808"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Thu Dec 03 20:22:21 2009 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Dec 06 16:17:56 2009 +0100"
      },
      "message": "PM / Runtime: Export the PM runtime workqueue\n\nThis patch (as1306) exports the PM runtime workqueue for use by\nloadable modules.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "66d0ae4d6ffa45b8e6d8bdbf85f8f1b285c8152d",
      "tree": "3a0b33dd8c5c349ac4a48a177d8907c1ef3bd822",
      "parents": [
        "8e60c6a1348e17e68ad73589a52a03876e7059be"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Sun Dec 06 16:16:24 2009 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Dec 06 16:16:24 2009 +0100"
      },
      "message": "PM / Hibernate: Swap, use KERN_CONT\n\nUse KERN_CONT in save_image() for printks, so that anybody won\u0027t\ntry to add a loglevel.\n\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "8e60c6a1348e17e68ad73589a52a03876e7059be",
      "tree": "320d06254eabd0367e36c65233e6394f83308e8e",
      "parents": [
        "0414f2ec03d72dc4e569627e6112fa6dafc99a79"
      ],
      "author": {
        "name": "Nigel Cunningham",
        "email": "nigel@tuxonice.net",
        "time": "Sun Dec 06 16:16:07 2009 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Dec 06 16:16:07 2009 +0100"
      },
      "message": "PM / Hibernate: Shift remaining code from swsusp.c to hibernate.c\n\nShift the remaining declaration of the variable in_suspend and the\nfunction swsusp_show_speed from swsusp.c to hibernate.c, and delete\nswsusp.c.\n\nSigned-off-by: Nigel Cunningham \u003cnigel@tuxonice.net\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "0414f2ec03d72dc4e569627e6112fa6dafc99a79",
      "tree": "679fe5c0b89cc58194d187e25787f79bb7da3441",
      "parents": [
        "64357ed468025614d48daa6cc87674ae5616f8fb"
      ],
      "author": {
        "name": "Nigel Cunningham",
        "email": "nigel@tuxonice.net",
        "time": "Sun Dec 06 16:15:53 2009 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Dec 06 16:15:53 2009 +0100"
      },
      "message": "PM / Hibernate: Move swap functions to kernel/power/swap.c.\n\nMove hibernation code\u0027s functions for allocating and freeing swap\nfrom swsusp.c to swap.c, which is where you\u0027d expect to find them.\n\nSigned-off-by: Nigel Cunningham \u003cnigel@tuxonice.net\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "64357ed468025614d48daa6cc87674ae5616f8fb",
      "tree": "2467c239364d7602755b73203025d329c6f84b22",
      "parents": [
        "be404f0212ffa8f67361f8ee460a25d901d88991",
        "6ec22f9b037fc0c2e00ddb7023fad279c365324d"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Dec 06 16:06:11 2009 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Dec 06 16:06:11 2009 +0100"
      },
      "message": "Merge branch \u0027master\u0027 into for-linus\n"
    },
    {
      "commit": "bf9fd67a0328d56eff6022f80d4eb88ba6614119",
      "tree": "e2621ab848a7ad7cae2397e0356ece7e2eeea452",
      "parents": [
        "4ff277f9e42fa16314045bd124a61519286094c0"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Wed Oct 28 22:55:42 2009 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Nov 03 11:03:09 2009 +0100"
      },
      "message": "PM / Hibernate: Add newline to load_image() fail path\n\nFinish a line by \\n when load_image fails in the middle of loading.\n\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "4ff277f9e42fa16314045bd124a61519286094c0",
      "tree": "59c00800cead3926938a68145dcddba4b9ad160f",
      "parents": [
        "76b57e613f6006ff525a17876c89326d127cadc9"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Wed Oct 28 22:55:33 2009 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Nov 03 11:02:43 2009 +0100"
      },
      "message": "PM / Hibernate: Fix error handling in save_image()\n\nThere are too many retval variables in save_image(). Thus error return\nvalue from snapshot_read_next() may be ignored and only part of the\nsnapshot (successfully) written.\n\nRemove \u0027error\u0027 variable, invert the condition in the do-while loop\nand convert the loop to use only \u0027ret\u0027 variable.\n\nSwitch the rest of the function to consider only \u0027ret\u0027.\n\nAlso make sure we end printed line by \\n if an error occurs.\n\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "76b57e613f6006ff525a17876c89326d127cadc9",
      "tree": "244d876f24581fb40d1900003c55b1c7ca5abb91",
      "parents": [
        "9905d1b411946fb3fb228e8c6529fd94afda8a92"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Wed Oct 07 22:37:35 2009 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Nov 03 11:01:46 2009 +0100"
      },
      "message": "PM / Hibernate: Fix blkdev refleaks\n\nWhile cruising through the swsusp code I found few blkdev reference\nleaks of resume_bdev.\n\nswsusp_read: remove blkdev_put altogether. Some fail paths do\n             not do that.\nswsusp_check: make sure we always put a reference on fail paths\nsoftware_resume: all fail paths between swsusp_check and swsusp_read\n                 omit swsusp_close. Add it in those cases. And since\n                 swsusp_read doesn\u0027t drop the reference anymore, do\n                 it here unconditionally.\n\n[rjw: Fixed a small coding style issue.]\n\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "be404f0212ffa8f67361f8ee460a25d901d88991",
      "tree": "f3f30529e574a935c121926267e38b05388e3095",
      "parents": [
        "964fe080d94db82a3268443e9b9ece4c60246414"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Oct 08 22:47:30 2009 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Oct 28 22:53:09 2009 +0100"
      },
      "message": "PM / freezer: Don\u0027t get over-anxious while waiting\n\nFreezing isn\u0027t exactly the most latency sensitive operation and\nthere\u0027s no reason to burn cpu cycles and power waiting for it to\ncomplete.  msleep(10) instead of yield().  This should improve\nreliability of emergency hibernation.\n\n[rjw: Modified the comment next to the msleep(10).]\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "04bf7539c08d64184736cdc5e4ad617eda77eb0f",
      "tree": "b5fd1d3877e2a781a7953c408fdbde952acbdbc6",
      "parents": [
        "af2bd9d534ca9f1ffdeb0780fb8508e71ed55803"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Oct 20 06:45:02 2009 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 22 08:23:45 2009 +0900"
      },
      "message": "PM: Make warning in suspend_test_finish() less likely to happen\n\nIncrease TEST_SUSPEND_SECONDS to 10 so the warning in\nsuspend_test_finish() doesn\u0027t annoy the users of slower systems so much.\n\nAlso, make the warning print the suspend-resume cycle time, so that we\nknow why the warning actually triggered.\n\nPatch prepared during the hacking session at the Kernel Summit in Tokyo.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2bcd57ab61e7cabed626226a3771617981c11ce1",
      "tree": "687c0c35fb2a632cb8c56b2729f9c3873c9461bd",
      "parents": [
        "95e0d86badc410d525ea7218fd32df7bfbf9c837"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Thu Sep 24 04:22:25 2009 +0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 18:13:10 2009 -0700"
      },
      "message": "headers: utsname.h redux\n\n* remove asm/atomic.h inclusion from linux/utsname.h --\n   not needed after kref conversion\n * remove linux/utsname.h inclusion from files which do not need it\n\nNOTE: it looks like fs/binfmt_elf.c do not need utsname.h, however\ndue to some personality stuff it _is_ needed -- cowardly leave ELF-related\nheaders and files alone.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1a8670a29b5277cbe601f74ab63d2c5211fb3005",
      "tree": "1b2ca94009c1f3d7ff05bbda3b8956631e3f38d9",
      "parents": [
        "0b21767637c3c99890a248fe47ac414e51cf5eb7"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Mon Sep 21 17:03:09 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:38 2009 -0700"
      },
      "message": "oom: move oom_killer_enable()/oom_killer_disable to where they belong\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nAcked-by: David Rientjes \u003crientjes@google.com\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3c1596efe167322dae87f8390d36f91ce2d7f936",
      "tree": "b086435695f71312e79986a28a703a23760066ec",
      "parents": [
        "4481374ce88ba8f460c8b89f2572027bd27057d0"
      ],
      "author": {
        "name": "Jan Beulich",
        "email": "JBeulich@novell.com",
        "time": "Mon Sep 21 17:03:06 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:38 2009 -0700"
      },
      "message": "mm: don\u0027t use alloc_bootmem_low() where not strictly needed\n\nSince alloc_bootmem() will never return inaccessible (via virtual\naddressing) memory anyway, using the ..._low() variant only makes sense\nwhen the physical address range of the allocated memory must fulfill\nfurther constraints, espacially since on 64-bits (or more generally in all\ncases where the pools the two variants allocate from are than the full\navailable range.\n\nProbably the use in alloc_tce_table() could also be eliminated (based on\ncode inspection of pci-calgary_64.c), but that seems too risky given I\nknow nothing about that hardware and have no way to test it.\n\nSigned-off-by: Jan Beulich \u003cjbeulich@novell.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8d233558cd99a888571bb5a88a74970879e0aba4",
      "tree": "a5a39a0faff85cd26ed3dc7aa7e7ee4406677fdb",
      "parents": [
        "8b92e87d39bfd046e7581e1fe0f40eac40f88608"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@linux.intel.com",
        "time": "Sat Sep 19 13:13:25 2009 -0700"
      },
      "committer": {
        "name": "Live-CD User",
        "email": "linux@linux.site",
        "time": "Sat Sep 19 13:13:25 2009 -0700"
      },
      "message": "vt: remove power stuff from kernel/power\n\nIn the past someone gratuitiously borrowed chunks of kernel internal vt\ncode and dumped them in kernel/power. They have all sorts of deep relations\nwith the vt code so put them in the vt tree instead\n\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "8de0307326be94148436082a9abf365da8e3c66d",
      "tree": "816cffb8eedac9adea9876ded5e587ee15205c9c",
      "parents": [
        "98e73dc5d2dadfcb95305ad71ac9239f4e361870"
      ],
      "author": {
        "name": "Wu Fengguang",
        "email": "fengguang.wu@intel.com",
        "time": "Wed Jul 22 19:56:10 2009 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Mon Sep 14 20:26:59 2009 +0200"
      },
      "message": "PM: Trivial fixes\n\nFix the definition of BM_BITS_PER_BLOCK and kerneldoc\ndescription of create_bm_block_list().\n\n[rjw: Added changelog.]\n\nSigned-off-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "98e73dc5d2dadfcb95305ad71ac9239f4e361870",
      "tree": "f6a0b8098b02d2ef8e673ceef34150df55425ce7",
      "parents": [
        "ef4aede3f10d82adef1fb044b565ba5f08f851e0"
      ],
      "author": {
        "name": "Gerald Schaefer",
        "email": "gerald.schaefer@de.ibm.com",
        "time": "Wed Jul 22 00:36:56 2009 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Mon Sep 14 20:26:59 2009 +0200"
      },
      "message": "PM / Hibernate / Memory hotplug: Always use for_each_populated_zone()\n\nUse for_each_populated_zone() instead of for_each_zone() in hibernation\ncode. This fixes a bug on s390, where we allow both config options\nHIBERNATION and MEMORY_HOTPLUG, so that we also have a ZONE_MOVABLE\nhere. We only allow hibernation if no memory hotplug operation was\nperformed, so in fact both features can only be used exclusively, but\nthis way we don\u0027t need 2 differently configured (distribution) kernels.\n\nIf we have an unpopulated ZONE_MOVABLE, we allow hibernation but run\ninto a BUG_ON() in memory_bm_test/set/clear_bit() because hibernation\ncode iterates through all zones, not only the populated zones, in\nseveral places. For example, swsusp_free() does for_each_zone() and\nthen checks for pfn_valid(), which is true even if the zone is not\npopulated, resulting in a BUG_ON() later because the pfn cannot be\nfound in the memory bitmap.\n\nReplacing all occurences of for_each_zone() in hibernation code with\nfor_each_populated_zone() would fix this issue.\n\n[rjw: Rebased on top of linux-next hibernation patches.]\n\nSigned-off-by: Gerald Schaefer \u003cgerald.schaefer@de.ibm.com\u003e\nAcked-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "ef4aede3f10d82adef1fb044b565ba5f08f851e0",
      "tree": "58566c694aa036e75df401979bd8a85ffa718f18",
      "parents": [
        "64a473cb74a88cb4991edf985d55a266e65292e1"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Jul 08 13:24:12 2009 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Mon Sep 14 20:26:59 2009 +0200"
      },
      "message": "PM/Hibernate: Do not try to allocate too much memory too hard (rev. 2)\n\nWe want to avoid attempting to free too much memory too hard during\nhibernation, so estimate the minimum size of the image to use as the\nlower limit for preallocating memory.\n\nThe approach here is based on the (experimental) observation that we\ncan\u0027t free more page frames than the sum of:\n\n* global_page_state(NR_SLAB_RECLAIMABLE)\n* global_page_state(NR_ACTIVE_ANON)\n* global_page_state(NR_INACTIVE_ANON)\n* global_page_state(NR_ACTIVE_FILE)\n* global_page_state(NR_INACTIVE_FILE)\n\nminus\n\n* global_page_state(NR_FILE_MAPPED)\n\nNamely, if this number is subtracted from the number of saveable\npages in the system, we get a good estimate of the minimum reasonable\nsize of a hibernation image.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\n"
    },
    {
      "commit": "64a473cb74a88cb4991edf985d55a266e65292e1",
      "tree": "173402070f904951c9ec16a55e3f96e75289f14c",
      "parents": [
        "4bb334353ebd821bc8eeabeb019eaac33c7307df"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Jul 08 13:24:05 2009 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Mon Sep 14 20:26:58 2009 +0200"
      },
      "message": "PM/Hibernate: Do not release preallocated memory unnecessarily (rev. 2)\n\nSince the hibernation code is now going to use allocations of memory\nto make enough room for the image, it can also use the page frames\nallocated at this stage as image page frames.  The low-level\nhibernation code needs to be rearranged for this purpose, but it\nallows us to avoid freeing a great number of pages and allocating\nthese same pages once again later, so it generally is worth doing.\n\n[rev. 2: Take highmem into account correctly.]\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "4bb334353ebd821bc8eeabeb019eaac33c7307df",
      "tree": "fc827906f10eebaed4c0483b25beaaba70b0b1dc",
      "parents": [
        "e681c9dd62fe8fcc5bba28a3ca3f7dc8be940206"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Jul 08 13:23:51 2009 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Mon Sep 14 20:26:58 2009 +0200"
      },
      "message": "PM/Hibernate: Rework shrinking of memory\n\nRework swsusp_shrink_memory() so that it calls shrink_all_memory()\njust once to make some room for the image and then allocates memory\nto apply more pressure to the memory management subsystem, if\nnecessary.\n\nUnfortunately, we don\u0027t seem to be able to drop shrink_all_memory()\nentirely just yet, because that would lead to huge performance\nregressions in some test cases.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\n"
    },
    {
      "commit": "e681c9dd62fe8fcc5bba28a3ca3f7dc8be940206",
      "tree": "3ac522149e3171417897754b53b765e38d9ca25a",
      "parents": [
        "ac8d513a6801c8636922ccf4f30211810c9a56ce"
      ],
      "author": {
        "name": "Thadeu Lima de Souza Cascardo",
        "email": "cascardo@holoscopio.com",
        "time": "Wed Jul 08 13:23:32 2009 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Mon Sep 14 20:26:58 2009 +0200"
      },
      "message": "PM: Fix typo in label name s/Platofrm_finish/Platform_finish/\n\nAlthough the same label name is used somewhere else in the file, this\nparticular label was consistently typoed in all of its uses.\n\nSigned-off-by: Thadeu Lima de Souza Cascardo \u003ccascardo@holoscopio.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "5e928f77a09a07f9dd595bb8a489965d69a83458",
      "tree": "ef53ec90fa3214fd22e36b07c11c06b09e373d8d",
      "parents": [
        "8400146d0dc03590bba051399e4bb7e1cbf1c010"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Aug 18 23:38:32 2009 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Aug 23 00:04:44 2009 +0200"
      },
      "message": "PM: Introduce core framework for run-time PM of I/O devices (rev. 17)\n\nIntroduce a core framework for run-time power management of I/O\ndevices.  Add device run-time PM fields to \u0027struct dev_pm_info\u0027\nand device run-time PM callbacks to \u0027struct dev_pm_ops\u0027.  Introduce\na run-time PM workqueue and define some device run-time PM helper\nfunctions at the core level.  Document all these things.\n\nSpecial thanks to Alan Stern for his help with the design and\nmultiple detailed reviews of the pereceding versions of this patch\nand to Magnus Damm for testing feedback.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Magnus Damm \u003cdamm@igel.co.jp\u003e\n"
    },
    {
      "commit": "405f55712dfe464b3240d7816cc4fe4174831be2",
      "tree": "96c425ea7fa8b31058b8f83a433c5e5265c8ebc7",
      "parents": [
        "f9fabcb58a6d26d6efde842d1703ac7cfa9427b6"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Sat Jul 11 22:08:37 2009 +0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jul 12 12:22:34 2009 -0700"
      },
      "message": "headers: smp_lock.h redux\n\n* Remove smp_lock.h from files which don\u0027t need it (including some headers!)\n* Add smp_lock.h to files which do need it\n* Make smp_lock.h include conditional in hardirq.h\n  It\u0027s needed only for one kernel_locked() usage which is under CONFIG_PREEMPT\n\n  This will make hardirq.h inclusion cheaper for every PREEMPT\u003dn config\n  (which includes allmodconfig/allyesconfig, BTW)\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7f33d49a2ed546e01f7b1d0607661810f2421859",
      "tree": "8b05ac7ec2cd123efb266ecaa1bf0bd1487158f8",
      "parents": [
        "75927af8bcb940dad4fe281713d526cb520869ff"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Jun 16 15:32:41 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 19:47:40 2009 -0700"
      },
      "message": "mm, PM/Freezer: Disable OOM killer when tasks are frozen\n\nCurrently, the following scenario appears to be possible in theory:\n\n* Tasks are frozen for hibernation or suspend.\n* Free pages are almost exhausted.\n* Certain piece of code in the suspend code path attempts to allocate\n  some memory using GFP_KERNEL and allocation order less than or\n  equal to PAGE_ALLOC_COSTLY_ORDER.\n* __alloc_pages_internal() cannot find a free page so it invokes the\n  OOM killer.\n* The OOM killer attempts to kill a task, but the task is frozen, so\n  it doesn\u0027t die immediately.\n* __alloc_pages_internal() jumps to \u0027restart\u0027, unsuccessfully tries\n  to find a free page and invokes the OOM killer.\n* No progress can be made.\n\nAlthough it is now hard to trigger during hibernation due to the memory\nshrinking carried out by the hibernation code, it is theoretically\npossible to trigger during suspend after the memory shrinking has been\nremoved from that code path.  Moreover, since memory allocations are\ngoing to be used for the hibernation memory shrinking, it will be even\nmore likely to happen during hibernation.\n\nTo prevent it from happening, introduce the oom_killer_disabled switch\nthat will cause __alloc_pages_internal() to fail in the situations in\nwhich the OOM killer would have been called and make the freezer set\nthis switch after tasks have been successfully frozen.\n\n[akpm@linux-foundation.org: be nicer to the namespace]\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nCc: Fengguang Wu \u003cfengguang.wu@gmail.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "489f7ab6c18cdd64a2d444e056d60a0e722f4ad7",
      "tree": "2c7ed6a0042dc15c91ece08c5a3866f610ddca6d",
      "parents": [
        "b322b7816908487c08b89b72f838174c37d8c836",
        "82d27b2b2f3a80ffa7759a49b9cba39e47df476e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jun 14 13:46:25 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jun 14 13:46:25 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (31 commits)\n  trivial: remove the trivial patch monkey\u0027s name from SubmittingPatches\n  trivial: Fix a typo in comment of addrconf_dad_start()\n  trivial: usb: fix missing space typo in doc\n  trivial: pci hotplug: adding __init/__exit macros to sgi_hotplug\n  trivial: Remove the hyphen from git commands\n  trivial: fix ETIMEOUT -\u003e ETIMEDOUT typos\n  trivial: Kconfig: .ko is normally not included in module names\n  trivial: SubmittingPatches: fix typo\n  trivial: Documentation/dell_rbu.txt: fix typos\n  trivial: Fix Pavel\u0027s address in MAINTAINERS\n  trivial: ftrace:fix description of trace directory\n  trivial: unnecessary (void*) cast removal in sound/oss/msnd.c\n  trivial: input/misc: Fix typo in Kconfig\n  trivial: fix grammo in bus_for_each_dev() kerneldoc\n  trivial: rbtree.txt: fix rb_entry() parameters in sample code\n  trivial: spelling fix in ppc code comments\n  trivial: fix typo in bio_alloc kernel doc\n  trivial: Documentation/rbtree.txt: cleanup kerneldoc of rbtree.txt\n  trivial: Miscellaneous documentation typo fixes\n  trivial: fix typo milisecond/millisecond for documentation and source comments.\n  ...\n"
    },
    {
      "commit": "fce2b111fae9151a53dabb36513b398d03337a19",
      "tree": "9349fce23fca0e2d90780e40aac2a6535f820c32",
      "parents": [
        "8b759b84c8b3c27ccc8dd787294636297b3ebb40"
      ],
      "author": {
        "name": "Cornelia Huck",
        "email": "cornelia.huck@de.ibm.com",
        "time": "Wed Jun 10 01:28:19 2009 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Jun 12 21:32:33 2009 +0200"
      },
      "message": "PM/Hibernate: Move NVS routines into a seperate file (v2).\n\nThe *_nvs_* routines in swsusp.c make use of the io*map()\nfunctions, which are only provided for HAS_IOMEM, thus\nbreaking compilation if HAS_IOMEM is not set. Fix this\nby moving the *_nvs_* routines into hibernate_nvs.c, which\nis only compiled if HAS_IOMEM is set.\n\n[rjw: Change the name of the new file to hibernate_nvs.c, add the\n license line to the header comment.]\n\nSigned-off-by: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "8b759b84c8b3c27ccc8dd787294636297b3ebb40",
      "tree": "c80ae791c342d242fb97434c26be2b63764da77a",
      "parents": [
        "a9d7052363a6e06bb623ed1876c56c7ca5b2c6d8"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Jun 10 01:27:49 2009 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Jun 12 21:32:33 2009 +0200"
      },
      "message": "PM/Hibernate: Rename disk.c to hibernate.c\n\nChange the name of kernel/power/disk.c to kernel/power/hibernate.c\nin analogy with the file names introduced by the changes that\nseparated the suspend to RAM and standby funtionality from the\ncommon PM functions.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\n"
    },
    {
      "commit": "a9d7052363a6e06bb623ed1876c56c7ca5b2c6d8",
      "tree": "c4ec7fb30dc4510596ffc9ddffe308ef34837af2",
      "parents": [
        "783ea7d4eeefe895f2731fe73ac951e94418927b"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Jun 10 01:27:12 2009 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Jun 12 21:32:33 2009 +0200"
      },
      "message": "PM: Separate suspend to RAM functionality from core\n\nMove the suspend to RAM and standby code from kernel/power/main.c\nto two separate files, kernel/power/suspend.c containing the basic\nfunctions and kernel/power/suspend_test.c containing the automatic\nsuspend test facility based on the RTC clock alarm.\n\nThere are no changes in functionality related to these modifications.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\n"
    },
    {
      "commit": "fe419535d82724314bbf1244a0e740e4ea1bd3ae",
      "tree": "ceefd93df91b6325a99d481e79411dc310e3d27e",
      "parents": [
        "c6f37f12197ac3bd2e5a35f2f0e195ae63d437de"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Thu Jun 11 23:11:17 2009 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Jun 12 21:32:32 2009 +0200"
      },
      "message": "PM/Hibernate: Move memory shrinking to snapshot.c (rev. 2)\n\nA future patch is going to modify the memory shrinking code so that\nit will make memory allocations to free memory instead of using an\nartificial memory shrinking mechanism for that.  For this purpose it\nis convenient to move swsusp_shrink_memory() from\nkernel/power/swsusp.c to kernel/power/snapshot.c, because the new\nmemory-shrinking code is going to use things that are local to\nkernel/power/snapshot.c .\n\n[rev. 2: Make some functions static and remove their headers from\n kernel/power/power.h]\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nAcked-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\n"
    },
    {
      "commit": "c6f37f12197ac3bd2e5a35f2f0e195ae63d437de",
      "tree": "e9609ca63d211911582afcc4b8314887b85a6c46",
      "parents": [
        "e240b58c79144708530138e05f17c6d0d8d744a8"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun May 24 22:16:31 2009 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Jun 12 21:32:32 2009 +0200"
      },
      "message": "PM/Suspend: Do not shrink memory before suspend\n\nRemove the shrinking of memory from the suspend-to-RAM code, where\nit is not really necessary.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Nigel Cunningham \u003cnigel@tuxonice.net\u003e\nAcked-by: Wu Fengguang \u003cfengguang.wu@intel.com\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": "1dc492a0a4470852cb451db1e00d580ce9fd7a28",
      "tree": "7ab976bc5b58800d8d3d836ab49d5883b454f773",
      "parents": [
        "6d60f9dfc8d437e914d46fa355c50c695cad24e7"
      ],
      "author": {
        "name": "Manish Katiyar",
        "email": "mkatiyar@gmail.com",
        "time": "Sun Feb 22 10:24:27 2009 +0530"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Fri Jun 12 18:01:46 2009 +0200"
      },
      "message": "trivial: kernel/power/poweroff.c: whitespace fix\n\nFix coding style whitespace fixes. Patch compile tested\nBefore :-\ntotal: 1 errors, 0 warnings, 46 lines checked\nAfter\ntotal: 0 errors, 0 warnings, 46 lines checked\n\nBefore :-\n  text\t   data\t    bss\t    dec\t    hex\tfilename\n    107\t     48\t      0\t    155\t     9b\tkernel/power/poweroff.o\nAfter\n   text\t   data\t    bss\t    dec\t    hex\tfilename\n    107\t     48\t      0\t    155\t     9b\tkernel/power/poweroff.o\n\nSigned-off-by: Manish Katiyar \u003cmkatiyar@gmail.com\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "32bdfac5462d777f35b00838893c4f87baf23efe",
      "tree": "92e4ef3af7b68007e8004eaca978865a29e543b0",
      "parents": [
        "59a3759d0fe8d969888c741bb33f4946e4d3750d"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun May 24 21:15:07 2009 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun May 24 21:15:07 2009 +0200"
      },
      "message": "PM: Do not hold dpm_list_mtx while disabling/enabling nonboot CPUs\n\nWe shouldn\u0027t hold dpm_list_mtx while executing\n[disable|enable]_nonboot_cpus(), because theoretically this may lead\nto a deadlock as shown by the following example (provided by Johannes\nBerg):\n\nCPU 3       CPU 2                     CPU 1\n                                      suspend/hibernate\n            something:\n            rtnl_lock()               device_pm_lock()\n                                       -\u003e mutex_lock(\u0026dpm_list_mtx)\n\n            mutex_lock(\u0026dpm_list_mtx)\n\nlinkwatch_work\n -\u003e rtnl_lock()\n                                      disable_nonboot_cpus()\n                                       -\u003e flush CPU 3 workqueue\n\nFortunately, device drivers are supposed to stop any activities that\nmight lead to the registration of new device objects way before\ndisable_nonboot_cpus() is called, so it shouldn\u0027t be necessary to\nhold dpm_list_mtx over the entire late part of device suspend and\nearly part of device resume.\n\nThus, during the late suspend and the early resume of devices acquire\ndpm_list_mtx only when dpm_list is going to be traversed and release\nit right after that.\n\nThis patch is reported to fix the regressions tracked as\nhttp://bugzilla.kernel.org/show_bug.cgi?id\u003d13245.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nReported-by: Miles Lane \u003cmiles.lane@gmail.com\u003e\nTested-by: Ming Lei \u003ctom.leiming@gmail.com\u003e\n"
    },
    {
      "commit": "4484079d517c2b6521621be0b1ea246ccc55c7d7",
      "tree": "60d0ae568555f1bd7329be411b28e55b12dc64c3",
      "parents": [
        "8c21f34126222239450717b78dda0c4962d9ebfa"
      ],
      "author": {
        "name": "Bjorn Helgaas",
        "email": "bjorn.helgaas@hp.com",
        "time": "Fri May 15 23:30:50 2009 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri May 15 23:30:50 2009 +0200"
      },
      "message": "PM: check sysdev_suspend(PMSG_FREEZE) return value\n\nCheck the return value of sysdev_suspend().  I think this was a typo.\nWithout this change, the following \"if\" check is always false.\nI also changed the error message so it\u0027s distinguishable from the\nsimilar message a few lines above.\n\nSigned-off-by: Bjorn Helgaas \u003cbjorn.helgaas@hp.com\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "0c8454f56623505a99463405fd7d5664adfbb094",
      "tree": "64e594f2846d997213890b59168307d12e676ff0",
      "parents": [
        "4b2b0b9753194cad44d7295c32044b89710efd70"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sat Apr 25 00:16:06 2009 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 24 15:31:30 2009 -0700"
      },
      "message": "PM/Hibernate: Fix waiting for image device to appear on resume\n\nCommit c751085943362143f84346d274e0011419c84202 (\"PM/Hibernate: Wait for\nSCSI devices scan to complete during resume\") added a call to\nscsi_complete_async_scans() to software_resume(), so that it waited for\nthe SCSI scanning to complete, but the call was added at a wrong place.\n\nNamely, it should have been added after wait_for_device_probe(), which\nis called only if the image partition hasn\u0027t been specified yet.  Also,\nit\u0027s reasonable to check if the image partition is present and only wait\nfor the device probing and SCSI scanning to complete if it is not the\ncase.\n\nAdditionally, since noresume is checked right at the beginning of\nsoftware_resume() and the function returns immediately if it\u0027s set, it\ndoesn\u0027t make sense to check it once again later.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6a7c7eaf71b636f197d73b381a2ab729ebdcfb2e",
      "tree": "73c642bff623c2f1a87f6c353b21e3484bd9e899",
      "parents": [
        "ff54250a0ebab7f90a5f848a0ba63f999830c872"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Apr 19 20:08:42 2009 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Apr 19 20:08:42 2009 +0200"
      },
      "message": "PM/Suspend: Introduce two new platform callbacks to avoid breakage\n\nCommit 900af0d973856d6feb6fc088c2d0d3fde57707d3 (PM: Change suspend\ncode ordering) changed the ordering of suspend code in such a way\nthat the platform .prepare() callback is now executed after the\ndevice drivers\u0027 late suspend callbacks have run.  Unfortunately, this\nturns out to break ARM platforms that need to talk via I2C to power\ncontrol devices during the .prepare() callback.\n\nFor this reason introduce two new platform suspend callbacks,\n.prepare_late() and .wake(), that will be called just prior to\ndisabling non-boot CPUs and right after bringing them back on line,\nrespectively, and use them instead of .prepare() and .finish() for\nACPI suspend.  Make the PM core execute the .prepare() and .finish()\nplatform suspend callbacks where they were executed previously (that\nis, right after calling the regular suspend methods provided by\ndevice drivers and right before executing their regular resume\nmethods, respectively).\n\nIt is not necessary to make analogous changes to the hibernation\ncode and data structures at the moment, because they are only used\nby ACPI platforms.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nReported-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\nAcked-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "297dbf50d7ab0539cf9cf7f2a66918665a18e45e",
      "tree": "56259196991d500a9e503613182a4ffe868b932e",
      "parents": [
        "b1fffc9ca6ca4c3feef3a7e8405252d528d312dc"
      ],
      "author": {
        "name": "Nikanth Karthikesan",
        "email": "knikanth@suse.de",
        "time": "Wed Apr 15 10:37:04 2009 +0530"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Apr 15 12:10:13 2009 +0200"
      },
      "message": "swap: Remove code handling bio_alloc failure with __GFP_WAIT\n\nRemove code handling bio_alloc failure with __GFP_WAIT.\n\nSigned-off-by: Nikanth Karthikesan \u003cknikanth@suse.de\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "c751085943362143f84346d274e0011419c84202",
      "tree": "5323da4e3eba8126bf44e5107960ee2323d28a16",
      "parents": [
        "7b11428d37fe65643172feff66cd0a4d72d1932a"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Apr 12 20:06:56 2009 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 13 11:37:07 2009 -0700"
      },
      "message": "PM/Hibernate: Wait for SCSI devices scan to complete during resume\n\nThere is a race between resume from hibernation and the asynchronous\nscanning of SCSI devices and to prevent it from happening we need to\ncall scsi_complete_async_scans() during resume from hibernation.\n\nIn addition, if the resume from hibernation is userland-driven, it\u0027s\nbetter to wait for all device probes in the kernel to complete before\nattempting to open the resume device.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "811158b147a503fbdf9773224004ffd32002d1fe",
      "tree": "0a11dcfefe721bfc38ea9f1f4a238822dbae0dda",
      "parents": [
        "4e76c5ccd5ac9bd003467d3bb0f49b18572dd4cd",
        "b26e0ed4936b743b693a4cc1413561fa3e4eaf65"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 03 15:24:35 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 03 15:24:35 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (28 commits)\n  trivial: Update my email address\n  trivial: NULL noise: drivers/mtd/tests/mtd_*test.c\n  trivial: NULL noise: drivers/media/dvb/frontends/drx397xD_fw.h\n  trivial: Fix misspelling of \"Celsius\".\n  trivial: remove unused variable \u0027path\u0027 in alloc_file()\n  trivial: fix a pdlfush -\u003e pdflush typo in comment\n  trivial: jbd header comment typo fix for JBD_PARANOID_IOFAIL\n  trivial: wusb: Storage class should be before const qualifier\n  trivial: drivers/char/bsr.c: Storage class should be before const qualifier\n  trivial: h8300: Storage class should be before const qualifier\n  trivial: fix where cgroup documentation is not correctly referred to\n  trivial: Give the right path in Documentation example\n  trivial: MTD: remove EOL from MODULE_DESCRIPTION\n  trivial: Fix typo in bio_split()\u0027s documentation\n  trivial: PWM: fix of #endif comment\n  trivial: fix typos/grammar errors in Kconfig texts\n  trivial: Fix misspelling of firmware\n  trivial: cgroups: documentation typo and spelling corrections\n  trivial: Update contact info for Jochen Hein\n  trivial: fix typo \"resgister\" -\u003e \"register\"\n  ...\n"
    },
    {
      "commit": "a8af78982ff4c0b3731527b0217d286a343a3089",
      "tree": "10f0ebe13c999dd54efdf79ff606b65e7952b69d",
      "parents": [
        "5f0e3da6e186598bbd2569410ab60fa645ba00c9"
      ],
      "author": {
        "name": "Magnus Damm",
        "email": "damm@igel.co.jp",
        "time": "Tue Mar 31 15:23:37 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 01 08:59:16 2009 -0700"
      },
      "message": "pm: rework includes, remove arch ifdefs\n\nMake the following header file changes:\n\n - remove arch ifdefs and asm/suspend.h from linux/suspend.h\n - add asm/suspend.h to disk.c (for arch_prepare_suspend())\n - add linux/io.h to swsusp.c (for ioremap())\n - x86 32/64 bit compile fixes\n\nSigned-off-by: Magnus Damm \u003cdamm@igel.co.jp\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nAcked-by: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ee99c71c59f897436ec65debb99372b3146f9985",
      "tree": "051f1c43b7c7658689d4b2c23b3d8585d6464a89",
      "parents": [
        "a6dc60f8975ad96d162915e07703a4439c80dcf0"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Tue Mar 31 15:19:31 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 01 08:59:11 2009 -0700"
      },
      "message": "mm: introduce for_each_populated_zone() macro\n\nImpact: cleanup\n\nIn almost cases, for_each_zone() is used with populated_zone().  It\u0027s\nbecause almost function doesn\u0027t need memoryless node information.\nTherefore, for_each_populated_zone() can help to make code simplify.\n\nThis patch has no functional change.\n\n[akpm@linux-foundation.org: small cleanup]\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nReviewed-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4aecd6718939eb3c4145b248369b65f7483a8a02",
      "tree": "20030736ca8e762b5de7ad2e66c39321c9ef94f5",
      "parents": [
        "900af0d973856d6feb6fc088c2d0d3fde57707d3"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Mon Mar 16 22:34:26 2009 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Mon Mar 30 21:46:54 2009 +0200"
      },
      "message": "PM: Change hibernation code ordering\n\nChange the ordering of the hibernation core code so that the platform\n\"prepare\" callbacks are executed and the nonboot CPUs are disabled\nafter calling device drivers\u0027 \"late suspend\" methods.\n\nThis change (along with the previous analogous change of the suspend\ncore code) will allow us to rework the PCI PM core so that the power\nstate of devices is changed in the \"late\" phase of suspend (and\nanalogously in the \"early\" phase of resume), which in turn will allow\nus to avoid the race condition where a device using shared interrupts\nis put into a low power state with interrupts enabled and then an\ninterrupt (for another device) comes in and confuses its driver.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "900af0d973856d6feb6fc088c2d0d3fde57707d3",
      "tree": "4502d4108200fa0eb38dd5f0155b205fed166e48",
      "parents": [
        "2ed8d2b3a81bdbb0418301628ccdb008ac9f40b7"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Mon Mar 16 22:34:15 2009 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Mon Mar 30 21:46:54 2009 +0200"
      },
      "message": "PM: Change suspend code ordering\n\nChange the ordering of the suspend core code so that the platform\n\"prepare\" callback is executed and the nonboot CPUs are disabled\nafter calling device drivers\u0027 \"late suspend\" methods.\n\nThis change will allow us to rework the PCI PM core so that the power\nstate of devices is changed in the \"late\" phase of suspend (and\nanalogously in the \"early\" phase of resume), which in turn will allow\nus to avoid the race condition where a device using shared interrupts\nis put into a low power state with interrupts enabled and then an\ninterrupt (for another device) comes in and confuses its driver.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\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": "877d03105d04b2c13e241130277fa69c8d2564f0",
      "tree": "79234721145f9dab3e0970027ed0b9b9f8929725",
      "parents": [
        "caa790ba6cb88dccfab356960d93e2f4e0bd8704"
      ],
      "author": {
        "name": "Nick Andrew",
        "email": "nick@nick-andrew.net",
        "time": "Mon Jan 26 11:06:57 2009 +0100"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Mon Mar 30 15:21:59 2009 +0200"
      },
      "message": "trivial: Fix misspelling of firmware\n\nFix misspelling of firmware.\n\nSigned-off-by: Nick Andrew \u003cnick@nick-andrew.net\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\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": "adfafefd104d840ee4461965f22624d77532675b",
      "tree": "6c6ba553a2b11703bf5952bd789905ea37c4fc4f",
      "parents": [
        "460c1338fc05add0e8050d4945a46f207b13a5fc",
        "403f307576396f3362fbb65af190885b6036c72c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Feb 21 14:17:26 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Feb 21 14:17:26 2009 -0800"
      },
      "message": "Merge branch \u0027hibernate\u0027\n\n* hibernate:\n  PM: Fix suspend_console and resume_console to use only one semaphore\n  PM: Wait for console in resume\n  PM: Fix pm_notifiers during user mode hibernation\n  swsusp: clean up shrink_all_zones()\n  swsusp: dont fiddle with swappiness\n  PM: fix build for CONFIG_PM unset\n  PM/hibernate: fix \"swap breaks after hibernation failures\"\n  PM/resume: wait for device probing to finish\n  Consolidate driver_probe_done() loops into one place\n"
    },
    {
      "commit": "b090f9fa53d51c8a33370071de9e391919ee1fa7",
      "tree": "55cf1fe637cf4808d8139108c3d7871647dfc00f",
      "parents": [
        "ebae2604f2c3693717d9dc687c84578f0526480c"
      ],
      "author": {
        "name": "Arve Hjønnevåg",
        "email": "arve@android.com",
        "time": "Sat Feb 14 02:06:17 2009 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Feb 21 14:17:17 2009 -0800"
      },
      "message": "PM: Wait for console in resume\n\nAvoids later waking up to a blinking cursor if the device woke up and\nreturned to sleep before the console switch happened.\n\nSigned-off-by: Brian Swetland \u003cswetland@google.com\u003e\nSigned-off-by: Arve Hjønnevåg \u003carve@android.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nCc: Len Brown \u003clenb@kernel.org\u003e\nCc: Greg KH \u003cgregkh@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ebae2604f2c3693717d9dc687c84578f0526480c",
      "tree": "b385e3b401ab8bc2f278aa36a03a639bf1ea61cd",
      "parents": [
        "0cb57258fe01e9b21076b6a15b6aec7a24168228"
      ],
      "author": {
        "name": "Andrey Borzenkov",
        "email": "arvidjaar@mail.ru",
        "time": "Sat Feb 14 02:05:14 2009 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Feb 21 14:17:17 2009 -0800"
      },
      "message": "PM: Fix pm_notifiers during user mode hibernation\n\nSnapshot device is opened with O_RDONLY during suspend and O_WRONLY durig\nresume.  Make sure we also call notifiers with correct parameter telling\nthem what we are really doing.\n\nSigned-off-by: Andrey Borzenkov \u003carvidjaar@mail.ru\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nCc: Len Brown \u003clenb@kernel.org\u003e\nCc: Greg KH \u003cgregkh@suse.de\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "09664fda48c5dd63277f1f42888ca9d5dca6037a",
      "tree": "b5170e081b83fe449db1431c1a3591c162f528c4",
      "parents": [
        "a1bb7d61233ba5fb5cd865f907a9ddcc8f8c02bd"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sat Feb 14 02:02:16 2009 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Feb 21 14:17:17 2009 -0800"
      },
      "message": "PM: fix build for CONFIG_PM unset\n\nCompilation of kprobes.c with CONFIG_PM unset is broken due to some broken\nconfig dependncies.  Fix that.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nCc: Len Brown \u003clenb@kernel.org\u003e\nCc: Greg KH \u003cgregkh@suse.de\u003e\nReported-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nTested-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "eed3ee08292d821282169708e5e8e89a0d0a0c63",
      "tree": "0c455705568521c99c84d9ef095a3ae29d1f02db",
      "parents": [
        "216773a787c3c46ef26bf1742c1fdba37d26be45"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Sat Feb 14 02:00:19 2009 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Feb 21 14:17:17 2009 -0800"
      },
      "message": "PM/resume: wait for device probing to finish\n\nthe resume code does not currently wait for device probing to finish.\nEven without async function calls this is dicey and not correct,\nbut with async function calls during the boot sequence this is going\nto get hit more...\n\nThis patch adds the synchronization using the newly introduced helper.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nCc: Len Brown \u003clenb@kernel.org\u003e\nAcked-by: Greg KH \u003cgregkh@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ba95fd47d177d46743ad94055908d22840370e06",
      "tree": "f29e6921fefba2728c3b7f6854ac7f7729f602b2",
      "parents": [
        "59af0a0b5848caf38f1bf7013905c3e9cdba4d1d",
        "be987fdb55a4726e2fcbab7501f89276bdb57288"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 18 18:33:04 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 18 18:33:04 2009 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block:\n  block: fix deadlock in blk_abort_queue() for drivers that readd to timeout list\n  block: fix booting from partitioned md array\n  block: revert part of 18ce3751ccd488c78d3827e9f6bf54e6322676fb\n  cciss: PCI power management reset for kexec\n  paride/pg.c: xs(): \u0026\u0026/|| confusion\n  fs/bio: bio_alloc_bioset: pass right object ptr to mempool_free\n  block: fix bad definition of BIO_RW_SYNC\n  bsg: Fix sense buffer bug in SG_IO\n"
    },
    {
      "commit": "42f5e039c3f6512271636928ddc4e7f7a0371672",
      "tree": "6582d5f88aeaf112e2293a2147f263fb726352cb",
      "parents": [
        "67e055d144c5b2acdc1c63811fde031263bf92c5"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Feb 18 14:48:21 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 18 15:37:54 2009 -0800"
      },
      "message": "pm: fix build for CONFIG_PM unset\n\nCompilation of kprobes.c with CONFIG_PM unset is broken due to some broken\nconfig dependncies.  Fix that.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nReported-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nTested-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nCc: Len Brown \u003clenb@kernel.org\u003e\nAcked-by: Pavel Machek \u003cpavel@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "93dbb393503d53cd226e5e1f0088fe8f4dbaa2b8",
      "tree": "790365e207951cf6810e8995f3141ddc0b74519b",
      "parents": [
        "c1c201200a359cf3b6e2e36a4236cdca77a3cd8e"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Feb 16 10:25:40 2009 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Feb 18 10:32:00 2009 +0100"
      },
      "message": "block: fix bad definition of BIO_RW_SYNC\n\nWe can\u0027t OR shift values, so get rid of BIO_RW_SYNC and use BIO_RW_SYNCIO\nand BIO_RW_UNPLUG explicitly. This brings back the behaviour from before\n213d9417fec62ef4c3675621b9364a667954d4dd.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "2d29c6a075787f2c1bc49b86a084d2b878f72fc4",
      "tree": "d5256827f6099e4358e360940684b40e7fc29b1b",
      "parents": [
        "2b25c9f01aa58d48129b2f93748dfb5d1f7ab0a2",
        "0a3db1cec5d476804185114ff5d1845aed3936b3",
        "9fdd54f206722ecee7fd7ba9dba26140450e7c32",
        "5ec5d38a1c8af255ffc481c81eef13e9155524b3",
        "4312495f7db63d27ef52ec83dab55f14a8c43827",
        "370154bbefb627cb5f987f5646284755c7684bc8",
        "4d9391557b68475b118ec7626607c37b14ae8c16",
        "62663ea8220366472fe20462831f2d69d7987439"
      ],
      "author": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Sat Feb 07 01:34:56 2009 -0500"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Sat Feb 07 01:34:56 2009 -0500"
      },
      "message": "Merge branches \u0027release\u0027, \u0027asus\u0027, \u0027bugzilla-12450\u0027, \u0027cpuidle\u0027, \u0027debug\u0027, \u0027ec\u0027, \u0027misc\u0027, \u0027printk\u0027 and \u0027processor\u0027 into release\n"
    },
    {
      "commit": "abfe2d7b915c872f3a1fd203267cedebf90daa45",
      "tree": "a76cc5012e6d46da44b2e861df172ceef25bd39b",
      "parents": [
        "f3b8436ad9a8ad36b3c9fa1fe030c7f38e5d3d0b"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Mon Jan 19 20:54:54 2009 +0100"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Tue Jan 27 02:15:45 2009 -0500"
      },
      "message": "Hibernation: Introduce system_entering_hibernation\n\nIntroduce boolean function system_entering_hibernation() returning\n\u0027true\u0027 during the last phase of hibernation, in which devices are\nbeing put into low power states and the sleep state (for example,\nACPI S4) is finally entered.\n\nSome device drivers need such a function to check if the system is\nin the final phase of hibernation.  In particular, some SATA drivers\nare going to use it for blacklisting systems in which the disks\nshould not be spun down during the last phase of hibernation (the\nBIOS will do that anyway).\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "091d71e023557136e96f0e54f301497a3fc95dc3",
      "tree": "342a69b70472a850997dff775fc0b2da453d1e28",
      "parents": [
        "1de9e8e70f5acc441550ca75433563d91b269bbe"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sat Jan 17 00:10:45 2009 +0100"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Jan 16 18:13:41 2009 -0500"
      },
      "message": "PM: Fix compilation warning in kernel/power/main.c\n\nReorder the code in kernel/power/main.c to fix compilation warning\ntriggered by unsetting CONFIG_SUSPEND.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "33f1d7ecc6cffff3c618a02295de969ebbacd95d",
      "tree": "66e5bc12c253f1b39abc468fbbf15d9cb455245d",
      "parents": [
        "c59765042f53a79a7a65585042ff463b69cb248c"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Jan 06 21:14:04 2009 +0100"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Jan 16 14:32:17 2009 -0500"
      },
      "message": "PM: Fix freezer compilation if PM_SLEEP is unset\n\nFreezer fails to compile if with the following configuration\nsettings:\n\nCONFIG_CGROUPS\u003dy\nCONFIG_CGROUP_FREEZER\u003dy\nCONFIG_MODULES\u003dy\nCONFIG_FREEZER\u003dy\nCONFIG_PM\u003dy\nCONFIG_PM_SLEEP\u003dn\n\nFix this by making process.o compilation depend on CONFIG_FREEZER.\n\nReported-by: Cheng Renquan \u003ccrquan@gmail.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Pavel Machek \u003cpavel@suse.cz\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "b2576e1d4408e134e2188c967b1f28af39cd79d4",
      "tree": "004f3c82faab760f304ce031d6d2f572e7746a50",
      "parents": [
        "3cc8a5f4ba91f67bbdb81a43a99281a26aab8d77",
        "2150edc6c5cf00f7adb54538b9ea2a3e9cedca3f"
      ],
      "author": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Jan 09 03:39:43 2009 -0500"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Jan 09 03:39:43 2009 -0500"
      },
      "message": "Merge branch \u0027linus\u0027 into release\n"
    },
    {
      "commit": "81ff86a11f54c9e266c6a6bc3ecd2c9a0f1e11cc",
      "tree": "7fb09c281647bb0086014904dfc94f721656ca9d",
      "parents": [
        "1d7e6cca1dfd167e5f1e2a7c53119b0c80c90c35"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Tue Jan 06 10:44:39 2009 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Jan 06 10:44:39 2009 -0800"
      },
      "message": "pm: struct device - replace bus_id with dev_name(), dev_set_name()\n\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "41c7bb9588904eb060a95bcad47bd3804a1ece25",
      "tree": "ccae4bd3cb26be171fad9e26147ef8839405f298",
      "parents": [
        "e0b582ec56f1a1d8b30ebf340a7b91fb09f26c8c"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Jan 01 10:12:28 2009 +1030"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Jan 01 10:12:28 2009 +1030"
      },
      "message": "cpumask: convert rest of files in kernel/\n\nImpact: Reduce stack usage, use new cpumask API.\n\nMainly changing cpumask_t to \u0027struct cpumask\u0027 and similar simple API\nconversion.  Two conversions worth mentioning:\n\n1) we use cpumask_any_but to avoid a temporary in kernel/softlockup.c,\n2) Use cpumask_var_t in taskstats_user_cmd().\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\nCc: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\n"
    },
    {
      "commit": "baa5835df10254762aedb6cb23a9c1508f969736",
      "tree": "a8f8b1117aa752fa2fad457e972de923eb4c1da6",
      "parents": [
        "846705deb059c352cc0e5806d5964f815b8c6d98"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Mon Dec 08 00:52:49 2008 +0100"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Dec 19 04:40:35 2008 -0500"
      },
      "message": "Hibernate: Replace unnecessary evaluation of pfn_to_page()\n\nReplace one evaluation of pfn_to_page() in copy_data_pages() with\nthe value of a local variable containing the right number already.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Pavel Machek \u003cpavel@suse.cz\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "846705deb059c352cc0e5806d5964f815b8c6d98",
      "tree": "50a8845b1449fe99144358cef6e04feab0941288",
      "parents": [
        "69643279a88dea000ac2f858091d0e365f778245"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Nov 26 18:00:24 2008 -0500"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Dec 19 04:40:35 2008 -0500"
      },
      "message": "Hibernate: Take overlapping zones into account (rev. 2)\n\nIt has been requested to make hibernation work with memory\nhotplugging enabled and for this purpose the hibernation code has to\nbe reworked to take the possible overlapping of zones into account.\nThus, rework the hibernation memory bitmaps code to prevent\nduplication of PFNs from occuring and add checks to make sure that\none page frame will not be marked as saveable many times.\n\nAdditionally, use list.h lists instead of open-coded lists to\nimplement the memory bitmaps.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "69643279a88dea000ac2f858091d0e365f778245",
      "tree": "c6b9a678ccfe9a4e22f747cb05b1bcf789e1b8d0",
      "parents": [
        "ba84ed9546e91348fdf3ff2bff859b0ee53b407a"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Nov 11 21:32:44 2008 +0100"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Dec 19 04:40:35 2008 -0500"
      },
      "message": "Hibernate: Do not oops on resume if image data are incorrect\n\nDuring resume from hibernation using the userland interface image\ndata are being passed from the used space process to the kernel.\nThese data need not be valid, but currently the kernel sometimes\noopses if it gets invalid image data, which is wrong.  Make the\nkernel return error codes to the user space in such cases.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Pavel Machek \u003cpavel@suse.cz\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "3f4b0ef7f2899c91b1d6958779f084b44dd59d32",
      "tree": "c026201981ecac9c575653c9a46e4c1dea1245a2",
      "parents": [
        "3fe0313e6ec572e6bb3f9d247316a834336db4be"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Oct 26 20:52:15 2008 +0100"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Dec 19 04:40:34 2008 -0500"
      },
      "message": "ACPI hibernate: Add a mechanism to save/restore ACPI NVS memory\n\nAccording to the ACPI Specification 3.0b, Section 15.3.2,\n\"OSPM will call the _PTS control method some time before entering a\nsleeping state, to allow the platform\u0027s AML code to update this\nmemory image before entering the sleeping state. After the system\nawakes from an S4 state, OSPM will restore this memory area and call\nthe _WAK control method to enable the BIOS to reclaim its memory\nimage.\"  For this reason, implement a mechanism allowing us to save\nthe NVS memory during hibernation and to restore it during the\nsubsequent resume.\n\nBased on a patch by Zhang Rui.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Nigel Cunningham \u003cnigel@tuxonice.net\u003e\nCc: Zhang Rui \u003crui.zhang@intel.com\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "3fe0313e6ec572e6bb3f9d247316a834336db4be",
      "tree": "a066731451d4a8da20b2c85211edba8a5ccefb32",
      "parents": [
        "929096fe9ff1f4b3645cf3919527ab47e8d5e17c"
      ],
      "author": {
        "name": "Zhang Rui",
        "email": "rui.zhang@intel.com",
        "time": "Sun Oct 26 20:50:26 2008 +0100"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Dec 19 04:40:34 2008 -0500"
      },
      "message": "Hibernate: Call platform_begin before swsusp_shrink_memory\n\nCall platform_begin() before swsusp_shrink_memory() so that we can\nalways allocate enough memory to save the ACPI NVS region from\nplatform_begin().\n\nSigned-off-by: Zhang Rui \u003crui.zhang@intel.com\u003e\nAcked-by: Nigel Cunningham \u003cnigel@tuxonice.net\u003e\nAcked-by: Pavel Machek \u003cpavel@suse.cz\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "30cd324e9787ccc9a5ede59742d5409857550692",
      "tree": "e53027e0283119de0ef4c3a431b1d20cd43003fb",
      "parents": [
        "c71dd42db2c6f1637b92502a214587431c1a6ad2",
        "6d102bc68f3dd2ae0e305b09170b1751aa67baeb",
        "3d9101e92529e1ff6014f95a69afc82f37b9b13a"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Dec 19 09:42:40 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Dec 19 09:42:40 2008 +0100"
      },
      "message": "Merge branches \u0027tracing/ftrace\u0027, \u0027tracing/ring-buffer\u0027 and \u0027tracing/urgent\u0027 into tracing/core\n\nConflicts:\n\tinclude/linux/ftrace.h\n"
    },
    {
      "commit": "50c396d38c1a7f0c693579ec88cb4be3c0b0645e",
      "tree": "ba4771fb028bd042c4f977a5daf2af4a18af0e5c",
      "parents": [
        "feaf3848a813a106f163013af6fcf6c4bfec92d9"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Nov 30 01:47:12 2008 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Dec 04 04:22:54 2008 -0500"
      },
      "message": "[PATCH] kill obsolete temporary comment in swsusp_close()\n\nit had been put there to mark the call of blkdev_put() that\nneeded proper argument propagated to it; later patch in the\nsame series had done just that.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "cbe2f5a6e84eebb98ab42fc5e58c3cd5b7767349",
      "tree": "801547a9c777ce65ad291e1225e5266a1e34f99f",
      "parents": [
        "a0a70c735ef714fe1b6777b571630c3d50c7b008"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Nov 23 10:37:12 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Nov 23 10:48:44 2008 +0100"
      },
      "message": "tracing: allow tracing of suspend/resume \u0026 hibernation code again\n\nImpact: widen function-tracing to suspend+resume (and hibernation) sequences\n\nNow that the ftrace kernel thread is gone, we can allow tracing\nduring suspend/resume again.\n\nSo revert these two commits:\n\n  f42ac38c5 \"ftrace: disable tracing for suspend to ram\"\n  41108eb10 \"ftrace: disable tracing for hibernation\"\n\nThis should be tested very carefully, as it could interact with\naltneratives instruction patching, etc.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a6a0c4ca7edb378a8a7332501f097089cb1051c4",
      "tree": "afc4bd95482576e7dfd0685d1cb2bed6cac65db9",
      "parents": [
        "72b51a6b4d803381f16d819df392dd1efd1c7181"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Tue Nov 18 06:56:51 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 18 08:07:36 2008 -0800"
      },
      "message": "suspend: use WARN not WARN_ON to print the message\n\nBy using WARN(), kerneloops.org can collect which component is causing\nthe delay and make statistics about that. suspend_test_finish() is\ncurrently the number 2 item but unless we can collect who\u0027s causing\nit we\u0027re not going to be able to fix the hot topic ones..\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "28959742c14918f153c1de641bb12b4ea44315a1",
      "tree": "d58404ebbdd572a2b86d62bafd7af0697cd9624e",
      "parents": [
        "4b30fbde910dd40b831528e916cb8a91823f618f"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Sat Nov 01 18:20:09 2008 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Nov 01 12:40:38 2008 -0700"
      },
      "message": "PM_TEST_SUSPEND should depend on RTC_CLASS, not RTC_LIB\n\nInsufficient dependency - we really want CONFIG_RTC_CLASS\u003dy there.\nThat will give us CONFIG_RTC_LIB\u003dy, so the old dependency can be\nsimply replaced.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "572c48921574dbe6dceb958cf965aa962baefde4",
      "tree": "c1d889288d567cb6b596d10041526d2a8031bae3",
      "parents": [
        "e5eb8caa83a76191feb9705c1a0a689ca260b91e"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Oct 08 13:24:05 2007 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Oct 21 07:49:06 2008 -0400"
      },
      "message": "[PATCH] sanitize blkdev_get() and friends\n\n* get rid of fake struct file/struct dentry in __blkdev_get()\n* merge __blkdev_get() and do_open()\n* get rid of flags argument of blkdev_get()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "c2dd0dae185423fb243b13d490c3fcfaa18ff333",
      "tree": "e2d721533713fc2b09b6d06d64a306bbcf6c4c76",
      "parents": [
        "30c40d2c01f68c7eb1a41ab3552bdaf5dbf300d4"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Oct 08 13:21:10 2007 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Oct 21 07:49:02 2008 -0400"
      },
      "message": "[PATCH] propagate mode through swsusp_close()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "9a1c3542768b5a58e45a9216921cd10a3bae1205",
      "tree": "c20ffda950db868ec7e1e35aed532962de2ecfd9",
      "parents": [
        "511de73ff09034fb89c8d54bed201a10d057328c"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Feb 22 20:40:24 2008 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Oct 21 07:48:58 2008 -0400"
      },
      "message": "[PATCH] pass fmode_t to blkdev_put()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "5a06915c6df9b89cda5ddb3f8cce5f9a6be534d2",
      "tree": "9c2cd3c928e1e29e34dcc90ea45deab12653c111",
      "parents": [
        "dc52ddc0e6f45b04780b26fc0813509f8e798c42"
      ],
      "author": {
        "name": "Matt Helsley",
        "email": "matthltc@us.ibm.com",
        "time": "Sat Oct 18 20:27:22 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:52:34 2008 -0700"
      },
      "message": "container freezer: skip frozen cgroups during power management resume\n\nWhen a system is resumed after a suspend, it will also unfreeze frozen\ncgroups.\n\nThis patchs modifies the resume sequence to skip the tasks which are part\nof a frozen control group.\n\nSigned-off-by: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nSigned-off-by: Matt Helsley \u003cmatthltc@us.ibm.com\u003e\nAcked-by: Serge E. Hallyn \u003cserue@us.ibm.com\u003e\nTested-by: Matt Helsley \u003cmatthltc@us.ibm.com\u003e\nAcked-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "dc52ddc0e6f45b04780b26fc0813509f8e798c42",
      "tree": "384826e9fab4e434bc5c85ce744470ae472e52c3",
      "parents": [
        "8174f1503f4bf7e9a14b3fbbfdb30c6be6e29f77"
      ],
      "author": {
        "name": "Matt Helsley",
        "email": "matthltc@us.ibm.com",
        "time": "Sat Oct 18 20:27:21 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:52:34 2008 -0700"
      },
      "message": "container freezer: implement freezer cgroup subsystem\n\nThis patch implements a new freezer subsystem in the control groups\nframework.  It provides a way to stop and resume execution of all tasks in\na cgroup by writing in the cgroup filesystem.\n\nThe freezer subsystem in the container filesystem defines a file named\nfreezer.state.  Writing \"FROZEN\" to the state file will freeze all tasks\nin the cgroup.  Subsequently writing \"RUNNING\" will unfreeze the tasks in\nthe cgroup.  Reading will return the current state.\n\n* Examples of usage :\n\n   # mkdir /containers/freezer\n   # mount -t cgroup -ofreezer freezer  /containers\n   # mkdir /containers/0\n   # echo $some_pid \u003e /containers/0/tasks\n\nto get status of the freezer subsystem :\n\n   # cat /containers/0/freezer.state\n   RUNNING\n\nto freeze all tasks in the container :\n\n   # echo FROZEN \u003e /containers/0/freezer.state\n   # cat /containers/0/freezer.state\n   FREEZING\n   # cat /containers/0/freezer.state\n   FROZEN\n\nto unfreeze all tasks in the container :\n\n   # echo RUNNING \u003e /containers/0/freezer.state\n   # cat /containers/0/freezer.state\n   RUNNING\n\nThis is the basic mechanism which should do the right thing for user space\ntask in a simple scenario.\n\nIt\u0027s important to note that freezing can be incomplete.  In that case we\nreturn EBUSY.  This means that some tasks in the cgroup are busy doing\nsomething that prevents us from completely freezing the cgroup at this\ntime.  After EBUSY, the cgroup will remain partially frozen -- reflected\nby freezer.state reporting \"FREEZING\" when read.  The state will remain\n\"FREEZING\" until one of these things happens:\n\n\t1) Userspace cancels the freezing operation by writing \"RUNNING\" to\n\t\tthe freezer.state file\n\t2) Userspace retries the freezing operation by writing \"FROZEN\" to\n\t\tthe freezer.state file (writing \"FREEZING\" is not legal\n\t\tand returns EIO)\n\t3) The tasks that blocked the cgroup from entering the \"FROZEN\"\n\t\tstate disappear from the cgroup\u0027s set of tasks.\n\n[akpm@linux-foundation.org: coding-style fixes]\n[akpm@linux-foundation.org: export thaw_process]\nSigned-off-by: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nSigned-off-by: Matt Helsley \u003cmatthltc@us.ibm.com\u003e\nAcked-by: Serge E. Hallyn \u003cserue@us.ibm.com\u003e\nTested-by: Matt Helsley \u003cmatthltc@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8174f1503f4bf7e9a14b3fbbfdb30c6be6e29f77",
      "tree": "a8df1ebd62255dd231452b3f72782604e8919991",
      "parents": [
        "83224b08372be48d5fcefedc4886457da29130c8"
      ],
      "author": {
        "name": "Matt Helsley",
        "email": "matthltc@us.ibm.com",
        "time": "Sat Oct 18 20:27:19 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:52:33 2008 -0700"
      },
      "message": "container freezer: make refrigerator always available\n\nNow that the TIF_FREEZE flag is available in all architectures, extract\nthe refrigerator() and freeze_task() from kernel/power/process.c and make\nit available to all.\n\nThe refrigerator() can now be used in a control group subsystem\nimplementing a control group freezer.\n\nSigned-off-by: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nSigned-off-by: Matt Helsley \u003cmatthltc@us.ibm.com\u003e\nAcked-by: Serge E. Hallyn \u003cserue@us.ibm.com\u003e\nTested-by: Matt Helsley \u003cmatthltc@us.ibm.com\u003e\nCc: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1bfcf1304ea79c46efc3724e548b13b4b442b418",
      "tree": "5adbf95b25d1d9e86fc0e5d0784550ccb9bf5be9",
      "parents": [
        "574f34cee2b6574d43bf4506f771c1cec6a5d391"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Oct 15 22:01:21 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 16 11:21:29 2008 -0700"
      },
      "message": "pm: rework disabling of user mode helpers during suspend/hibernation\n\nWe currently use a PM notifier to disable user mode helpers before suspend\nand hibernation and to re-enable them during resume.  However, this is not\nan ideal solution, because if any drivers want to upload firmware into\nmemory before suspend, they have to use a PM notifier for this purpose and\nthere is no guarantee that the ordering of PM notifiers will be as\nexpected (ie.  the notifier that disables user mode helpers has to be run\nafter the driver\u0027s notifier used for uploading the firmware).\n\nFor this reason, it seems better to move the disabling and enabling of\nuser mode helpers to separate functions that will be called by the PM core\nas necessary.\n\n[akpm@linux-foundation.org: remove unneeded ifdefs]\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nCc: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nAcked-by: Pavel Machek \u003cpavel@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "41108eb10142e0552f2de1e4c0675b108c5f018f",
      "tree": "bb9ef817e2729915fbbe29291c827e7eef83eb54",
      "parents": [
        "b09331e530777963ed65ce2fdf074b7b077768c7"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Thu Aug 28 14:39:12 2008 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 28 12:27:39 2008 -0700"
      },
      "message": "ftrace: disable tracing for hibernation\n\nIn accordance with commit f42ac38c59e0a03d6da0c24a63fb211393f484b0\n(\"ftrace: disable tracing for suspend to ram\"), disable tracing\naround the suspend code in hibernation code paths.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f42ac38c59e0a03d6da0c24a63fb211393f484b0",
      "tree": "1020864d18c6652444fe0ba2d39dd6e9e2f3c7d6",
      "parents": [
        "8560c650f340565b720fd57d1f9c99ab216d99d0"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Aug 27 09:14:40 2008 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 27 13:54:20 2008 -0700"
      },
      "message": "ftrace: disable tracing for suspend to ram\n\nI\u0027ve been painstakingly debugging the issue with suspend to ram and\nftraced. The 2.6.28 code does not have this issue, but since the mcount\nrecording is not going to be in 27, this must be solved for the ftrace\ndaemon version.\n\nThe resume from suspend to ram would reboot because it was triple\nfaulting. Debugging further, I found that calling the mcount function\nitself was not an issue, but it would fault when it incremented\npreempt_count. preempt_count is on the tasks info structure that is on the\nlow memory address of the task\u0027s stack.  For some reason, it could not\nwrite to it. Resuming out of suspend to ram does quite a lot of funny\ntricks to get to work, so it is not surprising at all that simply doing a\npreempt_disable() would cause a fault.\n\nThanks to Rafael for suggesting to add a \"while (1);\" to find the place in\nresuming that is causing the fault. I would place the loop somewhere in\nthe code, compile and reboot and see if it would either reboot (hit the\nfault) or simply hang (hit the loop).  Doing this over and over again, I\nnarrowed it down that it was happening in enable_nonboot_cpus.\n\nAt this point, I found that it is easier to simply disable tracing around\nthe suspend code, instead of searching for the particular function that\ncan not handle doing a preempt_disable.\n\nThis patch disables the tracer as it suspends and reenables it on resume.\n\nI tested this patch on my Laptop, and it can resume fine with the patch.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nAcked-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7a8fc9b248e77a4eab0613acf30a6811799786b3",
      "tree": "24b3beb8bc0633db27ffdb791f94dce95d51b1d0",
      "parents": [
        "d3ee1b405872214609868f3cde631ac157026dd0"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Sun Aug 17 17:36:59 2008 +0300"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Aug 23 12:14:12 2008 -0700"
      },
      "message": "removed unused #include \u003clinux/version.h\u003e\u0027s\n\nThis patch lets the files using linux/version.h match the files that\n#include it.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "89081d17f7bb81d89fa1aa9b70f821c5cf4d39e9",
      "tree": "1835fa64801fee048c8074ae4d63b0a7f4b14ee3",
      "parents": [
        "3ab83521378268044a448113c6aa9a9e245f4d2f"
      ],
      "author": {
        "name": "Huang Ying",
        "email": "ying.huang@intel.com",
        "time": "Fri Jul 25 19:45:10 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jul 26 12:00:04 2008 -0700"
      },
      "message": "kexec jump: save/restore device state\n\nThis patch implements devices state save/restore before after kexec.\n\nThis patch together with features in kexec_jump patch can be used for\nfollowing:\n\n- A simple hibernation implementation without ACPI support.  You can kexec a\n  hibernating kernel, save the memory image of original system and shutdown\n  the system.  When resuming, you restore the memory image of original system\n  via ordinary kexec load then jump back.\n\n- Kernel/system debug through making system snapshot.  You can make system\n  snapshot, jump back, do some thing and make another system snapshot.\n\n- Cooperative multi-kernel/system.  With kexec jump, you can switch between\n  several kernels/systems quickly without boot process except the first time.\n  This appears like swap a whole kernel/system out/in.\n\n- A general method to call program in physical mode (paging turning\n  off). This can be used to invoke BIOS code under Linux.\n\nThe following user-space tools can be used with kexec jump:\n\n- kexec-tools needs to be patched to support kexec jump. The patches\n  and the precompiled kexec can be download from the following URL:\n       source: http://khibernation.sourceforge.net/download/release_v10/kexec-tools/kexec-tools-src_git_kh10.tar.bz2\n       patches: http://khibernation.sourceforge.net/download/release_v10/kexec-tools/kexec-tools-patches_git_kh10.tar.bz2\n       binary: http://khibernation.sourceforge.net/download/release_v10/kexec-tools/kexec_git_kh10\n\n- makedumpfile with patches are used as memory image saving tool, it\n  can exclude free pages from original kernel memory image file. The\n  patches and the precompiled makedumpfile can be download from the\n  following URL:\n       source: http://khibernation.sourceforge.net/download/release_v10/makedumpfile/makedumpfile-src_cvs_kh10.tar.bz2\n       patches: http://khibernation.sourceforge.net/download/release_v10/makedumpfile/makedumpfile-patches_cvs_kh10.tar.bz2\n       binary: http://khibernation.sourceforge.net/download/release_v10/makedumpfile/makedumpfile_cvs_kh10\n\n- An initramfs image can be used as the root file system of kexeced\n  kernel. An initramfs image built with \"BuildRoot\" can be downloaded\n  from the following URL:\n       initramfs image: http://khibernation.sourceforge.net/download/release_v10/initramfs/rootfs_cvs_kh10.gz\n  All user space tools above are included in the initramfs image.\n\nUsage example of simple hibernation:\n\n1. Compile and install patched kernel with following options selected:\n\nCONFIG_X86_32\u003dy\nCONFIG_RELOCATABLE\u003dy\nCONFIG_KEXEC\u003dy\nCONFIG_CRASH_DUMP\u003dy\nCONFIG_PM\u003dy\nCONFIG_HIBERNATION\u003dy\nCONFIG_KEXEC_JUMP\u003dy\n\n2. Build an initramfs image contains kexec-tool and makedumpfile, or\n   download the pre-built initramfs image, called rootfs.gz in\n   following text.\n\n3. Prepare a partition to save memory image of original kernel, called\n   hibernating partition in following text.\n\n4. Boot kernel compiled in step 1 (kernel A).\n\n5. In the kernel A, load kernel compiled in step 1 (kernel B) with\n   /sbin/kexec. The shell command line can be as follow:\n\n   /sbin/kexec --load-preserve-context /boot/bzImage --mem-min\u003d0x100000\n     --mem-max\u003d0xffffff --initrd\u003drootfs.gz\n\n6. Boot the kernel B with following shell command line:\n\n   /sbin/kexec -e\n\n7. The kernel B will boot as normal kexec. In kernel B the memory\n   image of kernel A can be saved into hibernating partition as\n   follow:\n\n   jump_back_entry\u003d`cat /proc/cmdline | tr \u0027 \u0027 \u0027\\n\u0027 | grep kexec_jump_back_entry | cut -d \u0027\u003d\u0027`\n   echo $jump_back_entry \u003e kexec_jump_back_entry\n   cp /proc/vmcore dump.elf\n\n   Then you can shutdown the machine as normal.\n\n8. Boot kernel compiled in step 1 (kernel C). Use the rootfs.gz as\n   root file system.\n\n9. In kernel C, load the memory image of kernel A as follow:\n\n   /sbin/kexec -l --args-none --entry\u003d`cat kexec_jump_back_entry` dump.elf\n\n10. Jump back to the kernel A as follow:\n\n   /sbin/kexec -e\n\n   Then, kernel A is resumed.\n\nImplementation point:\n\nTo support jumping between two kernels, before jumping to (executing)\nthe new kernel and jumping back to the original kernel, the devices\nare put into quiescent state, and the state of devices and CPU is\nsaved. After jumping back from kexeced kernel and jumping to the new\nkernel, the state of devices and CPU are restored accordingly. The\ndevices/CPU state save/restore code of software suspend is called to\nimplement corresponding function.\n\nKnown issues:\n\n- Because the segment number supported by sys_kexec_load is limited,\n  hibernation image with many segments may not be load. This is\n  planned to be eliminated by adding a new flag to sys_kexec_load to\n  make a image can be loaded with multiple sys_kexec_load invoking.\n\nNow, only the i386 architecture is supported.\n\nSigned-off-by: Huang Ying \u003cying.huang@intel.com\u003e\nAcked-by: Vivek Goyal \u003cvgoyal@redhat.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Pavel Machek \u003cpavel@ucw.cz\u003e\nCc: Nigel Cunningham \u003cnigel@nigel.suspend2.net\u003e\nCc: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a2e2e3577c3ef2b5dbb866e97e612aae4adfa32f",
      "tree": "9f0889d3046078e1db7e8310171c7e3a48be42cc",
      "parents": [
        "44ccac13c7f4728cf2992d49384671a176db74dd"
      ],
      "author": {
        "name": "David Brownell",
        "email": "dbrownell@users.sourceforge.net",
        "time": "Fri Jul 25 19:44:38 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jul 26 12:00:02 2008 -0700"
      },
      "message": "pm selftest: rtc paranoia\n\nCope with a quirk of some RTCs (notably ACPI ones) which aren\u0027t guaranteed\nto implement oneshot behavior when they woke the system from sleeep:\nforcibly disable the alarm, just in case.\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f0af566da6e9a4a2f5a83c5a70f3d0a772050e21",
      "tree": "4f7a4819abfde03938bb95c525ed652bcfe40a52",
      "parents": [
        "e41fb7c58e3ca18ec5c9c9bb7bb68e8e653c9e8e"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Jul 23 21:28:44 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:24 2008 -0700"
      },
      "message": "pm: fix try_to_freeze_tasks()\u0027s use of do_div()\n\nFix try_to_freeze_tasks()\u0027s use of do_div() on an s64 by making\nelapsed_csecs64 a u64 instead and dividing that.\n\nPossibly this should be guarded lest the interval calculation turn up\nnegative, but the possible negativity of the result of the division is\ncast away anyway.\n\nThis was introduced by patch 438e2ce68dfd4af4cfcec2f873564fb921db4bb5.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2f15fc4bdf91eb399da3f47a09c55831d9f22826",
      "tree": "4db94b5313a526d8a4fad64cd534021a86bc8a63",
      "parents": [
        "c1a220e7acf8ad2c03504891f4a70cd9c32c904b"
      ],
      "author": {
        "name": "Zhang Rui",
        "email": "rui.zhang@intel.com",
        "time": "Wed Jul 23 21:28:40 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:24 2008 -0700"
      },
      "message": "pm: schedule sysrq poweroff on boot cpu\n\nschedule sysrq poweroff on boot cpu.\n\nsysrq poweroff needs to disable nonboot cpus, and we need to run this on boot\ncpu to avoid any recursion.  http://bugzilla.kernel.org/show_bug.cgi?id\u003d10897\n\n[kosaki.motohiro@jp.fujitsu.com: build fix]\nSigned-off-by: Zhang Rui \u003crui.zhang@intel.com\u003e\nTested-by: Rus \u003charbour@sfinx.od.ua\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ],
  "next": "0d83304c7e7bd3b05be90281b3a47841bc8f057a"
}
