)]}'
{
  "log": [
    {
      "commit": "687fcdf741e4a268c2c7bac8b3734de761bb9719",
      "tree": "82603cd0f892b13d4252cc525ecaec99bb86c0cd",
      "parents": [
        "215e871aaa3d94540121a3809d80d0c5e5686e4f",
        "a6eb84bc1e069e1d285167e09035ed6c27978feb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Feb 02 14:29:57 2008 +1100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Feb 02 14:29:57 2008 +1100"
      },
      "message": "Merge branch \u0027suspend\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6\n\n* \u0027suspend\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6: (38 commits)\n  suspend: cleanup reference to swsusp_pg_dir[]\n  PM: Remove obsolete /sys/devices/.../power/state docs\n  Hibernation: Invoke suspend notifications after console switch\n  Suspend: Invoke suspend notifications after console switch\n  Suspend: Clean up suspend_64.c\n  Suspend: Add config option to disable the freezer if architecture wants that\n  ACPI: Print message before calling _PTS\n  ACPI hibernation: Call _PTS before suspending devices\n  Hibernation: Introduce begin() and end() callbacks\n  ACPI suspend: Call _PTS before suspending devices\n  ACPI: Separate disabling of GPEs from _PTS\n  ACPI: Separate invocations of _GTS and _BFS from _PTS and _WAK\n  Suspend: Introduce begin() and end() callbacks\n  suspend: fix ia64 allmodconfig build\n  ACPI: clear GPE earily in resume to avoid warning\n  Suspend: Clean up Kconfig (V2)\n  Hibernation: Clean up Kconfig (V2)\n  Hibernation: Update messages\n  Suspend: Use common prefix in messages\n  Hibernation: Remove unnecessary variable declaration\n  ...\n"
    },
    {
      "commit": "ed50d6cbc394cd0966469d3e249353c9dd1d38b9",
      "tree": "8df8f5d8b4ce057bf0df7ee2996603fdd18e0e7e",
      "parents": [
        "aa6299926950c8dfe2fea638276cad6def092bc9"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Sat Feb 02 00:23:08 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Feb 02 14:27:45 2008 +1100"
      },
      "message": "debug: softlockup looping fix\n\nRafael J. Wysocki reported weird, multi-seconds delays during\nsuspend/resume and bisected it back to:\n\n  commit 82a1fcb90287052aabfa235e7ffc693ea003fe69\n  Author: Ingo Molnar \u003cmingo@elte.hu\u003e\n  Date:   Fri Jan 25 21:08:02 2008 +0100\n\n      softlockup: automatically detect hung TASK_UNINTERRUPTIBLE tasks\n\nfix it:\n\n - restore the old wakeup mechanism\n - fix break usage in do_each_thread() { } while_each_thread().\n - fix the hotplug switch stmt, a fall-through case was broken.\n\nBisected-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nTested-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5a0a2f304612bd63948177fef05987f4bcaddcaf",
      "tree": "17a72bcefbb7806ed5e3627230d6d04fd5f06600",
      "parents": [
        "af258f516b3e4e214121f5d6d53cab32ce0d8010"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Jan 11 01:25:21 2008 +0100"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Feb 01 18:30:59 2008 -0500"
      },
      "message": "Hibernation: Invoke suspend notifications after console switch\n\nFollowing the recent change in the suspend code path, switch consoles before\ncalling PM notifiers during hibernation.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "af258f516b3e4e214121f5d6d53cab32ce0d8010",
      "tree": "9ae8987d51217316aecfc0c04806cc6970cd69e6",
      "parents": [
        "17b7a89cfb6ea2ff103785f9b2580e5138b6cfd1"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Fri Jan 11 01:22:23 2008 +0100"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Feb 01 18:30:58 2008 -0500"
      },
      "message": "Suspend: Invoke suspend notifications after console switch\n\nIn order to fix APM emulation it is necessary to enable apm-emulation\nnotifications for suspends triggered in various ways via the suspend\nnotifiers.  However, this will cause the systems using APM emulation\nto lock up between X being needed to switch away from the VT and X\nalready waiting for resume in the APM ioctl.\n\nThis patch moves the console switch (if enabled) before the suspend\nnotification (and after the resume notification) to avoid this issue.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "b28f508112c584cdfbb4d8a9489cc4b79dac68ee",
      "tree": "8269d53055d0368f6eb25fac6b9d29077382cbca",
      "parents": [
        "c9b6c8f68ee48e1e3dbb53e13316757e2c0b584d"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Jan 15 23:17:00 2008 -0500"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Feb 01 18:30:58 2008 -0500"
      },
      "message": "Suspend: Add config option to disable the freezer if architecture wants that\n\nThis patch makes the freezer optional for suspend to allow the\nsystem to work (or not work) like the original PMU suspend.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "caea99ef339af8e07cda8d03fa415e4b8820f400",
      "tree": "46b975f61a3409a30fc6a7c15a6db2c7f6d9876b",
      "parents": [
        "60417f5976df029227450b46d7fa6f0e9b1e654c"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Jan 08 00:08:44 2008 +0100"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Feb 01 18:30:58 2008 -0500"
      },
      "message": "Hibernation: Introduce begin() and end() callbacks\n\nIntroduce global hibernation callback .end() and rename global\nhibernation callback .start() to .begin(), in analogy with the\nrecent modifications of the global suspend callbacks.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "c697eecebc6cfc0b393afea3c4ff1a5041526ad1",
      "tree": "36b0cb4e667792212c2b5d05ac212662555d1682",
      "parents": [
        "7671b8ae5381a504d4c4ef8dd9c47128c2c3fd7e"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Jan 08 00:04:17 2008 +0100"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Feb 01 18:30:56 2008 -0500"
      },
      "message": "Suspend: Introduce begin() and end() callbacks\n\nOn ACPI systems the target state set by acpi_pm_set_target() is\nreset by acpi_pm_finish(), but that need not be called if the\nsuspend fails.  All platforms that use the .set_target() global\nsuspend callback are affected by analogous issues.\n\nFor this reason, we need an additional global suspend callback that\nwill reset the target state regardless of whether or not the suspend\nis successful.  Also, it is reasonable to rename the .set_target()\ncallback, since it will be used for a different purpose on ACPI\nsystems (due to ACPI 1.0x code ordering requirements).\n\nIntroduce the global suspend callback .end() to be executed at the\nend of the suspend sequence and rename the .set_target() global\nsuspend callback to .begin().\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "7671b8ae5381a504d4c4ef8dd9c47128c2c3fd7e",
      "tree": "f6b8c2ba01ce566549b948eb0cd7f713cf824a41",
      "parents": [
        "a3627f67b1d5ddd8f65eedc2a76da90fbe062530"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Dec 14 01:07:13 2007 +0100"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Feb 01 18:30:56 2008 -0500"
      },
      "message": "suspend: fix ia64 allmodconfig build\n\nkernel/power/main.c:488: error: ‘pm_test_attr’ undeclared here (not in a function)\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "f4cb57007662a4ec3c2de3c027900223e0299bdd",
      "tree": "ec0c277f3cae26594714c458ad40b1e0e5aca484",
      "parents": [
        "801e4062fda6496fe9bee3e6915a2aa108f974e5"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Sat Dec 08 02:14:00 2007 +0100"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Feb 01 18:30:55 2008 -0500"
      },
      "message": "Suspend: Clean up Kconfig (V2)\n\nThis cleans up the suspend Kconfig and removes the need to\ndeclare centrally which architectures support suspend. All\narchitectures that currently support suspend are modified\naccordingly.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nAcked-by: Russell King \u003crmk@arm.linux.org.uk\u003e\nAcked-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nAcked-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\nAcked-by: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: 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": "801e4062fda6496fe9bee3e6915a2aa108f974e5",
      "tree": "092e988b58a3dae9135aac742c8318a5963f095f",
      "parents": [
        "23976728a48c3b76d34e17ead19addd52b3a280e"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Sat Dec 08 02:12:39 2007 +0100"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Feb 01 18:30:55 2008 -0500"
      },
      "message": "Hibernation: Clean up Kconfig (V2)\n\nThis cleans up the hibernation Kconfig and removes the need to\ndeclare centrally which architectures support hibernation. All\narchitectures that currently support hibernation are modified\naccordingly.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nAcked-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: 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": "23976728a48c3b76d34e17ead19addd52b3a280e",
      "tree": "964eb95ae9dccb179165649c7ea631d96b23bc91",
      "parents": [
        "465d2b477f6a0ffe01242561a93e7bf81d67c776"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sat Dec 08 02:09:43 2007 +0100"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Feb 01 18:30:55 2008 -0500"
      },
      "message": "Hibernation: Update messages\n\nMake hibernation messages start with one common prefix \"PM: \" and use\nthe word \"hibernation\" in the messages as a synonym of \"suspend to\ndisk\".\n\nTurn some KERN_INFO messages into debug ones.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "465d2b477f6a0ffe01242561a93e7bf81d67c776",
      "tree": "c5d9f59e974b68d6d813a79422db3e488581f717",
      "parents": [
        "b6887a29441ed5f0728b31ce90c0f0a0427317a3"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sat Dec 08 02:08:38 2007 +0100"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Feb 01 18:30:55 2008 -0500"
      },
      "message": "Suspend: Use common prefix in messages\n\nMake suspend messages start with one common prefix \"PM: \".\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "b6887a29441ed5f0728b31ce90c0f0a0427317a3",
      "tree": "a5bae281529bcbaa933eed539984ea2bd952fc7a",
      "parents": [
        "9575809c6fc15e7b6bb1932b6104c80a6d4ffdc9"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sat Dec 08 02:07:40 2007 +0100"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Feb 01 18:30:55 2008 -0500"
      },
      "message": "Hibernation: Remove unnecessary variable declaration\n\nRemove the unnecessary extern declaration of resume_file[]\nfrom kernel/power/swap.c .\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "9575809c6fc15e7b6bb1932b6104c80a6d4ffdc9",
      "tree": "75cbdf455233325575d5f892aaa0f561fa1a953c",
      "parents": [
        "9628c0ee6a6d9ef06a77ea25932c00817f9e88a0"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sat Dec 08 02:06:57 2007 +0100"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Feb 01 18:30:55 2008 -0500"
      },
      "message": "Hibernation: Fix comment in disk.c\n\nFix a comment in kernel/power/disk.c so that it doesn\u0027t contain lines\nlonger that 80 characters.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "9628c0ee6a6d9ef06a77ea25932c00817f9e88a0",
      "tree": "d80ee478567a098cb7990d73f14ba4bd325c09de",
      "parents": [
        "72df68ca8e006a0107933c4fb13c741a0a48163f"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sat Dec 08 02:06:00 2007 +0100"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Feb 01 18:30:55 2008 -0500"
      },
      "message": "Suspend: Fix comment in main.c\n\nFix a comment in kernel/power/main.c so that it doesn\u0027t contain lines\nlonger that 80 characters.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "72df68ca8e006a0107933c4fb13c741a0a48163f",
      "tree": "c6d0d36bffc54989fffcebc8ec1368a47cfa6d65",
      "parents": [
        "2ed43b63285c394cb5e1829c199cc94c7b8233b9"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sat Dec 08 02:04:21 2007 +0100"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Feb 01 18:30:54 2008 -0500"
      },
      "message": "Hibernation: Move low level resume to disk.c\n\nMove the low level restore code to kernel/power/disk.c , since the\ncorresponding low level hibernation code is already there.\n\nMake restore fail if device_power_down(PMSG_PRETHAW) returns an\nerror.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "2ed43b63285c394cb5e1829c199cc94c7b8233b9",
      "tree": "6131e028d746b2fc77e53c53285a2e0896491266",
      "parents": [
        "825257569350e913bee3bc918508c0aa6e3398cd"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sat Dec 08 02:03:26 2007 +0100"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Feb 01 18:30:54 2008 -0500"
      },
      "message": "Suspend: Fix compilation warning for CONFIG_SUSPEND unset\n\nSuspend: Make debug facility depend on CONFIG_SUSPEND\n\nMake the new suspend debug facility code depend on CONFIG_SUSPEND,\nas appropriate, to remove the compiler warning printed when CONFIG_PM is set\nand CONFIG_SUSPEND is not set.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "825257569350e913bee3bc918508c0aa6e3398cd",
      "tree": "2d016a04dfc09938565d5e932f0d2d5e43fb6bdd",
      "parents": [
        "90dda1cb6ace6abd777f84bf051c4f86fa58986a"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Mon Nov 19 23:49:18 2007 +0100"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Feb 01 18:30:54 2008 -0500"
      },
      "message": "PM: Convert PM notifiers to out-of-line code\n\nThis patch (as1008b) converts the PM notifier routines from inline\ncalls to out-of-line code.  It also prevents pm_chain_head from\nbeing created when CONFIG_PM_SLEEP isn\u0027t enabled, and EXPORTs the\nnotifier registration and unregistration routines.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "90dda1cb6ace6abd777f84bf051c4f86fa58986a",
      "tree": "b53a566118e5e130a55707bea6d01e112508c8df",
      "parents": [
        "ce2b7147bb83b7d729b17c1638f092a1bcba4981"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Mon Nov 19 23:46:16 2007 +0100"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Feb 01 18:30:54 2008 -0500"
      },
      "message": "PM: Make PM_TRACE more architecture independent\n\nWhen trying to debug a suspend failure I started implementing\nPM_TRACE for powerpc. I then noticed that I\u0027m debugging a suspend\nfailure and so PM_TRACE isn\u0027t useful at all, but thought that\nnonetheless this could be useful in the future.\n\nBasically, to support PM_TRACE, you add a Kconfig option that\nselects PM_TRACE and provides the infrastructure as per the\nhelp text of PM_TRACE.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "4cc79776c9ea431790e04fcacbebb30d28eb1570",
      "tree": "42eb5b8c5f2a2d1fcfb1dae8fa77ad70be209cbb",
      "parents": [
        "039a75c6e17ba4ff76998d6ac6ee3d508fff1930"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Mon Nov 19 23:42:31 2007 +0100"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Feb 01 18:30:54 2008 -0500"
      },
      "message": "Hibernation: New testing facility (rev. 2)\n\nMake it possible to test the hibernation core code with the help of the\n/sys/power/pm_test attribute introduced for suspend testing in the previous\npatch.\n\nWriting an appropriate string to this file causes the hibernation code to work\nin one of the test modes defined as follows:\n\nfreezer\n- test the freezing of processes\n\ndevices\n- test the freezing of processes and suspending of devices\n\nplatform\n- test the freezing of processes, suspending of devices and platform global\n  control methods(*)\n\nprocessors\n- test the freezing of processes, suspending of devices, platform global\n  control methods(*) and the disabling of nonboot CPUs\n\ncore\n- test the freezing of processes, suspending of devices, platform global\n  control methods(*), the disabling of nonboot CPUs and suspending of\n  platform/system devices\n\n(*) - the platform global control methods are only available on ACPI systems\n      and are only tested if the hibernation mode is set to \"platform\"\n\nThen, if a hibernation is started by normal means, the hibernation core will\nperform its normal operations up to the point indicated by given test level.\nNext, it will wait for 5 seconds and carry out the resume operations needed to\ntransition the system back to the fully functional state.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "039a75c6e17ba4ff76998d6ac6ee3d508fff1930",
      "tree": "050ce0df5ae0a7e823b2ceb4dec40e85fb5c987c",
      "parents": [
        "0e7d56e3d9d7e37c79d0e05ffb3994e34beb3bbc"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Jan 29 00:29:06 2008 +0100"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Feb 01 18:30:54 2008 -0500"
      },
      "message": "suspend: build fix responding to 2.6.25 kset change\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "0e7d56e3d9d7e37c79d0e05ffb3994e34beb3bbc",
      "tree": "cac3e72f882085bc869df9302248a079c657bb10",
      "parents": [
        "c3e94d899c864e558f938f9845ddb8c2e5d5ccd0"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Mon Nov 19 23:41:19 2007 +0100"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Feb 01 18:30:54 2008 -0500"
      },
      "message": "Suspend: Testing facility (rev. 2)\n\nIntroduce sysfs attribute /sys/power/pm_test allowing one to test the suspend\ncore code.  Namely, writing one of the strings:\n\nfreezer\ndevices\nplatform\nprocessors\ncore\n\nto this file causes the suspend code to work in one of the test modes defined as\nfollows:\n\nfreezer\n- test the freezing of processes\n\ndevices\n- test the freezing of processes and suspending of devices\n\nplatform\n- test the freezing of processes, suspending of devices and platform global\n  control methods(*)\n\nprocessors\n- test the freezing of processes, suspending of devices, platform global\n  control methods and the disabling of nonboot CPUs\n\ncore\n- test the freezing of processes, suspending of devices, platform global\n  control methods, the disabling of nonboot CPUs and suspending of\n  platform/system devices\n\n(*) These are ACPI global control methods on ACPI systems\n\nThen, if a suspend is started by normal means, the suspend core will perform\nits normal operations up to the point indicated by given test level.  Next, it\nwill wait for 5 seconds and carry out the resume operations needed to transition\nthe system back to the fully functional state.\n\nWriting \"none\" to /sys/power/pm_test turns the testing off.\n\nWhen open for reading, /sys/power/pm_test contains a space-separated list of all\navailable tests (including \"none\" that represents the normal functionality) in\nwhich the current test level is indicated by square brackets.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "c3e94d899c864e558f938f9845ddb8c2e5d5ccd0",
      "tree": "cdc2d5007e2d8053ab1903f9e66c46dca9a9de81",
      "parents": [
        "2f8ed1c60b06b797bf79a1dc540f0bed8c9d75a0"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Mon Nov 19 23:38:25 2007 +0100"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Feb 01 18:30:53 2008 -0500"
      },
      "message": "Hibernation: Add PM_RESTORE_PREPARE and PM_POST_RESTORE notifiers (rev. 2)\n\nAdd PM_RESTORE_PREPARE and PM_POST_RESTORE notifiers to the PM core, to be used\nin analogy with the existing PM_HIBERNATION_PREPARE and PM_POST_HIBERNATION\nnotifiers.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "2f8ed1c60b06b797bf79a1dc540f0bed8c9d75a0",
      "tree": "bf9157cf84a53b0ee74ba1e2b5bd9417589b9226",
      "parents": [
        "964756a52f4cf0417d515b7f01eec69db8cb0fe2"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Mon Nov 19 23:36:20 2007 +0100"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Feb 01 18:30:53 2008 -0500"
      },
      "message": "Hibernation: Move function prototypes to header\n\nThis patch moves the prototypes of count_highmem_pages() and\nrestore_highmem() to kernel/power/power.h\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "3010f8caa48ed38679cc32b0d8e84b82cb8d9980",
      "tree": "b25311fd5c66e2e1f392194089635c4c2fec557e",
      "parents": [
        "cc5d207c85b9a6fafebe2856ead0a9360978c8cd"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Oct 26 01:05:05 2007 +0200"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Feb 01 18:30:53 2008 -0500"
      },
      "message": "Hibernation: Introduce exportable suspend ioctls header (rev. 2)\n\nMove the definitions of hibernation ioctls to a separate header file in\ninclude/linux, which can be exported to the user space.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "cc5d207c85b9a6fafebe2856ead0a9360978c8cd",
      "tree": "1a7c45b4ffb44a02a76ccd60ec318c796687d568",
      "parents": [
        "96f737490cfc368fdafe49769f52fc8460f9349f"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Oct 26 01:03:33 2007 +0200"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Feb 01 18:30:53 2008 -0500"
      },
      "message": "Hibernation: Correct definitions of some ioctls (rev. 2)\n\nThree ioctl numbers belonging to the hibernation userland interface,\nSNAPSHOT_ATOMIC_SNAPSHOT, SNAPSHOT_AVAIL_SWAP, SNAPSHOT_GET_SWAP_PAGE,\nare defined in a wrong way (eg. not portable).  Provide new ioctl numbers for\nthese ioctls and mark the existing ones as deprecated.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "96f737490cfc368fdafe49769f52fc8460f9349f",
      "tree": "5c9df5fcb5e07e479fa988ac5d7d67b38cee87bd",
      "parents": [
        "eb57c1cf059630454b40fb8bb124e3f318d241f8"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Oct 26 01:02:15 2007 +0200"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Feb 01 18:30:53 2008 -0500"
      },
      "message": "Hibernation: Mark SNAPSHOT_SET_SWAP_FILE ioctl as deprecated (rev. 2)\n\nMark the SNAPSHOT_SET_SWAP_FILE ioctl belonging to the hibernation userland\ninterface as deprecated.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "eb57c1cf059630454b40fb8bb124e3f318d241f8",
      "tree": "df8abba4265647f15b3b30053a4d843099bb6b9e",
      "parents": [
        "af508b34d27e3341287d89e0eae6752fdb1b873f"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Oct 26 01:01:10 2007 +0200"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Feb 01 18:30:53 2008 -0500"
      },
      "message": "Hibernation: Rework platform support ioctls (rev. 2)\n\nModify the hibernation userland interface by adding two new ioctls to it,\nSNAPSHOT_PLATFORM_SUPPORT and SNAPSHOT_POWER_OFF, that can be used,\nrespectively, to switch the hibernation platform support on/off and to make the\nkernel transition the system to the hibernation state (eg. ACPI S4) using the\nplatform (eg. ACPI) driver.\n\nThese ioctls are intended to replace the misdesigned SNAPSHOT_PMOPS ioctl,\nwhich from now is regarded as obsolete and will be removed in the future.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "af508b34d27e3341287d89e0eae6752fdb1b873f",
      "tree": "b5d2a337d78dc25aadb02d481443d484e0dd368c",
      "parents": [
        "aa6299926950c8dfe2fea638276cad6def092bc9"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Oct 26 00:59:31 2007 +0200"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Feb 01 18:30:52 2008 -0500"
      },
      "message": "Hibernation: Introduce SNAPSHOT_GET_IMAGE_SIZE ioctl\n\nAdd a new ioctl, SNAPSHOT_GET_IMAGE_SIZE, returning the size of the (just\ncreated) hibernation image, to the hibernation userland interface.\n\nThis ioctl is necessary so that the userland utilities using the interface need\nnot access the hibernation image header, owned by the kernel, in order to obtain\nthe size of the image.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "dd5f5fed6c9458a7aa81eeef3732cc3a9891cfdf",
      "tree": "06b81942dc218763889efe65faf08aeb23e71f03",
      "parents": [
        "3e01dfce1387f8bec41018f0d7b42fd88ad4163f",
        "7759db82774802885f96c250b36c3dfe317e62ff"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Feb 02 08:37:03 2008 +1100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Feb 02 08:37:03 2008 +1100"
      },
      "message": "Merge branch \u0027audit.b46\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/audit-current\n\n* \u0027audit.b46\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/audit-current:\n  [AUDIT] Add uid, gid fields to ANOM_PROMISCUOUS message\n  [AUDIT] ratelimit printk messages audit\n  [patch 2/2] audit: complement va_copy with va_end()\n  [patch 1/2] kernel/audit.c: warning fix\n  [AUDIT] create context if auditing was ever enabled\n  [AUDIT] clean up audit_receive_msg()\n  [AUDIT] make audit\u003d0 really stop audit messages\n  [AUDIT] break large execve argument logging into smaller messages\n  [AUDIT] include audit type in audit message when using printk\n  [AUDIT] do not panic on exclude messages in audit_log_pid_context()\n  [AUDIT] Add End of Event record\n  [AUDIT] add session id to audit messages\n  [AUDIT] collect uid, loginuid, and comm in OBJ_PID records\n  [AUDIT] return EINTR not ERESTART*\n  [PATCH] get rid of loginuid races\n  [PATCH] switch audit_get_loginuid() to task_struct *\n"
    },
    {
      "commit": "320f1b1ed28c601cc152053a2f428a126cb608bc",
      "tree": "5865f2acf0d84b61fc81108f1bbb33896d11df84",
      "parents": [
        "148b38dc9309044c8656aa36d5fd86069e2ea7cc"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Wed Jan 23 22:55:05 2008 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Feb 01 14:25:04 2008 -0500"
      },
      "message": "[AUDIT] ratelimit printk messages audit\n\nsome printk messages from the audit system can become excessive.  This\npatch ratelimits those messages.  It was found that messages, such as\nthe audit backlog lost printk message could flood the logs to the point\nthat a machine could take an nmi watchdog hit or otherwise become\nunresponsive.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "148b38dc9309044c8656aa36d5fd86069e2ea7cc",
      "tree": "905eaa71e29c5d4f65ef8a74e225db68d31cd934",
      "parents": [
        "ef00be0554f1af9f2b685e0e3bb9e2ec0181937e"
      ],
      "author": {
        "name": "Richard Knutsson",
        "email": "ricknu-0@student.ltu.se",
        "time": "Thu Jan 10 11:02:40 2008 -0800"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Feb 01 14:24:57 2008 -0500"
      },
      "message": "[patch 2/2] audit: complement va_copy with va_end()\n\nComplement va_copy() with va_end().\n\nSigned-off-by: Richard Knutsson \u003cricknu-0@student.ltu.se\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ef00be0554f1af9f2b685e0e3bb9e2ec0181937e",
      "tree": "54827faae4e5bcd81fa6b4a17c80ed9990b69cf2",
      "parents": [
        "b593d384efcff7bdf6beb1bc1bc69927977aee26"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Thu Jan 10 11:02:39 2008 -0800"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Feb 01 14:24:51 2008 -0500"
      },
      "message": "[patch 1/2] kernel/audit.c: warning fix\n\nkernel/audit.c: In function \u0027audit_log_start\u0027:\nkernel/audit.c:1133: warning: \u0027serial\u0027 may be used uninitialized in this function\n\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b593d384efcff7bdf6beb1bc1bc69927977aee26",
      "tree": "9055ef0decc84dcbf0da67135535f0746e602e8e",
      "parents": [
        "50397bd1e471391d27f64efad9271459c913de87"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Tue Jan 08 17:38:31 2008 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Feb 01 14:24:45 2008 -0500"
      },
      "message": "[AUDIT] create context if auditing was ever enabled\n\nDisabling audit at runtime by auditctl doesn\u0027t mean that we can\nstop allocating contexts for new processes; we don\u0027t want to miss them\nwhen that sucker is reenabled.\n\n(based on work from Al Viro in the RHEL kernel series)\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "50397bd1e471391d27f64efad9271459c913de87",
      "tree": "2b23b983ebcb9085cbf38c1688ba0c0f28ccfd2f",
      "parents": [
        "1a6b9f2317f18db768010252c957d99daf40678f"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Mon Jan 07 18:14:19 2008 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Feb 01 14:24:39 2008 -0500"
      },
      "message": "[AUDIT] clean up audit_receive_msg()\n\ngenerally clean up audit_receive_msg() don\u0027t free random memory if\nselinux_sid_to_string fails for some reason.  Move generic auditing\nto a helper function\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "1a6b9f2317f18db768010252c957d99daf40678f",
      "tree": "e63199fab4ec31e05b22f3af10505bdcfcb57be8",
      "parents": [
        "de6bbd1d30e5912620d25dd15e3f180ac7f9fcef"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Mon Jan 07 17:09:31 2008 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Feb 01 14:24:33 2008 -0500"
      },
      "message": "[AUDIT] make audit\u003d0 really stop audit messages\n\nSome audit messages (namely configuration changes) are still emitted even if\nthe audit subsystem has been explicitly disabled.  This patch turns those\nmessages off as well.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "de6bbd1d30e5912620d25dd15e3f180ac7f9fcef",
      "tree": "3807b13f8e2e490c258c5bb37915c95fc1bcfe20",
      "parents": [
        "e445deb593d67c8ed13bd357c780a93d78bc84cf"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Mon Jan 07 14:31:58 2008 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Feb 01 14:23:55 2008 -0500"
      },
      "message": "[AUDIT] break large execve argument logging into smaller messages\n\nexecve arguments can be quite large.  There is no limit on the number of\narguments and a 4G limit on the size of an argument.\n\nthis patch prints those aruguments in bite sized pieces.  a userspace size\nlimitation of 8k was discovered so this keeps messages around 7.5k\n\nsingle arguments larger than 7.5k in length are split into multiple records\nand can be identified as aX[Y]\u003d\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "e445deb593d67c8ed13bd357c780a93d78bc84cf",
      "tree": "b6c14711659e16f817a4cb9eaa1fd8dba0c7b162",
      "parents": [
        "6246ccab99093a562044596dd868213caa0b2b4c"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Mon Jan 07 14:19:15 2008 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Feb 01 14:08:14 2008 -0500"
      },
      "message": "[AUDIT] include audit type in audit message when using printk\n\nCurrently audit drops the audit type when an audit message goes through\nprintk instead of the audit deamon.  This is a minor annoyance in\nthat the audit type is no longer part of the message and the information\nthe audit type conveys needs to be carried in, or derived from the\nmessage data.\n\nThe attached patch includes the type number as part of the printk.\nAdmittedly it isn\u0027t the type name that the audit deamon provides but I\nthink this is better than dropping the type completely.\n\nSigned-pff-by: John Johansen \u003cjjohansen@suse.de\u003e\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "6246ccab99093a562044596dd868213caa0b2b4c",
      "tree": "b373e388bd35549a540ce8693cceeea3660d02e1",
      "parents": [
        "c0641f28dcbecb6dc34a4fd003a9947fcd080696"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Mon Jan 07 14:01:18 2008 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Feb 01 14:07:46 2008 -0500"
      },
      "message": "[AUDIT] do not panic on exclude messages in audit_log_pid_context()\n\nIf we fail to get an ab in audit_log_pid_context this may be due to an exclude\nrule rather than a memory allocation failure.  If it was due to a memory\nallocation failue we would have already paniced and no need to do it again.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "c0641f28dcbecb6dc34a4fd003a9947fcd080696",
      "tree": "75cc2700afe2e83834895e7f45c7f663faf2e034",
      "parents": [
        "4746ec5b01ed07205a91e4f7ed9de9d70f371407"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Mon Jan 07 13:49:15 2008 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Feb 01 14:07:19 2008 -0500"
      },
      "message": "[AUDIT] Add End of Event record\n\nThis patch adds an end of event record type. It will be sent by the kernel as\nthe last record when a multi-record event is triggered. This will aid realtime\nanalysis programs since they will now reliably know they have the last record\nto complete an event. The audit daemon filters this and will not write it to\ndisk.\n\nSigned-off-by: Steve Grubb \u003csgrubb redhat com\u003e\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "4746ec5b01ed07205a91e4f7ed9de9d70f371407",
      "tree": "7a3a836b6178ccab24801e90b69c1159b2c23099",
      "parents": [
        "c2a7780efe37d01bdb3facc85a94663e6d67d4a8"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Tue Jan 08 10:06:53 2008 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Feb 01 14:06:51 2008 -0500"
      },
      "message": "[AUDIT] add session id to audit messages\n\nIn order to correlate audit records to an individual login add a session\nid.  This is incremented every time a user logs in and is included in\nalmost all messages which currently output the auid.  The field is\nlabeled ses\u003d  or oses\u003d\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "c2a7780efe37d01bdb3facc85a94663e6d67d4a8",
      "tree": "a7e30dcb7bfb386c84de9918dcfa92381675d59f",
      "parents": [
        "f701b75ed5ffb6820efe530d1a3abcc6fc4678ad"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Mon Jan 07 13:40:17 2008 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Feb 01 14:06:23 2008 -0500"
      },
      "message": "[AUDIT] collect uid, loginuid, and comm in OBJ_PID records\n\nAdd uid, loginuid, and comm collection to OBJ_PID records.  This just\ngives users a little more information about the task that received a\nsignal.  pid is rather meaningless after the fact, and even though comm\nisn\u0027t great we can\u0027t collect exe reasonably on this code path for\nperformance reasons.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "f701b75ed5ffb6820efe530d1a3abcc6fc4678ad",
      "tree": "46036f5e1b2703f6f9073a4a1469e3c5a611083e",
      "parents": [
        "bfef93a5d1fb5654fe2025276c55e202d10b5255"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Mon Jan 07 13:34:51 2008 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Feb 01 14:05:55 2008 -0500"
      },
      "message": "[AUDIT] return EINTR not ERESTART*\n\nThe syscall exit code will change ERESTART* kernel internal return codes\nto EINTR if it does not restart the syscall.  Since we collect the audit\ninfo before that point we should fix those in the audit log as well.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "bfef93a5d1fb5654fe2025276c55e202d10b5255",
      "tree": "573d8153c5d5216b0c4007b652286eeddd3c0987",
      "parents": [
        "0c11b9428f619ab377c92eff2f160a834a6585dd"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Jan 10 04:53:18 2008 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Feb 01 14:05:28 2008 -0500"
      },
      "message": "[PATCH] get rid of loginuid races\n\nKeeping loginuid in audit_context is racy and results in messier\ncode.  Taken to task_struct, out of the way of -\u003eaudit_context\nchanges.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "0c11b9428f619ab377c92eff2f160a834a6585dd",
      "tree": "35b573715ad5730a77d067486838345132771a7a",
      "parents": [
        "24e1c13c93cbdd05e4b7ea921c0050b036555adc"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Jan 10 04:20:52 2008 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Feb 01 14:04:59 2008 -0500"
      },
      "message": "[PATCH] switch audit_get_loginuid() to task_struct *\n\nall callers pass something-\u003eaudit_context\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "cd689985cf49f6ff5c8eddc48d98b9d581d9475d",
      "tree": "a1a119402f5208c45c21b855e8d2fbbaf18cfd72",
      "parents": [
        "83e96c604e781098a2f61b8a294919bcf3abfab4"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Feb 01 17:45:14 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Feb 01 17:45:14 2008 +0100"
      },
      "message": "futex: Add bitset conditional wait/wakeup functionality\n\nTo allow the implementation of optimized rw-locks in user space, glibc\nneeds a possibility to select waiters for wakeup depending on a bitset\nmask.\n\nThis requires two new futex OPs: FUTEX_WAIT_BITS and FUTEX_WAKE_BITS\nThese OPs are basically the same as FUTEX_WAIT and FUTEX_WAKE plus an\nadditional argument - a bitset. Further the FUTEX_WAIT_BITS OP is\nexpecting an absolute timeout value instead of the relative one, which\nis used for the FUTEX_WAIT OP.\n\nFUTEX_WAIT_BITS calls into the kernel with a bitset. The bitset is\nstored in the futex_q structure, which is used to enqueue the waiter\ninto the hashed futex waitqueue.\n\nFUTEX_WAKE_BITS also calls into the kernel with a bitset. The wakeup\nfunction logically ANDs the bitset with the bitset stored in each\nwaiters futex_q structure. If the result is zero (i.e. none of the set\nbits in the bitsets is matching), then the waiter is not woken up. If\nthe result is not zero (i.e. one of the set bits in the bitsets is\nmatching), then the waiter is woken.\n\nThe bitset provided by the caller must be non zero. In case the\nprovided bitset is zero the kernel returns EINVAL.\n\nInternaly the new OPs are only extensions to the existing FUTEX_WAIT\nand FUTEX_WAKE functions. The existing OPs hand a bitset with all bits\nset into the futex_wait() and futex_wake() functions.\n\nSigned-off-by: Thomas Gleixner \u003ctgxl@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "83e96c604e781098a2f61b8a294919bcf3abfab4",
      "tree": "67c5a97b30784cdc8297dc888b1135c4f127e964",
      "parents": [
        "9d55b9923a1b7ea8193b8875c57ec940dc2ff027"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Feb 01 17:45:14 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Feb 01 17:45:14 2008 +0100"
      },
      "message": "futex: Remove warn on in return fixup path\n\nThe WARN_ON() in the fixup return path of futex_lock_pi() can\ntrigger with false positives.\n\nThe following scenario happens:\nt1 holds the futex and t2 and t3 are blocked on the kernel side rt_mutex.\nt1 releases the futex (and the rt_mutex) and assigned t2 to be the next\nowner of the futex.\n\nt2 is interrupted and returns w/o acquiring the rt_mutex, before t1 can\nrelease the rtmutex.\n\nt1 releases the rtmutex and t3 becomes the pending owner of the rtmutex.\n\nt2 notices that it is the designated owner (user space variable) and\nfails to acquire the rt_mutex via trylock, because it is not allowed to\nsteal the rt_mutex from t3. Now it looks at the rt_mutex pending owner (t3)\nand assigns the futex and the pi_state to it.\n\nDuring the fixup t4 steals the rtmutex from t3.\n\nt2 returns from the fixup and the owner of the rt_mutex has changed from\nt3 to t4.\n\nThere is no need to do another round of fixups from t2. The important\npart (t2 is not returning as the user space visible owner) is\ndone. The further fixups are done, before either t3 or t4 return to\nuser space.\n\nFor the user space it is not relevant which task (t3 or t4) is the real\nowner, as long as those are both in the kernel, which is guaranteed by\nthe serialization of the hash bucket lock. Both tasks (which ever returns\nfirst to userspace - t4 because it locked the rt_mutex or t3 due to a signal)\nare going through the lock_futex_pi() return path where the ownership is\nfixed before the return to user space.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5df7fa1c62146a0933767d040d400013310dbcc7",
      "tree": "bfd108f0d33a91d4f2476df7f5a7f562b640eb97",
      "parents": [
        "1001d0a9ee74a468077dfd4da0565174e88de26b"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Feb 01 17:45:14 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Feb 01 17:45:14 2008 +0100"
      },
      "message": "tick-sched: add more debug information\n\nTo allow better diagnosis of tick-sched related, especially NOHZ\nrelated problems, we need to know when the last wakeup via an irq\nhappened and when the CPU left the idle state.\n\nAdd two fields (idle_waketime, idle_exittime) to the tick_sched\nstructure and add them to the timer_list output.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1001d0a9ee74a468077dfd4da0565174e88de26b",
      "tree": "8775592b23e8049700ff98a7bdbcf9c802a0f127",
      "parents": [
        "3588a085cd52ef080bf72df772378e1ba6bb292f"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Feb 01 17:45:13 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Feb 01 17:45:13 2008 +0100"
      },
      "message": "timekeeping: update xtime_cache when time(zone) changes\n\nxtime_cache needs to be updated whenever xtime and or wall_to_monotic\nare changed. Otherwise users of xtime_cache might see a stale (and in\nthe case of timezone changes utterly wrong) value until the next\nupdate happens.\n\nFixup the obvious places, which miss this update.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nTested-by: Dhaval Giani \u003cdhaval@linux.vnet.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3588a085cd52ef080bf72df772378e1ba6bb292f",
      "tree": "9c013c37431eb3a0d0da3ab14cbc4985600e82a2",
      "parents": [
        "24e1c13c93cbdd05e4b7ea921c0050b036555adc"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Feb 01 17:45:13 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Feb 01 17:45:13 2008 +0100"
      },
      "message": "hrtimer: fix hrtimer_init_sleeper() users\n\nthis patch:\n\n commit 37bb6cb4097e29ffee970065b74499cbf10603a3\n Author: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\n Date:   Fri Jan 25 21:08:32 2008 +0100\n\n     hrtimer: unlock hrtimer_wakeup\n\nBroke hrtimer_init_sleeper() users. It forgot to fix up the futex\ncaller of this function to detect the failed queueing and messed up\nthe do_nanosleep() caller in that it could leak a TASK_INTERRUPTIBLE\nstate.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "406a1d868001423c85a3165288e566e65f424fe6",
      "tree": "2663aa7139f884ba5ef0425911fc9a579fcb1c6f",
      "parents": [
        "29ffe1a5c52dae13b6efead97aab9b058f38fce4"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon Jan 28 20:47:09 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 31 19:27:08 2008 -0800"
      },
      "message": "[AUDIT]: Increase skb-\u003etruesize in audit_expand\n\nThe recent UDP patch exposed this bug in the audit code.  It\nwas calling pskb_expand_head without increasing skb-\u003etruesize.\nThe caller of pskb_expand_head needs to do so because that function\nis designed to be called in places where truesize is already fixed\nand therefore it doesn\u0027t update its value.\n\nBecause the audit system is using it in a place where the truesize\nhas not yet been fixed, it needs to update its value manually.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nAcked-by: James Morris \u003cjmorris@namei.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "13f09b95a82c46ed608d057b22e0dd18ebfff22a",
      "tree": "99d8b9ed6f725bbd4ad58a1193929f1064c4b1d0",
      "parents": [
        "75659ca0c10992dcb39258518368a0f6f56e935d"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Jan 31 20:40:29 2008 -0500"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 01 12:58:14 2008 +1100"
      },
      "message": "Ensure that we export __fatal_signal_pending()\n\nIt may be used by the modules nfs.ko and sunrpc.ko\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n[ Made it a regular export rather than GPL-only  - Linus ]\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "75659ca0c10992dcb39258518368a0f6f56e935d",
      "tree": "5d014ceb2f10158061a23d0d976f9a613d85e659",
      "parents": [
        "fbdde7bd274d74729954190f99afcb1e3d9bbfba",
        "2dfe485a2c8afa54cb069fcf48476f6c90ea3fdf"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 01 11:45:47 2008 +1100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 01 11:45:47 2008 +1100"
      },
      "message": "Merge branch \u0027task_killable\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/willy/misc\n\n* \u0027task_killable\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/willy/misc: (22 commits)\n  Remove commented-out code copied from NFS\n  NFS: Switch from intr mount option to TASK_KILLABLE\n  Add wait_for_completion_killable\n  Add wait_event_killable\n  Add schedule_timeout_killable\n  Use mutex_lock_killable in vfs_readdir\n  Add mutex_lock_killable\n  Use lock_page_killable\n  Add lock_page_killable\n  Add fatal_signal_pending\n  Add TASK_WAKEKILL\n  exit: Use task_is_*\n  signal: Use task_is_*\n  sched: Use task_contributes_to_load, TASK_ALL and TASK_NORMAL\n  ptrace: Use task_is_*\n  power: Use task_is_*\n  wait: Use TASK_NORMAL\n  proc/base.c: Use task_is_*\n  proc/array.c: Use TASK_REPORT\n  perfmon: Use task_is_*\n  ...\n\nFixed up conflicts in NFS/sunrpc manually..\n"
    },
    {
      "commit": "c4772d99300a9fc13c86aaa370e630c5973664f6",
      "tree": "afdc34662ecdb0522cab05690d55edb0a9eea85b",
      "parents": [
        "5aff0531ee2403b319e89bd04055fc41173e95fd"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jan 31 22:45:23 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jan 31 22:45:23 2008 +0100"
      },
      "message": "debug: turn ignore_loglevel into an early param\n\ni was debugging early crashes and wondered where all the printks\nwent. The reason: ignore_loglevel_setup() was not called yet ...\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5aff0531ee2403b319e89bd04055fc41173e95fd",
      "tree": "522e811c815d296497cac1e12127fdbfaa4a8da6",
      "parents": [
        "ef9884e6f29bbe1075204f962a00f7533bf7e8f3"
      ],
      "author": {
        "name": "Gerald Stralko",
        "email": "gerb.stralko@gmail.com",
        "time": "Thu Jan 31 22:45:23 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jan 31 22:45:23 2008 +0100"
      },
      "message": "sched: remove unused params\n\nThis removes the extra struct task_struct *p parameter in inc_nr_running\nand dec_nr_running functions.\n\nSigned-off by: Jerry Stralko \u003cgerb.stralko@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ef9884e6f29bbe1075204f962a00f7533bf7e8f3",
      "tree": "6d67c6a7073ec99237336c32a8d6985d5b8a2f4e",
      "parents": [
        "296825cbe14d4c95ee9c41ca5824f7487bfb4d9d"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Jan 31 22:45:22 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jan 31 22:45:22 2008 +0100"
      },
      "message": "sched: let +nice tasks have smaller impact\n\nMichel Dänzr has bisected an interactivity problem with\nplus-reniced tasks back to this commit:\n\n 810e95ccd58d91369191aa4ecc9e6d4a10d8d0c8 is first bad commit\n commit 810e95ccd58d91369191aa4ecc9e6d4a10d8d0c8\n Author: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\n Date:   Mon Oct 15 17:00:14 2007 +0200\n\n sched: another wakeup_granularity fix\n\n      unit mis-match: wakeup_gran was used against a vruntime\n\nfix this by assymetrically scaling the vtime of positive reniced\ntasks.\n\nBisected-by: Michel Dänzer \u003cmichel@tungstengraphics.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "296825cbe14d4c95ee9c41ca5824f7487bfb4d9d",
      "tree": "c1d608ee1dd774f1d726c12873feff8a29422fff",
      "parents": [
        "095031052b4c03a7c8ffa51cbab031e442c4f8b7"
      ],
      "author": {
        "name": "Srivatsa Vaddagiri",
        "email": "vatsa@linux.vnet.ibm.com",
        "time": "Thu Jan 31 22:45:22 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jan 31 22:45:22 2008 +0100"
      },
      "message": "sched: fix high wake up latencies with FAIR_USER_SCHED\n\nThe reason why we are getting better wakeup latencies for\n!FAIR_USER_SCHED is because of this snippet of code in place_entity():\n\n\tif (!initial) {\n\t\t/* sleeps upto a single latency don\u0027t count. */\n\t\tif (sched_feat(NEW_FAIR_SLEEPERS) \u0026\u0026 entity_is_task(se))\n\t\t\t\t\t\t     ^^^^^^^^^^^^^^^^^^\n\t\t\tvruntime -\u003d sysctl_sched_latency;\n\n\t\t/* ensure we never gain time by being placed backwards. */\n\t\tvruntime \u003d max_vruntime(se-\u003evruntime, vruntime);\n\t}\n\nNEW_FAIR_SLEEPERS feature gives credit for sleeping only to tasks and\nnot group-level entities. With the patch attached, I could see that\nwakeup latencies with FAIR_USER_SCHED are restored to the same level as\n!FAIR_USER_SCHED.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "bd45ac0c5daae35e7c71138172e63df5cf644cf6",
      "tree": "5eb5a599bf6a9d7a8a34e802db932aa9e9555de4",
      "parents": [
        "4eece4ccf997c0e6d8fdad3d842e37b16b8d705f",
        "5bdeae46be6dfe9efa44a548bd622af325f4bdb4"
      ],
      "author": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Thu Jan 31 11:25:51 2008 +1100"
      },
      "committer": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Thu Jan 31 11:25:51 2008 +1100"
      },
      "message": "Merge branch \u0027linux-2.6\u0027\n"
    },
    {
      "commit": "6d4e4c4fca5be806b888d606894d914847e82d78",
      "tree": "dc383e27d812f617d791f48ba1527d70c86b65ba",
      "parents": [
        "76c35c6e99cb46b936b88cc795c9c886e7fe7bd4"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Nov 21 16:41:05 2007 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Jan 30 17:53:13 2008 +0200"
      },
      "message": "KVM: Disallow fork() and similar games when using a VM\n\nWe don\u0027t want the meaning of guest userspace changing under our feet.\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "dd5af90a7f3d79e04b7eace9a98644dbf2038f4d",
      "tree": "22327ba385c830b7be391c76821dc5ec26863f2e",
      "parents": [
        "3212bff370c2f22e4987c6679ba485654cefb178"
      ],
      "author": {
        "name": "Mike Travis",
        "email": "travis@sgi.com",
        "time": "Wed Jan 30 13:33:32 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:33:32 2008 +0100"
      },
      "message": "x86/non-x86: percpu, node ids, apic ids x86.git fixup\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "70edcd77a0d6d0f8731c826764f5eb6732f521e9",
      "tree": "1ea618a73c784c11b52168046d5a27197398520a",
      "parents": [
        "17abecfe651c862cd31b1f9e8ef6cfc29083f00d"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:33:24 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:33:24 2008 +0100"
      },
      "message": "genirq: stackdump after the \"Trying to free already-free IRQ\" message\n\nthese bugs are harder to find than they seem, a stackdump helps.\n\nmake it dependent on CONFIG_DEBUG_SHIRQ so that people can turn it off\nif it annoys them.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "6dab27784b2a97823b522e1cb88e40be40a93d45",
      "tree": "75ee27b4841aad5800531e591aed141164071727",
      "parents": [
        "80b51f310b6f55006a265d087b8f48744e65663d"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@infradead.org",
        "time": "Wed Jan 30 13:33:08 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:33:08 2008 +0100"
      },
      "message": "x86: add a simple backtrace test module\n\nDuring the work on the x86 32 and 64 bit backtrace code I found it useful\nto have a simple test module to test a process and irq context backtrace.\nSince the existing backtrace code was buggy, I figure it might be useful\nto have such a test module in the kernel so that maybe we can even\ndetect such bugs earlier..\n\n[ mingo@elte.hu: build fix ]\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "076f9776f5d8d131b36955db8641aba3893c2c1b",
      "tree": "b85e705ecfe34400c6e1188fb470572956a232ab",
      "parents": [
        "8866cd9dc9d0bbadcf361a14e0cdfecb66473087"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:33:06 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:33:06 2008 +0100"
      },
      "message": "x86: make early printk selectable on 64-bit as well\n\nEnable CONFIG_EMBEDDED to select CONFIG_EARLY_PRINTK on 64-bit as well.\n\nsaves ~2K:\n\n   text    data     bss     dec     hex filename\n   7290283 3672091 1907848 12870222         c4624e vmlinux.before\n   7288373 3671795 1907848 12868016         c459b0 vmlinux.after\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "8c1c9356429741a82ff176d0f3400fb9e06b2a30",
      "tree": "4daa7864163b77943e3d303c32a08672f443685e",
      "parents": [
        "3334052a321aca0ffecb54244d666311f98f5487"
      ],
      "author": {
        "name": "Ananth N Mavinakayanahalli",
        "email": "ananth@in.ibm.com",
        "time": "Wed Jan 30 13:32:53 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:32:53 2008 +0100"
      },
      "message": "x86: kprobes: add kprobes smoke tests that run on boot\n\nHere is a quick and naive smoke test for kprobes. This is intended to\njust verify if some unrelated change broke the *probes subsystem. It is\nself contained, architecture agnostic and isn\u0027t of any great use by itself.\n\nThis needs to be built in the kernel and runs a basic set of tests to\nverify if kprobes, jprobes and kretprobes run fine on the kernel. In case\nof an error, it\u0027ll print out a message with a \"BUG\" prefix.\n\nThis is a start; we intend to add more tests to this bucket over time.\n\nThanks to Jim Keniston and Masami Hiramatsu for comments and suggestions.\n\nTested on x86 (32/64) and powerpc.\n\nSigned-off-by: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nAcked-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "71c339116a216b181fc5e203ef51a033fe5e38cf",
      "tree": "d69ddfa6c980247a06fd9f096c116e94cf572e81",
      "parents": [
        "79b4cc5ee7a8086ac2c9c0afa52e6d687ce1ffef"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Wed Jan 30 13:32:50 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:32:50 2008 +0100"
      },
      "message": "debug: add the end-of-trace marker and the module list to\n\nUnlike oopses, WARN_ON() currently does\u0027t print the loaded modules list.\nThis makes it harder to take action on certain bug reports. For example,\nrecently there were a set of WARN_ON()s reported in the mac80211 stack,\nwhich were just signalling a driver bug. It takes then anther round trip\nto the bug reporter (if he responds at all) to find out which driver\nis at fault.\n\nAnother issue is that, unlike oopses, WARN_ON() doesn\u0027t currently printk\nthe helpful \"cut here\" line, nor the \"end of trace\" marker.\nNow that WARN_ON() is out of line, the size increase due to this is\nminimal and it\u0027s worth adding.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "79b4cc5ee7a8086ac2c9c0afa52e6d687ce1ffef",
      "tree": "8f22bbdb0d1532ec6f70400db17bbe2f7c8fbb99",
      "parents": [
        "3a6a62f96f168d192fb0cc9c0b5ee2584740b32d"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@infradead.org",
        "time": "Wed Jan 30 13:32:50 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:32:50 2008 +0100"
      },
      "message": "debug: move WARN_ON() out of line\n\nA quick grep shows that there are currently 1145 instances of WARN_ON\nin the kernel. Currently, WARN_ON is pretty much entirely inlined,\nwhich makes it hard to enhance it without growing the size of the kernel\n(and getting Andrew unhappy).\n\nThis patch build on top of Olof\u0027s patch that introduces __WARN,\nand places the slowpath out of line. It also uses Ingo\u0027s suggestion\nto not use __FUNCTION__ but to use kallsyms to do the lookup;\nthis saves a ton of extra space since gcc doesn\u0027t need to store the function\nstring twice now:\n\n3936367  833603  624736 5394706  525112 vmlinux.before\n3917508  833603  624736 5375847  520767 vmlinux-slowpath\n\n15Kb savings...\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nCC: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCC: Olof Johansson \u003colof@lixom.net\u003e\nAcked-by: Matt Meckall \u003cmpm@selenic.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "96d97cf03b3d68e6c857623da93acd522b2b7e1a",
      "tree": "f31885e66849ca2e20d9dffd72ecd556204dbb45",
      "parents": [
        "9e094c17ee2b85130ab7b2ea37456f6867eb687a"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Wed Jan 30 13:32:48 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:32:48 2008 +0100"
      },
      "message": "x86: add /proc/irq/*/spurious to dump the spurious irq debugging state\n\nThis is useful to debug problems with interrupt handlers that return\nsometimes IRQ_NONE.\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "9e094c17ee2b85130ab7b2ea37456f6867eb687a",
      "tree": "ca4723bbf4e62b623869be0f73c2f74807f3384c",
      "parents": [
        "b899c5ed2ef3af3429abd8046197255f179ea496"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Wed Jan 30 13:32:48 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:32:48 2008 +0100"
      },
      "message": "genirq: turn irq debugging options into module params\n\nThis allows to change them at runtime using sysfs. No need to\nreboot to set them.\n\nI only added aliases (kernel.noirqdebug etc.) so the old options\nstill work.\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "c269f19617f508cc5c29c0b064c1a437d7011a46",
      "tree": "da49abc09dcf573df0580b305dba647a70306ac8",
      "parents": [
        "032d82d9065dec0e26718eca376c2029e4bd0595"
      ],
      "author": {
        "name": "Roland McGrath",
        "email": "roland@redhat.com",
        "time": "Wed Jan 30 13:31:48 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:31:48 2008 +0100"
      },
      "message": "x86: compat_sys_ptrace\n\nThis adds a generic definition of compat_sys_ptrace that calls\ncompat_arch_ptrace, parallel to sys_ptrace/arch_ptrace.  Some\nmachines needing this already define a function by that name.\nThe new generic function is defined only on machines that\nput #define __ARCH_WANT_COMPAT_SYS_PTRACE into asm/ptrace.h.\n\nSigned-off-by: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "032d82d9065dec0e26718eca376c2029e4bd0595",
      "tree": "44cdb3296f25a9b2d5044fe1c12fbb03b085ac37",
      "parents": [
        "16c3e389e7a7254ff8dc7029ac4fbe996c3c75bf"
      ],
      "author": {
        "name": "Roland McGrath",
        "email": "roland@redhat.com",
        "time": "Wed Jan 30 13:31:47 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:31:47 2008 +0100"
      },
      "message": "x86: compat_ptrace_request\n\nThis adds a compat_ptrace_request that is the analogue of ptrace_request\nfor the things that 32-on-64 ptrace implementations can share in common.\nSo far there are just a couple of requests handled generically.\n\nSigned-off-by: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "16c3e389e7a7254ff8dc7029ac4fbe996c3c75bf",
      "tree": "e87239acac664b4f940118b9920e457cb8a1461c",
      "parents": [
        "5bde4d181793be84351bc21c256d8c71cfcd313a"
      ],
      "author": {
        "name": "Roland McGrath",
        "email": "roland@redhat.com",
        "time": "Wed Jan 30 13:31:47 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:31:47 2008 +0100"
      },
      "message": "x86: ptrace_request peekdata/pokedata\n\nThis makes ptrace_request handle {PEEK,POKE}{TEXT,DATA} directly.\nEvery arch_ptrace that could call generic_ptrace_peekdata already\nhas a default case calling ptrace_request, so this keeps things\nsimpler for the arch code.\n\nSigned-off-by: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "95c354fe9f7d6decc08a92aa26eb233ecc2155bf",
      "tree": "ec9267032ea875e84216cfb20acb2cfc7c62149f",
      "parents": [
        "a95d67f87e1a5f1b4429be3ba3bf7b4051657908"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Wed Jan 30 13:31:20 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:31:20 2008 +0100"
      },
      "message": "spinlock: lockbreak cleanup\n\nThe break_lock data structure and code for spinlocks is quite nasty.\nNot only does it double the size of a spinlock but it changes locking to\na potentially less optimal trylock.\n\nPut all of that under CONFIG_GENERIC_LOCKBREAK, and introduce a\n__raw_spin_is_contended that uses the lock data itself to determine whether\nthere are waiters on the lock, to be used if CONFIG_GENERIC_LOCKBREAK is\nnot set.\n\nRename need_lockbreak to spin_needbreak, make it use spin_is_contended to\ndecouple it from the spinlock implementation, and make it typesafe (rwlocks\ndo not have any need_lockbreak sites -- why do they even get bloated up\nwith that break_lock then?).\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "65ea5b0349903585bfed9720fa06f5edb4f1cd25",
      "tree": "6c252228c34416b7e2077f23475de34500c2ab8a",
      "parents": [
        "53756d3722172815f52272b28c6d5d5e9639adde"
      ],
      "author": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Wed Jan 30 13:30:56 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:30:56 2008 +0100"
      },
      "message": "x86: rename the struct pt_regs members for 32/64-bit consistency\n\nWe have a lot of code which differs only by the naming of specific\nmembers of structures that contain registers.  In order to enable\nadditional unifications, this patch drops the e- or r- size prefix\nfrom the register names in struct pt_regs, and drops the x- prefixes\nfor segment registers on the 32-bit side.\n\nThis patch also performs the equivalent renames in some additional\nplaces that might be candidates for unification in the future.\n\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "5b88abbf770a0e1975c668743100f42934f385e8",
      "tree": "ae6af4df76e71682efb4d90620182bfaf541e9c8",
      "parents": [
        "dc802c2d2e66e2d1544e023bfd4be6cdee48d57b"
      ],
      "author": {
        "name": "Roland McGrath",
        "email": "roland@redhat.com",
        "time": "Wed Jan 30 13:30:53 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:30:53 2008 +0100"
      },
      "message": "ptrace: generic PTRACE_SINGLEBLOCK\n\nThis makes ptrace_request handle PTRACE_SINGLEBLOCK along with\nPTRACE_CONT et al.  The new generic code makes use of the\narch_has_block_step macro and generic entry points on machines\nthat define them.\n\n[ mingo@elte.hu: bugfix ]\n\nSigned-off-by: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "36df29d7994180cf7f0ccc5d46495855d56d2721",
      "tree": "3291b504ef268714ea40de90b297dba62f11206b",
      "parents": [
        "e1f287735c1e58c653b516931b5d3dd899edcb77"
      ],
      "author": {
        "name": "Roland McGrath",
        "email": "roland@redhat.com",
        "time": "Wed Jan 30 13:30:51 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:30:51 2008 +0100"
      },
      "message": "ptrace: generic resume\n\nThis makes ptrace_request handle all the ptrace requests that wake\nup the traced task.  These do low-level ptrace implementation magic\nthat is not arch-specific and should be kept out of arch code.  The\nimplementations on each arch usually do the same thing.  The new\ngeneric code makes use of the arch_has_single_step macro and generic\nentry points to handle PTRACE_SINGLESTEP.\n\nSigned-off-by: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "6e7c402590b75b6b45138792445ee0f0315a8473",
      "tree": "94db814d496502932ab55acc560a728925f87540",
      "parents": [
        "b02aae9cf52956dfe1bec73f77f81a3d05d3902b"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:30:05 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:30:05 2008 +0100"
      },
      "message": "x86: various changes and cleanups to in_p/out_p delay details\n\nvarious changes to the in_p/out_p delay details:\n\n- add the io_delay\u003dnone method\n- make each method selectable from the kernel config\n- simplify the delay code a bit by getting rid of an indirect function call\n- add the /proc/sys/kernel/io_delay_type sysctl\n- change \u0027io_delay\u003dstandard|alternate\u0027 to io_delay\u003d0x80 and io_delay\u003d0xed\n- make the io delay config not depend on CONFIG_DEBUG_KERNEL\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nTested-by: \"David P. Reed\" \u003cdpreed@reed.com\u003e\n"
    },
    {
      "commit": "6378ddb592158db4b42197f1bc8666228800e379",
      "tree": "f9b1e671dfd12fb221f6140dd231ccb14cd9f27e",
      "parents": [
        "bbe4d18ac2e058c56adb0cd71f49d9ed3216a405"
      ],
      "author": {
        "name": "Venki Pallipadi",
        "email": "venkatesh.pallipadi@intel.com",
        "time": "Wed Jan 30 13:30:04 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:30:04 2008 +0100"
      },
      "message": "time: track accurate idle time with tick_sched.idle_sleeptime\n\nCurrent idle time in kstat is based on jiffies and is coarse grained.\ntick_sched.idle_sleeptime is making some attempt to keep track of idle time\nin a fine grained manner.  But, it is not handling the time spent in\ninterrupts fully.\n\nMake tick_sched.idle_sleeptime accurate with respect to time spent on\nhandling interrupts and also add tick_sched.idle_lastupdate, which keeps\ntrack of last time when idle_sleeptime was updated.\n\nThis statistics will be crucial for cpufreq-ondemand governor, which can\nshed some conservative gaurd band that is uses today while setting the\nfrequency.  The ondemand changes that uses the exact idle time is coming\nsoon.\n\nSigned-off-by: Venkatesh Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "bbe4d18ac2e058c56adb0cd71f49d9ed3216a405",
      "tree": "bc81b3a04cc01fed11ac47673475bf4019cc013f",
      "parents": [
        "37a47db8d7f0f38dac5acf5a13abbc8f401707fa"
      ],
      "author": {
        "name": "john stultz",
        "email": "johnstul@us.ibm.com",
        "time": "Wed Jan 30 13:30:03 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:30:03 2008 +0100"
      },
      "message": "NTP: correct inconsistent ntp interval/tick_length usage\n\nI recently noticed on one of my boxes that when synched with an NTP\nserver, the drift value reported for the system was ~283ppm. While in\nsome cases, clock hardware can be that bad, it struck me as unusual as\nthe system was using the acpi_pm clocksource, which is one of the more\ntrustworthy and accurate clocksources on x86 hardware.\n\nI brought up another system and let it sync to the same NTP server, and\nI noticed a similar 280some ppm drift.\n\nIn looking at the code, I found that the acpi_pm\u0027s constant frequency\nwas being computed correctly at boot-up, however once the system was up,\neven without the ntp daemon running, the clocksource\u0027s frequency was\nbeing modified by the clocksource_adjust() function.\n\nDigging deeper, I realized that in the code that keeps track of how much\nthe clocksource is skewing from the ntp desired time, we were using\ndifferent lengths to establish how long an time interval was.\n\nThe clocksource was being setup with the following interval:\n\tNTP_INTERVAL_LENGTH \u003d NSEC_PER_SEC/NTP_INTERVAL_FREQ\n\nWhile the ntp code was using the tick_length_base value:\n\ttick_length_base ~\u003d (tick_usec * NSEC_PER_USEC * USER_HZ)\n\t\t\t\t\t/NTP_INTERVAL_FREQ\n\nThe subtle difference is:\n\t(tick_usec * NSEC_PER_USEC * USER_HZ) !\u003d NSEC_PER_SEC\n\nThis difference in calculation was causing the clocksource correction\ncode to apply a correction factor to the clocksource so the two\nintervals were the same, however this results in the actual frequency of\nthe clocksource to be made incorrect. I believe this difference would\naffect all clocksources, although to differing degrees depending on the\nclocksource resolution.\n\nThe issue was introduced when my HZ free ntp patch landed in 2.6.21-rc1,\nso my apologies for the mistake, and for not noticing it until now.\n\nThe following patch, corrects the clocksource\u0027s initialization code so\nit uses the same interval length as the code in ntp.c. After applying\nthis patch, the drift value for the same system went from ~283ppm to\nonly 2.635ppm.\n\nI believe this patch to be good, however it does affect all arches and\nI\u0027ve only tested on x86, so some caution is advised. I do think it would\nbe a likely candidate for a stable 2.6.24.x release.\n\nAny thoughts or feedback would be appreciated.\n\nSigned-off-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "45fe4fe19120a22f7339f5bb110447170c25fca9",
      "tree": "06639135ca5bc60e952670dd7df40e195edb2ad9",
      "parents": [
        "1a0c009ac53de4a7664a1239936f0bc258133156"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:30:03 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:30:03 2008 +0100"
      },
      "message": "x86: make clockevents more robust\n\ndetect zero event-device multiplicators - they then cause\ndivision-by-zero crashes if a clockevent has been initialized\nincorrectly.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "4713e22ce81eb8b3353e16435362eb3d0ec95640",
      "tree": "6f96151bd9b182d6b9d706d3ad3b4fe8c99e7f7e",
      "parents": [
        "316da3b3fc8efa9a5d2c99e0d449f01ff38c6aba"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Jan 30 13:30:02 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:30:02 2008 +0100"
      },
      "message": "clocksource: add unregister function to disable unusable clocksources\n\nOn x86 the PIT might become an unusable clocksource. Add an unregister\nfunction to provide a possibilty to remove the PIT from the list of\navailable clock sources.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1ada5cba6a0318f90e45b38557e7b5206a9cba38",
      "tree": "262886af88fe55e2de6fb1e878f68bd6b452a3aa",
      "parents": [
        "1077f5a917b7c630231037826b344b2f7f5b903f"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Wed Jan 30 13:30:02 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:30:02 2008 +0100"
      },
      "message": "clocksource: make clocksource watchdog cycle through online CPUs\n\nThis way it checks if the clocks are synchronized between CPUs too.\nThis might be able to detect slowly drifting TSCs which only\ngo wrong over longer time.\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "1077f5a917b7c630231037826b344b2f7f5b903f",
      "tree": "e0083b73450d513b16d0f5c0704ad49961dce401",
      "parents": [
        "efd9ac8630e89b9ee7ce64008bd7783952374f37"
      ],
      "author": {
        "name": "Parag Warudkar",
        "email": "parag.warudkar@gmail.com",
        "time": "Wed Jan 30 13:30:01 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:30:01 2008 +0100"
      },
      "message": "clocksource.c: use init_timer_deferrable for clocksource_watchdog\n\nclocksource_watchdog can use a deferrable timer - reduces wakeups from\nidle per second.\n\nSigned-off-by: Parag Warudkar \u003cparag.warudkar@gmail.com\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "efd9ac8630e89b9ee7ce64008bd7783952374f37",
      "tree": "2b06184b9241770aff309a9940f6e400371003a4",
      "parents": [
        "1d76c2622813fbc692b0d323028cfef9ee36051a"
      ],
      "author": {
        "name": "Geert Uytterhoeven",
        "email": "Geert.Uytterhoeven@sonycom.com",
        "time": "Wed Jan 30 13:30:01 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:30:01 2008 +0100"
      },
      "message": "time: fold __get_realtime_clock_ts() into getnstimeofday()\n\n  - getnstimeofday() was just a wrapper around __get_realtime_clock_ts()\n  - Replace calls to __get_realtime_clock_ts() by calls to getnstimeofday()\n  - Fix bogus reference to get_realtime_clock_ts(), which never existed\n\nSigned-off-by: Geert Uytterhoeven \u003cGeert.Uytterhoeven@sonycom.com\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "186e3cb8a465bac010ee3b020768d2fa2b505aef",
      "tree": "c45dd774f91cf9095915c7e4bbec9084fcd06026",
      "parents": [
        "b10db7f0d2b589a7f88dc3026e150756cb437a28"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Jan 30 13:30:01 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:30:01 2008 +0100"
      },
      "message": "timer: clean up tick-broadcast.c\n\nclean up tick-broadcast.c\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b10db7f0d2b589a7f88dc3026e150756cb437a28",
      "tree": "92942041770257c78f7271b79d9860eec10bd77c",
      "parents": [
        "4c9dc6412247abf4972080c51cd16a58c4009c19"
      ],
      "author": {
        "name": "Pavel Machek",
        "email": "pavel@ucw.cz",
        "time": "Wed Jan 30 13:30:00 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:30:00 2008 +0100"
      },
      "message": "time: more timer related cleanups\n\nI was confused by FSEC \u003d 10^15 NSEC statement, plus small whitespace\nfixes. When there\u0027s copyright, there should be GPL.\n\nSigned-off-by: Pavel Machek \u003cpavel@suse.cz\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "4c9dc6412247abf4972080c51cd16a58c4009c19",
      "tree": "a6c9b22da4ff5537219c03fbbfc919b95a27df2a",
      "parents": [
        "a6fa8e5a6172a5a5bc06ed04f34e50b36c978127"
      ],
      "author": {
        "name": "Pavel Machek",
        "email": "pavel@ucw.cz",
        "time": "Wed Jan 30 13:30:00 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:30:00 2008 +0100"
      },
      "message": "time: timer cleanups\n\nSmall cleanups to tick-related code. Wrong preempt count is followed\nby BUG(), so it is hardly KERN_WARNING.\n\nSigned-off-by: Pavel Machek \u003cpavel@suse.cz\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "a6fa8e5a6172a5a5bc06ed04f34e50b36c978127",
      "tree": "ec7750ea6438f85e2a1a94722962c7dbc3767100",
      "parents": [
        "213eca7f4888e9817e8076cdab6b9f7295c181f6"
      ],
      "author": {
        "name": "Pavel Machek",
        "email": "pavel@ucw.cz",
        "time": "Wed Jan 30 13:30:00 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:30:00 2008 +0100"
      },
      "message": "time: clean hungarian notation from timers\n\nClean up hungarian notation from timer code.\n\nSigned-off-by: Pavel Machek \u003cpavel@suse.cz\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "0ba6c33bcddc64a54b5f1c25a696c4767dc76292",
      "tree": "62e616f97a4762d8e75bf732e4827af2d15d52c5",
      "parents": [
        "21af0297c7e56024a5ccc4d8ad2a590f9ec371ba",
        "85040bcb4643cba578839e953f25e2d1965d83d0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 29 22:54:01 2008 +1100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 29 22:54:01 2008 +1100"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6.25\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6.25: (1470 commits)\n  [IPV6] ADDRLABEL: Fix double free on label deletion.\n  [PPP]: Sparse warning fixes.\n  [IPV4] fib_trie: remove unneeded NULL check\n  [IPV4] fib_trie: More whitespace cleanup.\n  [NET_SCHED]: Use nla_policy for attribute validation in ematches\n  [NET_SCHED]: Use nla_policy for attribute validation in actions\n  [NET_SCHED]: Use nla_policy for attribute validation in classifiers\n  [NET_SCHED]: Use nla_policy for attribute validation in packet schedulers\n  [NET_SCHED]: sch_api: introduce constant for rate table size\n  [NET_SCHED]: Use typeful attribute parsing helpers\n  [NET_SCHED]: Use typeful attribute construction helpers\n  [NET_SCHED]: Use NLA_PUT_STRING for string dumping\n  [NET_SCHED]: Use nla_nest_start/nla_nest_end\n  [NET_SCHED]: Propagate nla_parse return value\n  [NET_SCHED]: act_api: use PTR_ERR in tcf_action_init/tcf_action_get\n  [NET_SCHED]: act_api: use nlmsg_parse\n  [NET_SCHED]: act_api: fix netlink API conversion bug\n  [NET_SCHED]: sch_netem: use nla_parse_nested_compat\n  [NET_SCHED]: sch_atm: fix format string warning\n  [NETNS]: Add namespace for ICMP replying code.\n  ...\n"
    },
    {
      "commit": "6494a93d55fad586238cc1940e846c6d03e1aaf6",
      "tree": "8f930c1064753ab478b879b5598952f1ae87e52e",
      "parents": [
        "0aa5bd52d0c49ca56d24584c646e6544ccbb3dc9"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Jan 27 15:38:40 2008 -0800"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jan 29 17:13:27 2008 +1100"
      },
      "message": "Module: check to see if we have a built in module with the same name\n\nWhen trying to load a module with the same name as a built-in one, a\nscary kobject backtrace comes up.  Prevent that from checking for this\ncondition and warning the user as to what exactly is going on.\n\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "0aa5bd52d0c49ca56d24584c646e6544ccbb3dc9",
      "tree": "abce9de5d47992e5ccdfd052df022374d99f81a1",
      "parents": [
        "8686c99875f3849047660a5b6d02438443f22ce7"
      ],
      "author": {
        "name": "Jon Masters",
        "email": "jonathan@jonmasters.org",
        "time": "Mon Jan 21 20:43:41 2008 +0000"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jan 29 17:13:26 2008 +1100"
      },
      "message": "module: add module taint on ndiswrapper\n\nThe struct module taints member is supposed to store per-module taint\ndata. The kernel knows about certain specific external modules that will\ntaint the kernel, such as ndiswrapper. Use of ndiswrapper possibly\nshould set the per-module taint in addition to the global kernel\ntaint flag, unless we\u0027re arguing not because wrapper module itself\nis not what actually causes the kernel to be tainted as such?\n\nSigned-off-by: Jon Masters \u003cjcm@jonmasters.org\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "8686c99875f3849047660a5b6d02438443f22ce7",
      "tree": "42eca5ce8533f973553376e4afbe7362608bf01d",
      "parents": [
        "6dd06c9fbe025f542bce4cdb91790c0f91962722"
      ],
      "author": {
        "name": "Denis Cheng",
        "email": "crquan@gmail.com",
        "time": "Mon Jan 21 17:08:25 2008 +0800"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jan 29 17:13:24 2008 +1100"
      },
      "message": "module: fix the module name length in param_sysfs_builtin\n\nthe original code use KOBJ_NAME_LEN for built-in module name length,\nthat\u0027s defined to 20 in linux/kobject.h, but this is not enough appearntly,\nmany module names are longer than this;\n #define KOBJ_NAME_LEN                   20\n\nanother macro is MODULE_NAME_LEN defined in linux/module.h, I think this is\nenough for module names:\n #define MODULE_NAME_LEN (64 - sizeof(unsigned long))\n\nSigned-off-by: Denis Cheng \u003ccrquan@gmail.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "6dd06c9fbe025f542bce4cdb91790c0f91962722",
      "tree": "5c946eb93f30c64fd435bdd6d1064880ef21557a",
      "parents": [
        "bb9d3d56e792d2619cc0903df4ac01d86ac1261d"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jan 29 17:13:22 2008 -0500"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jan 29 17:13:23 2008 +1100"
      },
      "message": "module: make module_address_lookup safe\n\nmodule_address_lookup releases preemption then returns a pointer into\nthe module space.  The only user (kallsyms) copies the result, so just\ndo that under the preempt disable.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "bb9d3d56e792d2619cc0903df4ac01d86ac1261d",
      "tree": "25ff54c8402b6dedf45a3145b5d9904e14983bf4",
      "parents": [
        "efa5345e39d01deef349c120f55ac6b6eabe7457"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jan 29 17:13:21 2008 -0500"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jan 29 17:13:22 2008 +1100"
      },
      "message": "module: better OOPS and lockdep coverage for loading modules\n\nIf we put the module in the linked list *before* calling into to, we\nget the module name and functions in the OOPS (is_module_address can\nfind the module).  It also helps lockdep in a similar way.\n\nAcked-and-tested-by: Joern Engel \u003cjoern@lazybastard.org\u003e\nTested-by: Erez Zadok \u003cezk@cs.sunysb.edu\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "efa5345e39d01deef349c120f55ac6b6eabe7457",
      "tree": "7c8d0919aa380a0db7ac748d6c4571c00aa5c639",
      "parents": [
        "c9a3ba55bb5da03fc7d707709a7fe078fe1aa0a0"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jan 29 17:13:20 2008 -0500"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jan 29 17:13:21 2008 +1100"
      },
      "message": "module: Fix gratuitous sprintf in module.c\n\nAndrew sent an older version of this patch: we shouldn\u0027t use sprintf\nto copy a string.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "c9a3ba55bb5da03fc7d707709a7fe078fe1aa0a0",
      "tree": "3d25d1783ad794b7bc64f5f36f5289f7f51a56fc",
      "parents": [
        "a2da4052f1df6bc77749f84496fe731ab8b458f7"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jan 29 17:13:18 2008 -0500"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jan 29 17:13:20 2008 +1100"
      },
      "message": "module: wait for dependent modules doing init.\n\nThere have been reports of modules failing to load because the modules\nthey depend on are still loading.  This changes the modules to wait\nfor a reasonable length of time in that case.  We time out eventually,\nbecause there can be module loops or broken modules.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "a2da4052f1df6bc77749f84496fe731ab8b458f7",
      "tree": "d80b32de264a9929cc5746022a11674a5619bed6",
      "parents": [
        "8561b089afbaed2651591e5a4574fdca451d82f2"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jan 29 17:13:17 2008 -0500"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jan 29 17:13:18 2008 +1100"
      },
      "message": "module: Don\u0027t report discarded init pages as kernel text.\n\nCurrent code could cause a bug in symbol_put_addr() if an arch used\nkmalloc module text: we might think the symbol belongs to the core\nkernel.\n\nThe downside is that this might make backtraces through (discarded)\ninit functions harder to read on some archs, but we already have that\nissue for modules and noone has complained.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "08913681e484f3f0db949dd0809012e089846216",
      "tree": "5fd37f75f1de49d21fb49bb4e51f2bd4f1dcf849",
      "parents": [
        "36f0bebd9865dc7e327777fca34b75e65cbfd1a6"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Dec 05 01:42:49 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:56:29 2008 -0800"
      },
      "message": "[NET]: Remove the empty net_table\n\nI have removed all the entries from this table (core_table,\nipv4_table and tr_table), so now we can safely drop it.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e51b6ba077791f2f8c876022b37419be7a2ceec3",
      "tree": "9d8ca18f3239eff84cad5b79b715c332970fa89d",
      "parents": [
        "23eb06de7d2d333a0f7ebba2da663e00c9c9483e"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Fri Nov 30 23:54:00 2007 +1100"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:55:17 2008 -0800"
      },
      "message": "sysctl: Infrastructure for per namespace sysctls\n\nThis patch implements the basic infrastructure for per namespace sysctls.\n\nA list of lists of sysctl headers is added, allowing each namespace to have\nit\u0027s own list of sysctl headers.\n\nEach list of sysctl headers has a lookup function to find the first\nsysctl header in the list, allowing the lists to have a per namespace\ninstance.\n\nregister_sysct_root is added to tell sysctl.c about additional\nlists of sysctl_headers.  As all of the users are expected to be in\nkernel no unregister function is provided.\n\nsysctl_head_next is updated to walk through the list of lists.\n\n__register_sysctl_paths is added to add a new sysctl table on\na non-default sysctl list.\n\nThe only intrusive part of this patch is propagating the information\nto decided which list of sysctls to use for sysctl_check_table.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Serge Hallyn \u003cserue@us.ibm.com\u003e\nCc: Daniel Lezcano \u003cdlezcano@fr.ibm.com\u003e\nCc: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "23eb06de7d2d333a0f7ebba2da663e00c9c9483e",
      "tree": "2958ebaacc8d8fd4b1a4d1966c31e6395b5b634a",
      "parents": [
        "29e796fd4de54b8f5bc30d897611210ece4fd0f2"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Fri Nov 30 23:52:10 2007 +1100"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:55:17 2008 -0800"
      },
      "message": "sysctl: Remember the ctl_table we passed to register_sysctl_paths\n\nBy doing this we allow users of register_sysctl_paths that build\nand dynamically allocate their ctl_table to be simpler.  This allows\nthem to just remember the ctl_table_header returned from\nregister_sysctl_paths from which they can now find the\nctl_table array they need to free.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Serge Hallyn \u003cserue@us.ibm.com\u003e\nCc: Daniel Lezcano \u003cdlezcano@fr.ibm.com\u003e\nCc: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "29e796fd4de54b8f5bc30d897611210ece4fd0f2",
      "tree": "a05b5e87e7b6c4d1820d892c4aabc438ccee58e5",
      "parents": [
        "be0ea7d5da3d99140bde7e5cea328eb111731700"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Fri Nov 30 23:50:18 2007 +1100"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:55:16 2008 -0800"
      },
      "message": "sysctl: Add register_sysctl_paths function\n\nThere are a number of modules that register a sysctl table\nsomewhere deeply nested in the sysctl hierarchy, such as\nfs/nfs, fs/xfs, dev/cdrom, etc.\n\nThey all specify several dummy ctl_tables for the path name.\nThis patch implements register_sysctl_path that takes\nan additional path name, and makes up dummy sysctl nodes\nfor each component.\n\nThis patch was originally written by Olaf Kirch and\nbrought to my attention and reworked some by Olaf Hering.\nI have changed a few additional things so the bugs are mine.\n\nAfter converting all of the easy callers Olaf Hering observed\nallyesconfig ARCH\u003di386, the patch reduces the final binary size by 9369 bytes.\n\n.text +897\n.data -7008\n\n   text    data     bss     dec     hex filename\n   26959310        4045899 4718592 35723801        2211a19 ../vmlinux-vanilla\n   26960207        4038891 4718592 35717690        221023a ../O-allyesconfig/vmlinux\n\nSo this change is both a space savings and a code simplification.\n\nCC: Olaf Kirch \u003cokir@suse.de\u003e\nCC: Olaf Hering \u003colaf@aepfle.de\u003e\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Serge Hallyn \u003cserue@us.ibm.com\u003e\nCc: Daniel Lezcano \u003cdlezcano@fr.ibm.com\u003e\nCc: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    }
  ],
  "next": "fadad878cc0640cc9cd5569998bf54b693f7b38b"
}
