)]}'
{
  "log": [
    {
      "commit": "bfbcf034798b2ca45338cee5049b5694b7ddc865",
      "tree": "51ca2687c318033b7a41533ecdfd2801a7241327",
      "parents": [
        "8be1a6d6c77ab4532e4476fdb8177030ef48b52c"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ZenIV.linux.org.uk",
        "time": "Sun Jul 27 06:31:22 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jul 27 09:45:34 2008 -0700"
      },
      "message": "lost sysctl fix\n\ntry_attach() should walk into the matching subdirectory, not the first one...\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nTested-by: Valdis.Kletnieks@vt.edu\nTested-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e6305c43eda10ebfd2ad9e35d6e172ccc7bb3695",
      "tree": "8a95bd0e27fb3ce895cca9ef91af2e1605e4cdab",
      "parents": [
        "1bd5191d9f5d1928c4efdf604c4164b04bb88dbe"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jul 15 21:03:57 2008 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 26 20:53:14 2008 -0400"
      },
      "message": "[PATCH] sanitize -\u003epermission() prototype\n\n* kill nameidata * argument; map the 3 bits in -\u003eflags anybody cares\n  about to new MAY_... ones and pass with the mask.\n* kill redundant gfs2_iop_permission()\n* sanitize ecryptfs_permission()\n* fix remaining places where -\u003epermission() instances might barf on new\n  MAY_... found in mask.\n\nThe obvious next target in that direction is permission(9)\n\nfolded fix for nfs_permission() breakage from Miklos Szeredi \u003cmszeredi@suse.cz\u003e\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "9043476f726802f4b00c96d0c4f418dde48d1304",
      "tree": "9ead0294bc75e219c12b44fc7eb8996248400f2a",
      "parents": [
        "ae7edecc9b8810770a8e5cb9a466ea4bdcfa8401"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jul 15 08:54:06 2008 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 26 20:53:12 2008 -0400"
      },
      "message": "[PATCH] sanitize proc_sysctl\n\n* keep references to ctl_table_head and ctl_table in /proc/sys inodes\n* grab the former during operations, use the latter for access to\n  entry if that succeeds\n* have -\u003ed_compare() check if table should be seen for one who does lookup;\n  that allows us to avoid flipping inodes - if we have the same name resolve\n  to different things, we\u0027ll just keep several dentries and -\u003ed_compare()\n  will reject the wrong ones.\n* have -\u003elookup() and -\u003ereaddir() scan the table of our inode first, then\n  walk all ctl_table_header and scan -\u003eattached_by for those that are\n  attached to our directory.\n* implement -\u003egetattr().\n* get rid of insane amounts of tree-walking\n* get rid of the need to know dentry in -\u003epermission() and of the contortions\n  induced by that.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "ae7edecc9b8810770a8e5cb9a466ea4bdcfa8401",
      "tree": "8c0a244f4aea3eca5d8edf45665266b007eb046e",
      "parents": [
        "bd7b1533cd6a68c734062aa69394bec7e2b1718e"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jul 15 06:33:31 2008 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 26 20:53:11 2008 -0400"
      },
      "message": "[PATCH] sysctl: keep track of tree relationships\n\nIn a sense, that\u0027s the heart of the series.  It\u0027s based on the following\nproperty of the trees we are actually asked to add: they can be split into\nstem that is already covered by registered trees and crown that is entirely\nnew.  IOW, if a/b and a/c/d are introduced by our tree, then a/c is also\nintroduced by it.\n\nThat allows to associate tree and table entry with each node in the union;\nwhile directory nodes might be covered by many trees, only one will cover\nthe node by its crown.  And that will allow much saner logics for /proc/sys\nin the next patches.  This patch introduces the data structures needed to\nkeep track of that.\n\nWhen adding a sysctl table, we find a \"parent\" one.  Which is to say,\nfind the deepest node on its stem that already is present in one of the\ntables from our table set or its ancestor sets.  That table will be our\nparent and that node in it - attachment point.  Add our table to list\nanchored in parent, have it refer the parent and contents of attachment\npoint.  Also remember where its crown lives.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "f7e6ced4061da509f737541ca4dbd44d83a6e82f",
      "tree": "065a6907a085854da1eb176da1314c472e69a364",
      "parents": [
        "734550921e9b7ab924a43aa3d0bd4239dac4fbf1"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jul 15 01:44:23 2008 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 26 20:53:09 2008 -0400"
      },
      "message": "[PATCH] allow delayed freeing of ctl_table_header\n\nRefcount the sucker; instead of freeing it by the end of unregistration\njust drop the refcount and free only when it hits zero.  Make sure that\nwe _always_ make -\u003eunregistering non-NULL in start_unregistering().\n\nThat allows anybody to get a reference to such puppy, preventing its\nfreeing and reuse.  It does *not* block unregistration.  Anybody who\nholds such a reference can\n\t* try to grab a \"use\" reference (ctl_head_grab()); that will\nsucceeds if and only if it hadn\u0027t entered unregistration yet.  If it\nsucceeds, we can use it in all normal ways until we release the \"use\"\nreference (with ctl_head_finish()).  Note that this relies on having\n-\u003eunregistering become non-NULL in all cases when one starts to unregister\nthe sucker.\n\t* keep pointers to ctl_table entries; they *can* be freed if\nthe entire thing is unregistered.  However, if ctl_head_grab() succeeds,\nwe know that unregistration had not happened (and will not happen until\nctl_head_finish()) and such pointers can be used safely.\n\nIOW, now we can have inodes under /proc/sys keep references to ctl_table\nentries, protecting them with references to ctl_table_header and\ngrabbing the latter for the duration of operations that require access\nto ctl_table.  That won\u0027t cause deadlocks, since unregistration will not\nbe stopped by mere keeping a reference to ctl_table_header.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "734550921e9b7ab924a43aa3d0bd4239dac4fbf1",
      "tree": "7be4b0808ba9860f1d953b45120262a277866021",
      "parents": [
        "7ac6cd653d7c31ad6b7bb5b88c549c4ebf628c34"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jul 14 21:22:20 2008 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 26 20:53:08 2008 -0400"
      },
      "message": "[PATCH] beginning of sysctl cleanup - ctl_table_set\n\nNew object: set of sysctls [currently - root and per-net-ns].\nContains: pointer to parent set, list of tables and \"should I see this set?\"\nmethod (-\u003eis_seen(set)).\nCurrent lists of tables are subsumed by that; net-ns contains such a beast.\n-\u003elookup() for ctl_table_root returns pointer to ctl_table_set instead of\nthat to -\u003elist of that ctl_table_set.\n\n[folded compile fixes by rdd for configs without sysctl]\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "717115e1a5856b57af0f71e1df7149108294fc10",
      "tree": "9528a992245c2fb993a0cf0bc8221dc7dea5d259",
      "parents": [
        "2711b793eb62a5873a0ba583a69252040aef176e"
      ],
      "author": {
        "name": "Dave Young",
        "email": "hidave.darkstar@gmail.com",
        "time": "Fri Jul 25 01:45:58 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:29 2008 -0700"
      },
      "message": "printk ratelimiting rewrite\n\nAll ratelimit user use same jiffies and burst params, so some messages\n(callbacks) will be lost.\n\nFor example:\na call printk_ratelimit(5 * HZ, 1)\nb call printk_ratelimit(5 * HZ, 1) before the 5*HZ timeout of a, then b will\nwill be supressed.\n\n- rewrite __ratelimit, and use a ratelimit_state as parameter.  Thanks for\n  hints from andrew.\n\n- Add WARN_ON_RATELIMIT, update rcupreempt.h\n\n- remove __printk_ratelimit\n\n- use __ratelimit in net_ratelimit\n\nSigned-off-by: Dave Young \u003chidave.darkstar@gmail.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: \"Paul E. McKenney\" \u003cpaulmck@us.ibm.com\u003e\nCc: Dave Young \u003chidave.darkstar@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e5ff215941d59f8ae6bf58f6428dc5c26745a612",
      "tree": "d8a3f730124d6608c6c880515625ca2d4e4ed044",
      "parents": [
        "a5516438959d90b071ff0a484ce4f3f523dc3152"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Wed Jul 23 21:27:42 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:17 2008 -0700"
      },
      "message": "hugetlb: multiple hstates for multiple page sizes\n\nAdd basic support for more than one hstate in hugetlbfs.  This is the key\nto supporting multiple hugetlbfs page sizes at once.\n\n- Rather than a single hstate, we now have an array, with an iterator\n- default_hstate continues to be the struct hstate which we use by default\n- Add functions for architectures to register new hstates\n\n[akpm@linux-foundation.org: coding-style fixes]\nAcked-by: Adam Litke \u003cagl@us.ibm.com\u003e\nAcked-by: Nishanth Aravamudan \u003cnacc@us.ibm.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c748e1340e0de3fa7fed86f8bdf499be9242afff",
      "tree": "864d3133bb8c3f73615497ef1fc557fcf93e5f1b",
      "parents": [
        "4f5ca265788973e3f5a1129a96ee4a9cbf587f2b"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Wed Jul 23 21:27:03 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:14 2008 -0700"
      },
      "message": "mm/vmstat.c: proper externs\n\nThis patch adds proper extern declarations for five variables in\ninclude/linux/vmstat.h\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d7b6de14a0ef8a376f9d57b867545b47302b7bfb",
      "tree": "46904d68a5a68f22e6c6baf3472edd4c37a39481",
      "parents": [
        "30d38542ec777468bb6a31829076a2dbc5690e35",
        "4dca10a96041f78bed11ce9e4a5cfde813ec4ccb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 23 18:34:13 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 23 18:34:13 2008 -0700"
      },
      "message": "Merge branch \u0027core/softlockup-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core/softlockup-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  softlockup: fix invalid proc_handler for softlockup_panic\n  softlockup: fix watchdog task wakeup frequency\n  softlockup: fix watchdog task wakeup frequency\n  softlockup: show irqtrace\n  softlockup: print a module list on being stuck\n  softlockup: fix NMI hangs due to lock race - 2.6.26-rc regression\n  softlockup: fix false positives on nohz if CPU is 100% idle for more than 60 seconds\n  softlockup: fix softlockup_thresh fix\n  softlockup: fix softlockup_thresh unaligned access and disable detection at runtime\n  softlockup: allow panic on lockup\n"
    },
    {
      "commit": "a1ef5adb4cad43460ebba23c5a78cf4a55bb6a5b",
      "tree": "1556b41ff7a03a6941cb363d97204bfef501f9c4",
      "parents": [
        "a00caa1fa954c734f4214a074727a329a9ba6568"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Jul 08 19:00:17 2008 +0200"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jul 22 19:24:31 2008 +1000"
      },
      "message": "remove CONFIG_KMOD from core kernel code\n\nAlways compile request_module when the kernel allows modules.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "4dca10a96041f78bed11ce9e4a5cfde813ec4ccb",
      "tree": "114f22ddf2a8dd1ac96ddd56204d86d92db53242",
      "parents": [
        "1e09481365ce248dbb4eb06dad70129bb5807037"
      ],
      "author": {
        "name": "Hiroshi Shimamoto",
        "email": "h-shimamoto@ct.jp.nec.com",
        "time": "Mon Jul 07 18:37:04 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 18 18:29:28 2008 +0200"
      },
      "message": "softlockup: fix invalid proc_handler for softlockup_panic\n\nThe type of softlockup_panic is int, but the proc_handler is\nproc_doulongvec_minmax(). This handler is for unsigned long.\n\nThis handler should be proc_dointvec_minmax().\n\nSigned-off-by: Hiroshi Shimamoto \u003ch-shimamoto@ct.jp.nec.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1e09481365ce248dbb4eb06dad70129bb5807037",
      "tree": "c0cff5bef95c8b5e7486f144718ade9a06c284dc",
      "parents": [
        "3e2f69fdd1b00166e7d589bce56b2d36a9e74374",
        "b9d2252c1e44fa83a4e65fdc9eb93db6297c55af"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jul 15 23:12:58 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jul 15 23:12:58 2008 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into core/softlockup\n\nConflicts:\n\n\tkernel/softlockup.c\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6c9fcaf2eec1b9f85226a694230dd957dd7926b3",
      "tree": "f8c824c6c64dc411752c844f116e693760768bcc",
      "parents": [
        "b9d2252c1e44fa83a4e65fdc9eb93db6297c55af",
        "199a952876adbfc2b6c13b8b07adabebf4ff54b2"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jul 15 21:10:12 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jul 15 21:10:12 2008 +0200"
      },
      "message": "Merge branch \u0027core/rcu\u0027 into core/rcu-for-linus\n"
    },
    {
      "commit": "85082fd7cbe3173198aac0eb5e85ab1edcc6352c",
      "tree": "edbc09b7945994f78668d218fa02e991c3b3b365",
      "parents": [
        "666484f0250db2e016948d63b3ef33e202e3b8d0",
        "53ffe3b440aa85af6fc4eda09b2d44bcdd312d4d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 14 16:06:58 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 14 16:06:58 2008 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of master.kernel.org:/home/rmk/linux-2.6-arm\n\n* \u0027for-linus\u0027 of master.kernel.org:/home/rmk/linux-2.6-arm: (241 commits)\n  [ARM] 5171/1: ep93xx: fix compilation of modules using clocks\n  [ARM] 5133/2: at91sam9g20 defconfig file\n  [ARM] 5130/4: Support for the at91sam9g20\n  [ARM] 5160/1: IOP3XX: gpio/gpiolib support\n  [ARM] at91: Fix NAND FLASH timings for at91sam9x evaluation kits.\n  [ARM] 5084/1: zylonite: Register AC97 device\n  [ARM] 5085/2: PXA: Move AC97 over to the new central device declaration model\n  [ARM] 5120/1: pxa: correct platform driver names for PXA25x and PXA27x UDC drivers\n  [ARM] 5147/1: pxaficp_ir: drop pxa_gpio_mode calls, as pin setting\n  [ARM] 5145/1: PXA2xx: provide api to control IrDA pins state\n  [ARM] 5144/1: pxaficp_ir: cleanup includes\n  [ARM] pxa: remove pxa_set_cken()\n  [ARM] pxa: allow clk aliases\n  [ARM] Feroceon: don\u0027t disable BPU on boot\n  [ARM] Orion: LED support for HP mv2120\n  [ARM] Orion: add RD88F5181L-FXO support\n  [ARM] Orion: add RD88F5181L-GE support\n  [ARM] Orion: add Netgear WNR854T support\n  [ARM] s3c2410_defconfig: update for current build\n  [ARM] Acer n30: Minor style and indentation fixes.\n  ...\n"
    },
    {
      "commit": "5806b81ac1c0c52665b91723fd4146a4f86e386b",
      "tree": "24ea8763bf308ce1407c1de91dc8de4d2655e1c1",
      "parents": [
        "d14c8a680ccfdeb5e7b9be4d61162c2b373bd1e8",
        "6712e299b7dc78aa4971b85e803435ee6d49a9dd"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 14 16:11:52 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 14 16:11:52 2008 +0200"
      },
      "message": "Merge branch \u0027auto-ftrace-next\u0027 into tracing/for-linus\n\nConflicts:\n\n\tarch/x86/kernel/entry_32.S\n\tarch/x86/kernel/process_32.c\n\tarch/x86/kernel/process_64.c\n\tarch/x86/lib/Makefile\n\tinclude/asm-x86/irqflags.h\n\tkernel/Makefile\n\tkernel/sched.c\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a177ba3b7a08beef3f0fe74efa0f90701891945a",
      "tree": "ff57cc45ed39eced001d3cb61e93d3dcd2f79714",
      "parents": [
        "66ee156078697cdc013d46aed3b2fee445c325a1",
        "3ef8191f43cfd936ea00b7483ea0acf2f0303a23",
        "150c9173031d43746d70582a17931350f3da8932",
        "0c5d5b70449eddb7e2c8a5fdaf71b6108c1a9afc",
        "63f385cd1f649b3f4f2d59fc609e051981215fd7",
        "7e36e2f5355ab87f8946041d044b34cda01e2077",
        "f7def13ed0775ee506c62a8612a124dce1776ac2",
        "188237e28d7fece0471640ba86f6d8cd164ed085",
        "88b8ba90570067178d32c654ad95786041e86e86",
        "341eb781019afbf279b42722b00f63c6db00bf09",
        "bedd78ca786c1d18c2a2785c7e40593dc9c9870f",
        "7ba06b17a1931b2c9e1bee525a8c36920f5be0e0"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk@dyn-67.arm.linux.org.uk",
        "time": "Thu Jul 10 16:38:50 2008 +0100"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Thu Jul 10 16:38:50 2008 +0100"
      },
      "message": "Merge branches \u0027at91\u0027, \u0027dyntick\u0027, \u0027ep93xx\u0027, \u0027iop\u0027, \u0027ixp\u0027, \u0027misc\u0027, \u0027orion\u0027, \u0027omap-reviewed\u0027, \u0027rpc\u0027, \u0027rtc\u0027 and \u0027s3c\u0027 into devel\n"
    },
    {
      "commit": "2398f2c6d34b43025f274fc42eaca34d23ec2320",
      "tree": "0ff3e9edf12c6b4485e4fa94f47a79b44d75376a",
      "parents": [
        "cd80917e4ff465ea77106f8e4fb631eedc4cf426"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Jun 27 13:41:35 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jun 27 14:31:45 2008 +0200"
      },
      "message": "sched: update shares on wakeup\n\nWe found that the affine wakeup code needs rather accurate load figures\nto be effective. The trouble is that updating the load figures is fairly\nexpensive with group scheduling. Therefore ratelimit the updating.\n\nSigned-off-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Srivatsa Vaddagiri \u003cvatsa@linux.vnet.ibm.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "31a72bce0bd6f3e0114009288bccbc96376eeeca",
      "tree": "14a817fbe0b47511d3119360c47959d48f851140",
      "parents": [
        "d120f65f3aaf306c957bc4c82e510f5b0f1e9b27"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Wed Jun 18 09:26:49 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jun 19 11:22:15 2008 +0200"
      },
      "message": "rcu: make rcutorture more vicious: reinstate boot-time testing\n\nThis patch re-institutes the ability to build rcutorture directly into\nthe Linux kernel.  The reason that this capability was removed was that\nthis could result in your kernel being pretty much useless, as rcutorture\nwould be running starting from early boot.  This problem has been avoided\nby (1) making rcutorture run only three seconds of every six by default,\n(2) adding a CONFIG_RCU_TORTURE_TEST_RUNNABLE that permits rcutorture\nto be quiesced at boot time, and (3) adding a sysctl in /proc named\n/proc/sys/kernel/rcutorture_runnable that permits rcutorture to be\nquiesced and unquiesced when built into the kernel.\n\nPlease note that this /proc file is -not- available when rcutorture\nis built as a module.  Please also note that to get the earlier\ntake-no-prisoners behavior, you must use the boot command line to set\nrcutorture\u0027s \"stutter\" parameter to zero.\n\nThe rcutorture quiescing mechanism is currently quite crude: loops\nin each rcutorture process that poll a global variable once per tick.\nSuggestions for improvement are welcome.  The default action will\nbe to reduce the polling rate to a few times per second.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nSuggested-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1c4cd6dd1d0fd3057bb6b8c87460049497889d1b",
      "tree": "558e7e885e76db657b3617a9a3cc62529c327d0a",
      "parents": [
        "9383d9679056e6cc4e7ff70f31da945a268238f4"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon May 12 21:21:14 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sun May 25 06:35:19 2008 +0200"
      },
      "message": "softlockup: fix softlockup_thresh fix\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "9383d9679056e6cc4e7ff70f31da945a268238f4",
      "tree": "c6678a8c4e0fed0739e43f24b608d51856af6f1f",
      "parents": [
        "9c44bc03fff44ff04237a7d92e35304a0e50c331"
      ],
      "author": {
        "name": "Dimitri Sivanich",
        "email": "sivanich@sgi.com",
        "time": "Mon May 12 21:21:14 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sun May 25 06:35:03 2008 +0200"
      },
      "message": "softlockup: fix softlockup_thresh unaligned access and disable detection at runtime\n\nFix unaligned access errors when setting softlockup_thresh on\n64 bit platforms.\n\nAllow softlockup detection to be disabled by setting\nsoftlockup_thresh \u003c\u003d 0.\n\nDetect that boot time softlockup detection has been disabled\nearlier in softlockup_tick.\n\nSigned-off-by: Dimitri Sivanich \u003csivanich@sgi.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "9c44bc03fff44ff04237a7d92e35304a0e50c331",
      "tree": "64704ff78933a3a3bd8549801308d0557c02980d",
      "parents": [
        "75d3bce2fc0a80f435fe12f2c9ed2632c8ac29e4"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon May 12 21:21:04 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sun May 25 06:34:44 2008 +0200"
      },
      "message": "softlockup: allow panic on lockup\n\nallow users to configure the softlockup detector to generate a panic\ninstead of a warning message.\n\nhigh-availability systems might opt for this strict method (combined\nwith panic_timeout\u003d boot option/sysctl), instead of generating\nsoftlockup warnings ad infinitum.\n\nalso, automated tests work better if the system reboots reliably (into\na safe kernel) in case of a lockup.\n\nThe full spectrum of configurability is supported: boot option, sysctl\noption and Kconfig option.\n\nit\u0027s default-disabled.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "b0fc494fae96a7089f3651cb451f461c7291244c",
      "tree": "586412b9ecbd8e3f04e8cd90a31644f94ff3a7d8",
      "parents": [
        "3d0833953e1b98b79ddf491dd49229eef9baeac1"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon May 12 21:20:43 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri May 23 20:33:19 2008 +0200"
      },
      "message": "ftrace: add ftrace_enabled sysctl to disable mcount function\n\nThis patch adds back the sysctl ftrace_enabled. This time it is\ndefaulted to on, if DYNAMIC_FTRACE is configured. When ftrace_enabled\nis disabled, the ftrace function is set to the stub return.\n\nIf DYNAMIC_FTRACE is also configured, on ftrace_enabled \u003d 0,\nthe registered ftrace functions will all be set to jmps, but no more\nnew calls to ftrace recording (used to find the ftrace calling sites)\nwill be called.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "eceea0b3df05ed262ae32e0c6340cc7a3626632d",
      "tree": "73e5e33acace9187d5729a9a8c8ff53c3d720d52",
      "parents": [
        "adbecb128cd2cc5d14b0ebef6d020ced0efd0ec6"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat May 10 10:08:32 2008 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri May 16 17:22:52 2008 -0400"
      },
      "message": "[PATCH] avoid multiplication overflows and signedness issues for max_fds\n\nLimit sysctl_nr_open - we don\u0027t want -\u003emax_fds to exceed MAX_INT and\nwe don\u0027t want size calculation for -\u003efd[] to overflow.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "ee9c578527a93c66becb526c4a122c5358a959c5",
      "tree": "bc3334a1986f9387688c0c3ff6144608d730f274",
      "parents": [
        "205bee6ad804d7034773b5978c74dde495df2301"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk@dyn-67.arm.linux.org.uk",
        "time": "Sun Apr 20 13:59:33 2008 +0100"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Mon May 12 17:39:14 2008 +0100"
      },
      "message": "dyntick: Remove last reminants of dyntick support\n\nRemove the last reminants of dyntick support from the generic kernel.\n\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n"
    },
    {
      "commit": "d7321cd62470b70d2717dae5a963e7a8fabff4d5",
      "tree": "1e3468e44239a310b03c3f8dabf754e64b6ad281",
      "parents": [
        "2c4c7155f25192da3511a6c911db4d08102d36c4"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Tue Apr 29 01:02:44 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:23 2008 -0700"
      },
      "message": "sysctl: add the -\u003epermissions callback on the ctl_table_root\n\nWhen reading from/writing to some table, a root, which this table came from,\nmay affect this table\u0027s permissions, depending on who is working with the\ntable.\n\nThe core hunk is at the bottom of this patch.  All the rest is just pushing\nthe ctl_table_root argument up to the sysctl_perm() function.\n\nThis will be mostly (only?) used in the net sysctls.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Alexey Dobriyan \u003cadobriyan@sw.ru\u003e\nCc: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2c4c7155f25192da3511a6c911db4d08102d36c4",
      "tree": "ed38f2fec221203f4baf078fb38454e14d6e33f9",
      "parents": [
        "7708bfb1c855f2a076ef71cc21647deea022ebe7"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Tue Apr 29 01:02:41 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:23 2008 -0700"
      },
      "message": "sysctl: clean from unneeded extern and forward declarations\n\nThe do_sysctl_strategy isn\u0027t used outside kernel/sysctl.c, so this can be\nstatic and without a prototype in header.\n\nBesides, move this one and parse_table() above their callers and drop the\nforward declarations of the latter call.\n\nOne more \"besides\" - fix two checkpatch warnings: space before a ( and an\nextra space at the end of a line.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Alexey Dobriyan \u003cadobriyan@sw.ru\u003e\nCc: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "88f458e4b91348b2e892c72977b5f665d7f374da",
      "tree": "1ef9e98f74fc63193327053af079079e23aa8443",
      "parents": [
        "c7705f3449c7edd5c1744871097f93977227afc4"
      ],
      "author": {
        "name": "Holger Schurig",
        "email": "hs4233@mail.mn-solutions.de",
        "time": "Tue Apr 29 01:02:36 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:22 2008 -0700"
      },
      "message": "sysctl: allow embedded targets to disable sysctl_check.c\n\nDisable sysctl_check.c for embedded targets. This saves about about 11 kB\nin .text and another 11 kB in .data on a PXA255 embedded platform.\n\nSigned-off-by: Holger Schurig \u003chs4233@mail.mn-solutions.de\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0b77f5bfb45c13e1e5142374f9d6ca75292252a4",
      "tree": "cf62055536d267e9a4abe6518e5d9f683a1ceb75",
      "parents": [
        "69664cf16af4f31cd54d77948a4baf9c7e0ca7b9"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Tue Apr 29 01:01:32 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:17 2008 -0700"
      },
      "message": "keys: make the keyring quotas controllable through /proc/sys\n\nMake the keyring quotas controllable through /proc/sys files:\n\n (*) /proc/sys/kernel/keys/root_maxkeys\n     /proc/sys/kernel/keys/root_maxbytes\n\n     Maximum number of keys that root may have and the maximum total number of\n     bytes of data that root may have stored in those keys.\n\n (*) /proc/sys/kernel/keys/maxkeys\n     /proc/sys/kernel/keys/maxbytes\n\n     Maximum number of keys that each non-root user may have and the maximum\n     total number of bytes of data that each of those users may have stored in\n     their keys.\n\nAlso increase the quotas as a number of people have been complaining that it\u0027s\nnot big enough.  I\u0027m not sure that it\u0027s big enough now either, but on the\nother hand, it can now be set in /etc/sysctl.conf.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nCc: \u003ckwc@citi.umich.edu\u003e\nCc: \u003carunsr@cse.iitk.ac.in\u003e\nCc: \u003cdwalsh@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d0b27fa77854b149ad4af08b0fe47fe712a47ade",
      "tree": "2f4487c108a5132e8d52456567b4a67e78fbb4a6",
      "parents": [
        "57d3da2911787a101a384532f4519f9640bae883"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Sat Apr 19 19:44:57 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:44:57 2008 +0200"
      },
      "message": "sched: rt-group: synchonised bandwidth period\n\nVarious SMP balancing algorithms require that the bandwidth period\nrun in sync.\n\nPossible improvements are moving the rt_bandwidth thing into root_domain\nand keeping a span per rt_bandwidth which marks throttled cpus.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "50df5d6aea6694ca481b8005900401e8c95c2603",
      "tree": "3b2e2955aceed795f5d54220ee37a859e83c12c6",
      "parents": [
        "02e2b83bd25bb05ac2e69cb31458b7d1b3c70707"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Mar 14 16:09:59 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:44:57 2008 +0200"
      },
      "message": "sched: remove sysctl_sched_batch_wakeup_granularity\n\nit\u0027s unused.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "62fb185130e4d420f71a30ff59d8b16b74ef5d2b",
      "tree": "474c0824a5bf90950b0a430a11a52b358c9e1f31",
      "parents": [
        "976dde010e513a9c7c3117a32b7b015f84b37430"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Feb 25 17:34:02 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Mar 04 17:54:06 2008 +0100"
      },
      "message": "sched: revert load_balance_monitor() changes\n\nThe following commits cause a number of regressions:\n\n  commit 58e2d4ca581167c2a079f4ee02be2f0bc52e8729\n  Author: Srivatsa Vaddagiri \u003cvatsa@linux.vnet.ibm.com\u003e\n  Date:   Fri Jan 25 21:08:00 2008 +0100\n  sched: group scheduling, change how cpu load is calculated\n\n  commit 6b2d7700266b9402e12824e11e0099ae6a4a6a79\n  Author: Srivatsa Vaddagiri \u003cvatsa@linux.vnet.ibm.com\u003e\n  Date:   Fri Jan 25 21:08:00 2008 +0100\n  sched: group scheduler, fix fairness of cpu bandwidth allocation for task groups\n\nNamely:\n - very frequent wakeups on SMP, reported by PowerTop users.\n - cacheline trashing on (large) SMP\n - some latencies larger than 500ms\n\nWhile there is a mergeable patch to fix the latter, the former issues\nare not fixable in a manner suitable for .25 (we\u0027re at -rc3 now).\n\nHence we revert them and try again in v2.6.26.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCC: Srivatsa Vaddagiri \u003cvatsa@linux.vnet.ibm.com\u003e\nTested-by: Alexey Zaytsev \u003calexey.zaytsev@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "064d9efe947542097be669581f82d6b097e81d1a",
      "tree": "ddfc9f1c4d60135a7d7a1c5ebb7d0e85f683cfcb",
      "parents": [
        "2695a14d315c014474ccadbaed40b0169b00cb5b"
      ],
      "author": {
        "name": "Nishanth Aravamudan",
        "email": "nacc@us.ibm.com",
        "time": "Wed Feb 13 15:03:19 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 13 16:21:18 2008 -0800"
      },
      "message": "hugetlb: fix overcommit locking\n\nproc_doulongvec_minmax() calls copy_to_user()/copy_from_user(), so we can\u0027t\nhold hugetlb_lock over the call.  Use a dummy variable to store the sysctl\nresult, like in hugetlb_sysctl_handler(), then grab the lock to update\nnr_overcommit_huge_pages.\n\nSigned-off-by: Nishanth Aravamudan \u003cnacc@us.ibm.com\u003e\nReported-by: Miles Lane \u003cmiles.lane@gmail.com\u003e\nCc: Adam Litke \u003cagl@us.ibm.com\u003e\nCc: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9f0c1e560c43327b70998e6c702b2f01321130d9",
      "tree": "b2cc7ef5bb0dc9d7d2912de339bff3e0db3530c9",
      "parents": [
        "23b0fdfc9299b137bd126e9dc22f62a59dae546d"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Feb 13 15:45:39 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Feb 13 15:45:39 2008 +0100"
      },
      "message": "sched: rt-group: interface\n\nChange the rt_ratio interface to rt_runtime_us, to match rt_period_us.\nThis avoids picking a granularity for the ratio.\n\nExtend the /sys/kernel/uids/\u003cuid\u003e/ interface to allow setting\nthe group\u0027s rt_runtime.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "7ef3d2fd17c377ef64a2aa19677d17576606c3b4",
      "tree": "036c2fe4a87bda412908bc82602ce29f4d431dbe",
      "parents": [
        "36e789144267105e0b3f2b9bca7db3184fce50dc"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Fri Feb 08 04:21:25 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:39 2008 -0800"
      },
      "message": "printk_ratelimit() functions should use CONFIG_PRINTK\n\nMakes an embedded image a bit smaller.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "efae09f3e99fcc1bdead7bc23a508b3bade3f82f",
      "tree": "66e670ab961c4e6567ce400f41a19a27d5053750",
      "parents": [
        "f8db694e46ac30c171eb3537aba677a5671cda02"
      ],
      "author": {
        "name": "Jesper Juhl",
        "email": "jesper.juhl@gmail.com",
        "time": "Fri Feb 08 04:20:25 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:34 2008 -0800"
      },
      "message": "Nuke duplicate header from sysctl.c\n\nDon\u0027t include linux/security.h twice in kernel/sysctl.c\n\nSigned-off-by: Jesper Juhl \u003cjesper.juhl@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6c5f3e7b43300508fe3947ff3cfff0f86043bb57",
      "tree": "9843b8897ec3357b09f62bb6423cd4753e1d4516",
      "parents": [
        "fea9d175545b38cb3e84569400419eb81bc90fa3"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Fri Feb 08 04:19:20 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:29 2008 -0800"
      },
      "message": "Pidns: make full use of xxx_vnr() calls\n\nSome time ago the xxx_vnr() calls (e.g.  pid_vnr or find_task_by_vpid) were\n_all_ converted to operate on the current pid namespace.  After this each call\nlike xxx_nr_ns(foo, current-\u003ensproxy-\u003epid_ns) is nothing but a xxx_vnr(foo)\none.\n\nSwitch all the xxx_nr_ns() callers to use the xxx_vnr() calls where\nappropriate.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nReviewed-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a3d0c6aa1bb342b9b2c7b123b52ac2f48a4d4d0a",
      "tree": "0c6766dd2add1f08c6153769c655e46ddff82a42",
      "parents": [
        "ac74c00e499ed276a965e5b5600667d5dc04a84a"
      ],
      "author": {
        "name": "Nishanth Aravamudan",
        "email": "nacc@us.ibm.com",
        "time": "Fri Feb 08 04:18:18 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:23 2008 -0800"
      },
      "message": "hugetlb: add locking for overcommit sysctl\n\nWhen I replaced hugetlb_dynamic_pool with nr_overcommit_hugepages I used\nproc_doulongvec_minmax() directly.  However, hugetlb.c\u0027s locking rules\nrequire that all counter modifications occur under the hugetlb_lock.  Add a\ncallback into the hugetlb code similar to the one for nr_hugepages.  Grab\nthe lock around the manipulation of nr_overcommit_hugepages in\nproc_doulongvec_minmax().\n\nSigned-off-by: Nishanth Aravamudan \u003cnacc@us.ibm.com\u003e\nAcked-by: Adam Litke \u003cagl@us.ibm.com\u003e\nCc: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\nCc: William Lee Irwin III \u003cwli@holomorphy.com\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fef1bdd68c81b71882ccb6f47c70980a03182063",
      "tree": "4cfa5c2c10787a3d54de05ca511db31730a239fd",
      "parents": [
        "4c4a22148909e4c003562ea7ffe0a06e26919e3c"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Thu Feb 07 00:14:07 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:19 2008 -0800"
      },
      "message": "oom: add sysctl to enable task memory dump\n\nAdds a new sysctl, \u0027oom_dump_tasks\u0027, that enables the kernel to produce a\ndump of all system tasks (excluding kernel threads) when performing an\nOOM-killing.  Information includes pid, uid, tgid, vm size, rss, cpu,\noom_adj score, and name.\n\nThis is helpful for determining why there was an OOM condition and which\nrogue task caused it.\n\nIt is configurable so that large systems, such as those with several\nthousand tasks, do not incur a performance penalty associated with dumping\ndata they may not desire.\n\nIf an OOM was triggered as a result of a memory controller, the tasklist\nshall be filtered to exclude tasks that are not a member of the same\ncgroup.\n\nCc: Andrea Arcangeli \u003candrea@suse.de\u003e\nCc: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9cfe015aa424b3c003baba3841a60dd9b5ad319b",
      "tree": "5575e06efcf91018f860f2db43979e8e91aba1c3",
      "parents": [
        "774ed22c21ab95d582dfff38560f11cf290baeb4"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Wed Feb 06 01:37:16 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:06 2008 -0800"
      },
      "message": "get rid of NR_OPEN and introduce a sysctl_nr_open\n\nNR_OPEN (historically set to 1024*1024) actually forbids processes to open\nmore than 1024*1024 handles.\n\nUnfortunatly some production servers hit the not so \u0027ridiculously high\nvalue\u0027 of 1024*1024 file descriptors per process.\n\nChanging NR_OPEN is not considered safe because of vmalloc space potential\nexhaust.\n\nThis patch introduces a new sysctl (/proc/sys/fs/nr_open) wich defaults to\n1024*1024, so that admins can decide to change this limit if their workload\nneeds it.\n\n[akpm@linux-foundation.org: export it for sparc64]\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: Richard Henderson \u003crth@twiddle.net\u003e\nCc: Ivan Kokshaysky \u003cink@jurassic.park.msu.ru\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3b7391de67da515c91f48aa371de77cb6cc5c07e",
      "tree": "22b9f5d9d1c36b374eb5765219aca3c7e1f23486",
      "parents": [
        "46c383cc4530ccc438cb325e92e11eb21dd3d4fc"
      ],
      "author": {
        "name": "Serge E. Hallyn",
        "email": "serue@us.ibm.com",
        "time": "Mon Feb 04 22:29:45 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:20 2008 -0800"
      },
      "message": "capabilities: introduce per-process capability bounding set\n\nThe capability bounding set is a set beyond which capabilities cannot grow.\n Currently cap_bset is per-system.  It can be manipulated through sysctl,\nbut only init can add capabilities.  Root can remove capabilities.  By\ndefault it includes all caps except CAP_SETPCAP.\n\nThis patch makes the bounding set per-process when file capabilities are\nenabled.  It is inherited at fork from parent.  Noone can add elements,\nCAP_SETPCAP is required to remove them.\n\nOne example use of this is to start a safer container.  For instance, until\ndevice namespaces or per-container device whitelists are introduced, it is\nbest to take CAP_MKNOD away from a container.\n\nThe bounding set will not affect pP and pE immediately.  It will only\naffect pP\u0027 and pE\u0027 after subsequent exec()s.  It also does not affect pI,\nand exec() does not constrain pI\u0027.  So to really start a shell with no way\nof regain CAP_MKNOD, you would do\n\n\tprctl(PR_CAPBSET_DROP, CAP_MKNOD);\n\tcap_t cap \u003d cap_get_proc();\n\tcap_value_t caparray[1];\n\tcaparray[0] \u003d CAP_MKNOD;\n\tcap_set_flag(cap, CAP_INHERITABLE, 1, caparray, CAP_DROP);\n\tcap_set_proc(cap);\n\tcap_free(cap);\n\nThe following test program will get and set the bounding\nset (but not pI).  For instance\n\n\t./bset get\n\t\t(lists capabilities in bset)\n\t./bset drop cap_net_raw\n\t\t(starts shell with new bset)\n\t\t(use capset, setuid binary, or binary with\n\t\tfile capabilities to try to increase caps)\n\n************************************************************\ncap_bound.c\n************************************************************\n #include \u003csys/prctl.h\u003e\n #include \u003clinux/capability.h\u003e\n #include \u003csys/types.h\u003e\n #include \u003cunistd.h\u003e\n #include \u003cstdio.h\u003e\n #include \u003cstdlib.h\u003e\n #include \u003cstring.h\u003e\n\n #ifndef PR_CAPBSET_READ\n #define PR_CAPBSET_READ 23\n #endif\n\n #ifndef PR_CAPBSET_DROP\n #define PR_CAPBSET_DROP 24\n #endif\n\nint usage(char *me)\n{\n\tprintf(\"Usage: %s get\\n\", me);\n\tprintf(\"       %s drop \u003ccapability\u003e\\n\", me);\n\treturn 1;\n}\n\n #define numcaps 32\nchar *captable[numcaps] \u003d {\n\t\"cap_chown\",\n\t\"cap_dac_override\",\n\t\"cap_dac_read_search\",\n\t\"cap_fowner\",\n\t\"cap_fsetid\",\n\t\"cap_kill\",\n\t\"cap_setgid\",\n\t\"cap_setuid\",\n\t\"cap_setpcap\",\n\t\"cap_linux_immutable\",\n\t\"cap_net_bind_service\",\n\t\"cap_net_broadcast\",\n\t\"cap_net_admin\",\n\t\"cap_net_raw\",\n\t\"cap_ipc_lock\",\n\t\"cap_ipc_owner\",\n\t\"cap_sys_module\",\n\t\"cap_sys_rawio\",\n\t\"cap_sys_chroot\",\n\t\"cap_sys_ptrace\",\n\t\"cap_sys_pacct\",\n\t\"cap_sys_admin\",\n\t\"cap_sys_boot\",\n\t\"cap_sys_nice\",\n\t\"cap_sys_resource\",\n\t\"cap_sys_time\",\n\t\"cap_sys_tty_config\",\n\t\"cap_mknod\",\n\t\"cap_lease\",\n\t\"cap_audit_write\",\n\t\"cap_audit_control\",\n\t\"cap_setfcap\"\n};\n\nint getbcap(void)\n{\n\tint comma\u003d0;\n\tunsigned long i;\n\tint ret;\n\n\tprintf(\"i know of %d capabilities\\n\", numcaps);\n\tprintf(\"capability bounding set:\");\n\tfor (i\u003d0; i\u003cnumcaps; i++) {\n\t\tret \u003d prctl(PR_CAPBSET_READ, i);\n\t\tif (ret \u003c 0)\n\t\t\tperror(\"prctl\");\n\t\telse if (ret\u003d\u003d1)\n\t\t\tprintf(\"%s%s\", (comma++) ? \", \" : \" \", captable[i]);\n\t}\n\tprintf(\"\\n\");\n\treturn 0;\n}\n\nint capdrop(char *str)\n{\n\tunsigned long i;\n\n\tint found\u003d0;\n\tfor (i\u003d0; i\u003cnumcaps; i++) {\n\t\tif (strcmp(captable[i], str) \u003d\u003d 0) {\n\t\t\tfound\u003d1;\n\t\t\tbreak;\n\t\t}\n\t}\n\tif (!found)\n\t\treturn 1;\n\tif (prctl(PR_CAPBSET_DROP, i)) {\n\t\tperror(\"prctl\");\n\t\treturn 1;\n\t}\n\treturn 0;\n}\n\nint main(int argc, char *argv[])\n{\n\tif (argc\u003c2)\n\t\treturn usage(argv[0]);\n\tif (strcmp(argv[1], \"get\")\u003d\u003d0)\n\t\treturn getbcap();\n\tif (strcmp(argv[1], \"drop\")!\u003d0 || argc\u003c3)\n\t\treturn usage(argv[0]);\n\tif (capdrop(argv[2])) {\n\t\tprintf(\"unknown capability\\n\");\n\t\treturn 1;\n\t}\n\treturn execl(\"/bin/bash\", \"/bin/bash\", NULL);\n}\n************************************************************\n\n[serue@us.ibm.com: fix typo]\nSigned-off-by: Serge E. Hallyn \u003cserue@us.ibm.com\u003e\nSigned-off-by: Andrew G. Morgan \u003cmorgan@kernel.org\u003e\nCc: Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nCc: Chris Wright \u003cchrisw@sous-sol.org\u003e\nCc: Casey Schaufler \u003ccasey@schaufler-ca.com\u003ea\nSigned-off-by: \"Serge E. Hallyn\" \u003cserue@us.ibm.com\u003e\nTested-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "195cf453d2c3d789cbe80e3735755f860c2fb222",
      "tree": "fad48a8167744b6c091c8ca499bc78b859af8957",
      "parents": [
        "3dfa5721f12c3d5a441448086bee156887daa961"
      ],
      "author": {
        "name": "Bron Gondwana",
        "email": "brong@fastmail.fm",
        "time": "Mon Feb 04 22:29:20 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:18 2008 -0800"
      },
      "message": "mm/page-writeback: highmem_is_dirtyable option\n\nAdd vm.highmem_is_dirtyable toggle\n\nA 32 bit machine with HIGHMEM64 enabled running DCC has an MMAPed file of\napproximately 2Gb size which contains a hash format that is written\nrandomly by the dbclean process.  On 2.6.16 this process took a few\nminutes.  With lowmem only accounting of dirty ratios, this takes about 12\nhours of 100% disk IO, all random writes.\n\nInclude a toggle in /proc/sys/vm/highmem_is_dirtyable which can be set to 1 to\nadd the highmem back to the total available memory count.\n\n[akpm@linux-foundation.org: Fix the CONFIG_DETECT_SOFTLOCKUP\u003dy build]\nSigned-off-by: Bron Gondwana \u003cbrong@fastmail.fm\u003e\nCc: Ethan Solomita \u003csolo@google.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: WU Fengguang \u003cwfg@mail.ustc.edu.cn\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\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": "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": "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"
    },
    {
      "commit": "90739081ef8d5495d50abba9c5d333be9acd872a",
      "tree": "37dc5c626940a4bad6d9ffad81b7be12dc44f054",
      "parents": [
        "9745512ce79de686df354dc70a8d1a74d801892d"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:34 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:34 2008 +0100"
      },
      "message": "softlockup: fix signedness\n\nfix softlockup tunables signedness.\n\nmark tunables read-mostly.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9745512ce79de686df354dc70a8d1a74d801892d",
      "tree": "9b64e2b2e6d2ae534beef136922082f21701c7b9",
      "parents": [
        "326587b840785c60f5dc18557235a23bafefd620"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Fri Jan 25 21:08:34 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:34 2008 +0100"
      },
      "message": "sched: latencytop support\n\nLatencyTOP kernel infrastructure; it measures latencies in the\nscheduler and tracks it system wide and per process.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "fa85ae2418e6843953107cd6a06f645752829bc0",
      "tree": "004130ac471247a29d3f6adfbfe61c474e725779",
      "parents": [
        "8f4d37ec073c17e2d4aa8851df5837d798606d6f"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Jan 25 21:08:29 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:29 2008 +0100"
      },
      "message": "sched: rt time limit\n\nVery simple time limit on the realtime scheduling classes.\nAllow the rq\u0027s realtime class to consume sched_rt_ratio of every\nsched_rt_period slice. If the class exceeds this quota the fair class\nwill preempt the realtime class.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "82a1fcb90287052aabfa235e7ffc693ea003fe69",
      "tree": "826b464a248bebe259fe787f7b8d17d5626cf2c5",
      "parents": [
        "d0d23b5432fe61229dd3641c5e94d4130bc4e61b"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:02 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:02 2008 +0100"
      },
      "message": "softlockup: automatically detect hung TASK_UNINTERRUPTIBLE tasks\n\nthis patch extends the soft-lockup detector to automatically\ndetect hung TASK_UNINTERRUPTIBLE tasks. Such hung tasks are\nprinted the following way:\n\n ------------------\u003e\n INFO: task prctl:3042 blocked for more than 120 seconds.\n \"echo 0 \u003e /proc/sys/kernel/hung_task_timeout_secs\" disables this message\n prctl         D fd5e3793     0  3042   2997\n        f6050f38 00000046 00000001 fd5e3793 00000009 c06d8264 c06dae80 00000286\n        f6050f40 f6050f00 f7d34d90 f7d34fc8 c1e1be80 00000001 f6050000 00000000\n        f7e92d00 00000286 f6050f18 c0489d1a f6050f40 00006605 00000000 c0133a5b\n Call Trace:\n  [\u003cc04883a5\u003e] schedule_timeout+0x6d/0x8b\n  [\u003cc04883d8\u003e] schedule_timeout_uninterruptible+0x15/0x17\n  [\u003cc0133a76\u003e] msleep+0x10/0x16\n  [\u003cc0138974\u003e] sys_prctl+0x30/0x1e2\n  [\u003cc0104c52\u003e] sysenter_past_esp+0x5f/0xa5\n  \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n 2 locks held by prctl/3042:\n #0:  (\u0026sb-\u003es_type-\u003ei_mutex_key#5){--..}, at: [\u003cc0197d11\u003e] do_fsync+0x38/0x7a\n #1:  (jbd_handle){--..}, at: [\u003cc01ca3d2\u003e] journal_start+0xc7/0xe9\n \u003c------------------\n\nthe current default timeout is 120 seconds. Such messages are printed\nup to 10 times per bootup. If the system has crashed already then the\nmessages are not printed.\n\nif lockdep is enabled then all held locks are printed as well.\n\nthis feature is a natural extension to the softlockup-detector (kernel\nlocked up without scheduling) and to the NMI watchdog (kernel locked up\nwith IRQs disabled).\n\n[ Gautham R Shenoy \u003cego@in.ibm.com\u003e: CPU hotplug fixes. ]\n[ Andrew Morton \u003cakpm@linux-foundation.org\u003e: build warning fix. ]\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\n"
    },
    {
      "commit": "6b2d7700266b9402e12824e11e0099ae6a4a6a79",
      "tree": "d72c25b03150901ad8643f931186a11eb85635dc",
      "parents": [
        "a183561567b5446d3362b4839bd4f744f4b2af1e"
      ],
      "author": {
        "name": "Srivatsa Vaddagiri",
        "email": "vatsa@linux.vnet.ibm.com",
        "time": "Fri Jan 25 21:08:00 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:00 2008 +0100"
      },
      "message": "sched: group scheduler, fix fairness of cpu bandwidth allocation for task groups\n\nThe current load balancing scheme isn\u0027t good enough for precise\ngroup fairness.\n\nFor example: on a 8-cpu system, I created 3 groups as under:\n\n\ta \u003d 8 tasks (cpu.shares \u003d 1024)\n\tb \u003d 4 tasks (cpu.shares \u003d 1024)\n\tc \u003d 3 tasks (cpu.shares \u003d 1024)\n\na, b and c are task groups that have equal weight. We would expect each\nof the groups to receive 33.33% of cpu bandwidth under a fair scheduler.\n\nThis is what I get with the latest scheduler git tree:\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n--------------------------------------------------------------------------------\nCol1  | Col2    | Col3  |  Col4\n------|---------|-------|-------------------------------------------------------\na     | 277.676 | 57.8% | 54.1%  54.1%  54.1%  54.2%  56.7%  62.2%  62.8% 64.5%\nb     | 116.108 | 24.2% | 47.4%  48.1%  48.7%  49.3%\nc     |  86.326 | 18.0% | 47.5%  47.9%  48.5%\n--------------------------------------------------------------------------------\n\nExplanation of o/p:\n\nCol1 -\u003e Group name\nCol2 -\u003e Cumulative execution time (in seconds) received by all tasks of that\n\tgroup in a 60sec window across 8 cpus\nCol3 -\u003e CPU bandwidth received by the group in the 60sec window, expressed in\n        percentage. Col3 data is derived as:\n\t\tCol3 \u003d 100 * Col2 / (NR_CPUS * 60)\nCol4 -\u003e CPU bandwidth received by each individual task of the group.\n\t\tCol4 \u003d 100 * cpu_time_recd_by_task / 60\n\n[I can share the test case that produces a similar o/p if reqd]\n\nThe deviation from desired group fairness is as below:\n\n\ta \u003d +24.47%\n\tb \u003d -9.13%\n\tc \u003d -15.33%\n\nwhich is quite high.\n\nAfter the patch below is applied, here are the results:\n\n--------------------------------------------------------------------------------\nCol1  | Col2    | Col3  |  Col4\n------|---------|-------|-------------------------------------------------------\na     | 163.112 | 34.0% | 33.2%  33.4%  33.5%  33.5%  33.7%  34.4%  34.8% 35.3%\nb     | 156.220 | 32.5% | 63.3%  64.5%  66.1%  66.5%\nc     | 160.653 | 33.5% | 85.8%  90.6%  91.4%\n--------------------------------------------------------------------------------\n\nDeviation from desired group fairness is as below:\n\n\ta \u003d +0.67%\n\tb \u003d -0.83%\n\tc \u003d +0.17%\n\nwhich is far better IMO. Most of other runs have yielded a deviation within\n+-2% at the most, which is good.\n\nWhy do we see bad (group) fairness with current scheuler?\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nCurrently cpu\u0027s weight is just the summation of individual task weights.\nThis can yield incorrect results. For ex: consider three groups as below\non a 2-cpu system:\n\n\tCPU0\tCPU1\n---------------------------\n\tA (10)  B(5)\n\t\tC(5)\n---------------------------\n\nGroup A has 10 tasks, all on CPU0, Group B and C have 5 tasks each all\nof which are on CPU1. Each task has the same weight (NICE_0_LOAD \u003d\n1024).\n\nThe current scheme would yield a cpu weight of 10240 (10*1024) for each cpu and\nthe load balancer will think both CPUs are perfectly balanced and won\u0027t\nmove around any tasks. This, however, would yield this bandwidth:\n\n\tA \u003d 50%\n\tB \u003d 25%\n\tC \u003d 25%\n\nwhich is not the desired result.\n\nWhat\u0027s changing in the patch?\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\n\t- How cpu weights are calculated when CONFIF_FAIR_GROUP_SCHED is\n\t  defined (see below)\n\t- API Change\n\t\t- Two tunables introduced in sysfs (under SCHED_DEBUG) to\n\t\t  control the frequency at which the load balance monitor\n\t\t  thread runs.\n\nThe basic change made in this patch is how cpu weight (rq-\u003eload.weight) is\ncalculated. Its now calculated as the summation of group weights on a cpu,\nrather than summation of task weights. Weight exerted by a group on a\ncpu is dependent on the shares allocated to it and also the number of\ntasks the group has on that cpu compared to the total number of\n(runnable) tasks the group has in the system.\n\nLet,\n\tW(K,i)  \u003d Weight of group K on cpu i\n\tT(K,i)  \u003d Task load present in group K\u0027s cfs_rq on cpu i\n\tT(K)    \u003d Total task load of group K across various cpus\n\tS(K) \t\u003d Shares allocated to group K\n\tNRCPUS\t\u003d Number of online cpus in the scheduler domain to\n\t \t  which group K is assigned.\n\nThen,\n\tW(K,i) \u003d S(K) * NRCPUS * T(K,i) / T(K)\n\nA load balance monitor thread is created at bootup, which periodically\nruns and adjusts group\u0027s weight on each cpu. To avoid its overhead, two\nmin/max tunables are introduced (under SCHED_DEBUG) to control the rate\nat which it runs.\n\nFixes from: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\n\n- don\u0027t start the load_balance_monitor when there is only a single cpu.\n- rename the kthread because its currently longer than TASK_COMM_LEN\n\nSigned-off-by: Srivatsa Vaddagiri \u003cvatsa@linux.vnet.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "73c4efd2c88a41c8a4810904266a34423b5584e5",
      "tree": "994c975a1e2a0a4a57d041a6c854dcc22ccfb9f3",
      "parents": [
        "c7af77b584b02d3e321b00203a618a9c93782121"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Tue Dec 18 15:21:13 2007 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Dec 18 15:21:13 2007 +0100"
      },
      "message": "sched: sysctl, proc_dointvec_minmax() expects int values for\n\nmin_sched_granularity_ns, max_sched_granularity_ns,\nmin_wakeup_granularity_ns and max_wakeup_granularity_ns are declared\n\"unsigned long\".\n\nThis is incorrect since proc_dointvec_minmax() expects plain \"int\" guard\nvalues.\n\nThis bug only triggers on big endian 64 bit arches.\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "368d2c6358c3c62b3820a8a73f9fe9c8b540cdea",
      "tree": "43c9c0958897de5ecedf26c3ba8433dd252d24f7",
      "parents": [
        "d1c3fb1f8f29c41b0d098d7cfb3c32939043631f"
      ],
      "author": {
        "name": "Nishanth Aravamudan",
        "email": "nacc@us.ibm.com",
        "time": "Mon Dec 17 16:20:22 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Dec 17 19:28:17 2007 -0800"
      },
      "message": "Revert \"hugetlb: Add hugetlb_dynamic_pool sysctl\"\n\nThis reverts commit 54f9f80d6543fb7b157d3b11e2e7911dc1379790 (\"hugetlb:\nAdd hugetlb_dynamic_pool sysctl\")\n\nGiven the new sysctl nr_overcommit_hugepages, the boolean dynamic pool\nsysctl is not needed, as its semantics can be expressed by 0 in the\novercommit sysctl (no dynamic pool) and non-0 in the overcommit sysctl\n(pool enabled).\n\n(Needed in 2.6.24 since it reverts a post-2.6.23 userspace-visible change)\n\nSigned-off-by: Nishanth Aravamudan \u003cnacc@us.ibm.com\u003e\nAcked-by: Adam Litke \u003cagl@us.ibm.com\u003e\nCc: William Lee Irwin III \u003cwli@holomorphy.com\u003e\nCc: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nCc: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d1c3fb1f8f29c41b0d098d7cfb3c32939043631f",
      "tree": "b91983662da7ec4c28ac0788e835c2d51eea20e1",
      "parents": [
        "7a3f595cc8298df14a7c71b0d876bafd8e9e1cbf"
      ],
      "author": {
        "name": "Nishanth Aravamudan",
        "email": "nacc@us.ibm.com",
        "time": "Mon Dec 17 16:20:12 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Dec 17 19:28:17 2007 -0800"
      },
      "message": "hugetlb: introduce nr_overcommit_hugepages sysctl\n\nhugetlb: introduce nr_overcommit_hugepages sysctl\n\nWhile examining the code to support /proc/sys/vm/hugetlb_dynamic_pool, I\nbecame convinced that having a boolean sysctl was insufficient:\n\n1) To support per-node control of hugepages, I have previously submitted\npatches to add a sysfs attribute related to nr_hugepages. However, with\na boolean global value and per-mount quota enforcement constraining the\ndynamic pool, adding corresponding control of the dynamic pool on a\nper-node basis seems inconsistent to me.\n\n2) Administration of the hugetlb dynamic pool with multiple hugetlbfs\nmount points is, arguably, more arduous than it needs to be. Each quota\nwould need to be set separately, and the sum would need to be monitored.\n\nTo ease the administration, and to help make the way for per-node\ncontrol of the static \u0026 dynamic hugepage pool, I added a separate\nsysctl, nr_overcommit_hugepages. This value serves as a high watermark\nfor the overall hugepage pool, while nr_hugepages serves as a low\nwatermark. The boolean sysctl can then be removed, as the condition\n\n\tnr_overcommit_hugepages \u003e 0\n\nindicates the same administrative setting as\n\n\thugetlb_dynamic_pool \u003d\u003d 1\n\nQuotas still serve as local enforcement of the size of the pool on a\nper-mount basis.\n\nA few caveats:\n\n1) There is a race whereby the global surplus huge page counter is\nincremented before a hugepage has allocated. Another process could then\ntry grow the pool, and fail to convert a surplus huge page to a normal\nhuge page and instead allocate a fresh huge page. I believe this is\nbenign, as no memory is leaked (the actual pages are still tracked\ncorrectly) and the counters won\u0027t go out of sync.\n\n2) Shrinking the static pool while a surplus is in effect will allow the\nnumber of surplus huge pages to exceed the overcommit value. As long as\nthis condition holds, however, no more surplus huge pages will be\nallowed on the system until one of the two sysctls are increased\nsufficiently, or the surplus huge pages go out of use and are freed.\n\nSuccessfully tested on x86_64 with the current libhugetlbfs snapshot,\nmodified to use the new sysctl.\n\nSigned-off-by: Nishanth Aravamudan \u003cnacc@us.ibm.com\u003e\nAcked-by: Adam Litke \u003cagl@us.ibm.com\u003e\nCc: William Lee Irwin III \u003cwli@holomorphy.com\u003e\nCc: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nCc: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f1dad166e88a5ddca0acf8f11dea0e2bd92d8bf3",
      "tree": "e907d1de7ee3bad49b101336a0b1640e8d05bd51",
      "parents": [
        "092e1fdaf35126475aef0dc70f4a2ce4f2f43052"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Tue Dec 04 23:45:24 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Dec 05 09:21:20 2007 -0800"
      },
      "message": "Avoid potential NULL dereference in unregister_sysctl_table\n\nregister_sysctl_table() can return NULL sometimes, e.g.  when kmalloc()\nreturns NULL or when sysctl check fails.\n\nI\u0027ve also noticed, that many (most?) code in the kernel doesn\u0027t check for\nthe return value from register_sysctl_table() and later simply calls the\nunregister_sysctl_table() with potentially NULL argument.\n\nThis is unlikely on a common kernel configuration, but in case we\u0027re\ndealing with modules and/or fault-injection support, there\u0027s a slight\npossibility of an OOPS.\n\nChanging all the users to check for return code from the registering does\nnot look like a good solution - there are too many code doing this and\nfailure in sysctl tables registration is not a good reason to abort module\nloading (in most of the cases).\n\nSo I think, that we can just have this check in unregister_sysctl_table\njust to avoid accidental OOPS-es (actually, the unregister_sysctl_table()\ndid exactly this, before the start_unregistering() appeared).\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6fc48af82cef55546d640778698943b6227b7fb0",
      "tree": "b47f618967576fecae480caedabcd45c88073541",
      "parents": [
        "dbd0cf48842700c3a694dcd32b29e63e27f37acc"
      ],
      "author": {
        "name": "Tetsuo Handa",
        "email": "penguin-kernel@i-love.sakura.ne.jp",
        "time": "Wed Nov 14 16:58:38 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Nov 14 18:45:37 2007 -0800"
      },
      "message": "sysctl: check length at deprecated_sysctl_warning\n\nOriginal patch assumed args-\u003enlen \u003c CTL_MAXNAME, but it can be false.\n\nSigned-off-by: Tetsuo Handa \u003cpenguin-kernel@I-love.SAKURA.ne.jp\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b82d9fdd848abfbe7263a4ecd9bbb55e575100a6",
      "tree": "7d4c525cc4bd633c84abcfd8d934c84e5dc9ce7c",
      "parents": [
        "3c90e6e99b08f01d5684a3a07cceae6a543e4fa8"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Nov 09 22:39:39 2007 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Nov 09 22:39:39 2007 +0100"
      },
      "message": "sched: avoid large irq-latencies in smp-balancing\n\nSMP balancing is done with IRQs disabled and can iterate the full rq.\nWhen rqs are large this can cause large irq-latencies. Limit the nr of\niterations on each run.\n\nThis fixes a scheduling latency regression reported by the -rt folks.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nTested-by: Gregory Haskins \u003cghaskins@novell.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d6322faf296ab5bbb597f8b0abcb50153754cd08",
      "tree": "c11f52d5c4be2081d88c85b63cc95a15e81c4e3c",
      "parents": [
        "19978ca610946ed57c071bad63f8f6642ca1298b"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Fri Nov 09 22:39:38 2007 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Nov 09 22:39:38 2007 +0100"
      },
      "message": "sched: cleanup, use NSEC_PER_MSEC and NSEC_PER_SEC\n\n1) hardcoded 1000000000 value is used five times in places where\n   NSEC_PER_SEC might be more readable.\n\n2) A conversion from nsec to msec uses the hardcoded 1000000 value,\n   which is a candidate for NSEC_PER_MSEC.\n\nno code changed:\n\n    text    data     bss     dec     hex filename\n   44359    3326      36   47721    ba69 sched.o.before\n   44359    3326      36   47721    ba69 sched.o.after\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b2be5e96dc0b5a179cf4cb98e65cfb605752ca26",
      "tree": "cf229cf83afc2c30369d1751338886cf8a067b5c",
      "parents": [
        "2cb8600e6be4281e381d39e44de4359e46333e23"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Nov 09 22:39:37 2007 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Nov 09 22:39:37 2007 +0100"
      },
      "message": "sched: reintroduce the sched_min_granularity tunable\n\nwe lost the sched_min_granularity tunable to a clever optimization\nthat uses the sched_latency/min_granularity ratio - but the ratio\nis quite unintuitive to users and can also crash the kernel if the\nratio is set to 0. So reintroduce the min_granularity tunable,\nwhile keeping the ratio maintained internally.\n\nno functionality changed.\n\n[ mingo@elte.hu: some fixlets. ]\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b488893a390edfe027bae7a46e9af8083e740668",
      "tree": "c469a7f99ad01005a73011c029eb5e5d15454559",
      "parents": [
        "3eb07c8c8adb6f0572baba844ba2d9e501654316"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Thu Oct 18 23:40:14 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:40 2007 -0700"
      },
      "message": "pid namespaces: changes to show virtual ids to user\n\nThis is the largest patch in the set. Make all (I hope) the places where\nthe pid is shown to or get from user operate on the virtual pids.\n\nThe idea is:\n - all in-kernel data structures must store either struct pid itself\n   or the pid\u0027s global nr, obtained with pid_nr() call;\n - when seeking the task from kernel code with the stored id one\n   should use find_task_by_pid() call that works with global pids;\n - when showing pid\u0027s numerical value to the user the virtual one\n   should be used, but however when one shows task\u0027s pid outside this\n   task\u0027s namespace the global one is to be used;\n - when getting the pid from userspace one need to consider this as\n   the virtual one and use appropriate task/pid-searching functions.\n\n[akpm@linux-foundation.org: build fix]\n[akpm@linux-foundation.org: nuther build fix]\n[akpm@linux-foundation.org: yet nuther build fix]\n[akpm@linux-foundation.org: remove unneeded casts]\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@openvz.org\u003e\nCc: Sukadev Bhattiprolu \u003csukadev@us.ibm.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b460cbc581a53cc088ceba80608021dd49c63c43",
      "tree": "83c28d0adbc15f4157c77b40fa60c40a71cb8673",
      "parents": [
        "3743ca05ff464b8a9e345c08a6c9ce30485f9805"
      ],
      "author": {
        "name": "Serge E. Hallyn",
        "email": "serue@us.ibm.com",
        "time": "Thu Oct 18 23:39:52 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:37 2007 -0700"
      },
      "message": "pid namespaces: define is_global_init() and is_container_init()\n\nis_init() is an ambiguous name for the pid\u003d\u003d1 check.  Split it into\nis_global_init() and is_container_init().\n\nA cgroup init has it\u0027s tsk-\u003epid \u003d\u003d 1.\n\nA global init also has it\u0027s tsk-\u003epid \u003d\u003d 1 and it\u0027s active pid namespace\nis the init_pid_ns.  But rather than check the active pid namespace,\ncompare the task structure with \u0027init_pid_ns.child_reaper\u0027, which is\ninitialized during boot to the /sbin/init process and never changes.\n\nChangelog:\n\n\t2.6.22-rc4-mm2-pidns1:\n\t- Use \u0027init_pid_ns.child_reaper\u0027 to determine if a given task is the\n\t  global init (/sbin/init) process. This would improve performance\n\t  and remove dependence on the task_pid().\n\n\t2.6.21-mm2-pidns2:\n\n\t- [Sukadev Bhattiprolu] Changed is_container_init() calls in {powerpc,\n\t  ppc,avr32}/traps.c for the _exception() call to is_global_init().\n\t  This way, we kill only the cgroup if the cgroup\u0027s init has a\n\t  bug rather than force a kernel panic.\n\n[akpm@linux-foundation.org: fix comment]\n[sukadev@us.ibm.com: Use is_global_init() in arch/m32r/mm/fault.c]\n[bunk@stusta.de: kernel/pid.c: remove unused exports]\n[sukadev@us.ibm.com: Fix capability.c to work with threaded init]\nSigned-off-by: Serge E. Hallyn \u003cserue@us.ibm.com\u003e\nSigned-off-by: Sukadev Bhattiprolu \u003csukadev@us.ibm.com\u003e\nAcked-by: Pavel Emelianov \u003cxemul@openvz.org\u003e\nCc: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nCc: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nCc: Herbert Poetzel \u003cherbert@13thfloor.at\u003e\nCc: Kirill Korotaev \u003cdev@sw.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "72c2d5823fc7be799a12184974c3bdc57acea3c4",
      "tree": "5c17418efb57cd5b2cdc0d751f577b2c64012423",
      "parents": [
        "7058cb02ddab4bce70a46e519804fccb7ac0a060"
      ],
      "author": {
        "name": "Andrew Morgan",
        "email": "morgan@kernel.org",
        "time": "Thu Oct 18 03:05:59 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Oct 18 14:37:24 2007 -0700"
      },
      "message": "V3 file capabilities: alter behavior of cap_setpcap\n\nThe non-filesystem capability meaning of CAP_SETPCAP is that a process, p1,\ncan change the capabilities of another process, p2.  This is not the\nmeaning that was intended for this capability at all, and this\nimplementation came about purely because, without filesystem capabilities,\nthere was no way to use capabilities without one process bestowing them on\nanother.\n\nSince we now have a filesystem support for capabilities we can fix the\nimplementation of CAP_SETPCAP.\n\nThe most significant thing about this change is that, with it in effect, no\nprocess can set the capabilities of another process.\n\nThe capabilities of a program are set via the capability convolution\nrules:\n\n   pI(post-exec) \u003d pI(pre-exec)\n   pP(post-exec) \u003d (X(aka cap_bset) \u0026 fP) | (pI(post-exec) \u0026 fI)\n   pE(post-exec) \u003d fE ? pP(post-exec) : 0\n\nat exec() time.  As such, the only influence the pre-exec() program can\nhave on the post-exec() program\u0027s capabilities are through the pI\ncapability set.\n\nThe correct implementation for CAP_SETPCAP (and that enabled by this patch)\nis that it can be used to add extra pI capabilities to the current process\n- to be picked up by subsequent exec()s when the above convolution rules\nare applied.\n\nHere is how it works:\n\nLet\u0027s say we have a process, p. It has capability sets, pE, pP and pI.\nGenerally, p, can change the value of its own pI to pI\u0027 where\n\n   (pI\u0027 \u0026 ~pI) \u0026 ~pP \u003d 0.\n\nThat is, the only new things in pI\u0027 that were not present in pI need to\nbe present in pP.\n\nThe role of CAP_SETPCAP is basically to permit changes to pI beyond\nthe above:\n\n   if (pE \u0026 CAP_SETPCAP) {\n      pI\u0027 \u003d anything; /* ie., even (pI\u0027 \u0026 ~pI) \u0026 ~pP !\u003d 0  */\n   }\n\nThis capability is useful for things like login, which (say, via\npam_cap) might want to raise certain inheritable capabilities for use\nby the children of the logged-in user\u0027s shell, but those capabilities\nare not useful to or needed by the login program itself.\n\nOne such use might be to limit who can run ping. You set the\ncapabilities of the \u0027ping\u0027 program to be \"\u003d cap_net_raw+i\", and then\nonly shells that have (pI \u0026 CAP_NET_RAW) will be able to run\nit. Without CAP_SETPCAP implemented as described above, login(pam_cap)\nwould have to also have (pP \u0026 CAP_NET_RAW) in order to raise this\ncapability and pass it on through the inheritable set.\n\nSigned-off-by: Andrew Morgan \u003cmorgan@kernel.org\u003e\nSigned-off-by: Serge E. Hallyn \u003cserue@us.ibm.com\u003e\nCc: Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nCc: Casey Schaufler \u003ccasey@schaufler-ca.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7058cb02ddab4bce70a46e519804fccb7ac0a060",
      "tree": "c0d3bfc395472a2a8c9098227739892a9090b3a0",
      "parents": [
        "8ada720d89d678eb5a09d3048a5e9a35c526800c"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Thu Oct 18 03:05:58 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Oct 18 14:37:23 2007 -0700"
      },
      "message": "sysctl: deprecate sys_sysctl in a user space visible fashion.\n\nAfter adding checking to register_sysctl_table and finding a whole new set\nof bugs.  Missed by countless code reviews and testers I have finally lost\npatience with the binary sysctl interface.\n\nThe binary sysctl interface has been sort of deprecated for years and\nfinding a user space program that uses the syscall is more difficult then\nfinding a needle in a haystack.  Problems continue to crop up, with the in\nkernel implementation.  So since supporting something that no one uses is\nsilly, deprecate sys_sysctl with a sufficient grace period and notice that\nthe handful of user space applications that care can be fixed or replaced.\n\nThe /proc/sys sysctl interface that people use will continue to be\nsupported indefinitely.\n\nThis patch moves the tested warning about sysctls from the path where\nsys_sysctl to a separate path called from both implementations of\nsys_sysctl, and it adds a proper entry into\nDocumentation/feature-removal-schedule.\n\nAllowing us to revisit this in a couple years time and actually kill\nsys_sysctl.\n\n[lethal@linux-sh.org: sysctl: Fix syscall disabled build]\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fc6cd25b738c2369d7ed3a6ef2ca248b51fcd2d4",
      "tree": "bd3708eac72edf06097a8a2ed72c3a3fea0b0998",
      "parents": [
        "f429cd37a21b8efc825bdbb22db7f033564cbc98"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Thu Oct 18 03:05:54 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Oct 18 14:37:23 2007 -0700"
      },
      "message": "sysctl: Error on bad sysctl tables\n\nAfter going through the kernels sysctl tables several times it has become\nclear that code review and testing is just not effective in prevent\nproblematic sysctl tables from being used in the stable kernel.  I certainly\ncan\u0027t seem to fix the problems as fast as they are introduced.\n\nTherefore this patch adds sysctl_check_table which is called when a sysctl\ntable is registered and checks to see if we have a problematic sysctl table.\n\nThe biggest part of the code is the table of valid binary sysctl entries, but\nsince we have frozen our set of binary sysctls this table should not need to\nchange, and it makes it much easier to detect when someone unintentionally\nadds a new binary sysctl value.\n\nAs best as I can determine all of the several hundred errors spewed on boot up\nnow are legitimate.\n\n[bunk@kernel.org: kernel/sysctl_check.c must #include \u003clinux/string.h\u003e]\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Alexey Dobriyan \u003cadobriyan@sw.ru\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c65f92398ec4ebfcaef91309bf055028a9899d6f",
      "tree": "bb5a47a80aac965a3a8371414a187c3c9a97166d",
      "parents": [
        "064b5bba0cc495201729285c6a6ce205df0a386a"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Thu Oct 18 03:05:32 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Oct 18 14:37:23 2007 -0700"
      },
      "message": "sysctl: remove the cad_pid binary sysctl path\n\nIt looks like we inadvertently killed the cad_pid binary sysctl support when\ncap_pid was changed to be a struct pid.  Since no one has complained just\nremove the binary path.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "35834ca1e4bda56d252aa2024a283d631f0e5ac6",
      "tree": "4f73a27db7de4ced7b39907fe958498a3ff7ef4b",
      "parents": [
        "25398a158d86b993fa5bf36f5a6752134b584d60"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Thu Oct 18 03:05:31 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Oct 18 14:37:23 2007 -0700"
      },
      "message": "sysctl: simplify the pty sysctl logic\n\nInstead of having a bunch of ifdefs in sysctl.c move all of the pty sysctl\nlogic into drivers/char/pty.c\n\nAs well as cleaning up the logic this prevents sysctl_check_table from\ncomplaining that the root table has a NULL data pointer on something with\ngeneric methods.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0d135a4a8c77f248afd908bc3cf5bd833062589d",
      "tree": "438da61d9b66057d330827afb479c25a2b5425f6",
      "parents": [
        "49641b58a7bb90e18b0b55e1af3e9039b24fba61"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Thu Oct 18 03:05:29 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Oct 18 14:37:23 2007 -0700"
      },
      "message": "sysctl: remove the binary interface for aio-nr, aio-max-nr, acpi_video_flags\n\naio-nr, aio-max-nr, acpi_video_flags are unsigned long values which sysctl\ndoes not handle properly with a 64bit kernel and a 32bit user space.\n\nSince no one is likely to be using the binary sysctl values and the ascii\ninterface still works, this patch just removes support for the binary sysctl\ninterface from the kernel.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Alexey Dobriyan \u003cadobriyan@sw.ru\u003e\nCc: Benjamin LaHaise \u003cbcrl@kvack.org\u003e\nCc: Zach Brown \u003czach.brown@oracle.com\u003e\nCc: Badari Pulavarty \u003cpbadari@us.ibm.com\u003e\nCc: Len Brown \u003clenb@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f5ead5cefc1129d5f001728004ed0f38d5875c02",
      "tree": "4680b7924c676c99afa7e4d7d814b54e6bc47c02",
      "parents": [
        "97aeacf49239d7f829b8cbfaca05530c97ccb903"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Thu Oct 18 03:05:24 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Oct 18 14:37:22 2007 -0700"
      },
      "message": "sysctl: remove binary sysctl support where it clearly doesn\u0027t work\n\nThese functions are all wrapper functions for the proc interface that are\nneeded for them to work correctly.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Alexey Dobriyan \u003cadobriyan@sw.ru\u003e\nAcked-by: Andrew Morgan \u003cmorgan@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "49a0c45833c9aa9852ba02c9df0f18029509d0a9",
      "tree": "0884aec3c522e495aa8a412b44fc6c8c24522639",
      "parents": [
        "d8217f076b73441dd3869c0c880df000655084cc"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Thu Oct 18 03:05:23 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Oct 18 14:37:22 2007 -0700"
      },
      "message": "sysctl: Factor out sysctl_data.\n\nThere as been no easy way to wrap the default sysctl strategy routine except\nfor returning 0.  Which is not always what we want.  The few instances I have\nseen that want different behaviour have written their own version of\nsysctl_data.  While not too hard it is unnecessary code and has the potential\nfor extra bugs.\n\nSo to make these situations easier and make that part of sysctl more symetric\nI have factord sysctl_data out of do_sysctl_strategy and exported as a\nfunction everyone can use.\n\nFurther having sysctl_data be an explicit function makes checking for badly\nformed sysctl tables much easier.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Alexey Dobriyan \u003cadobriyan@sw.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d8217f076b73441dd3869c0c880df000655084cc",
      "tree": "279c6bda7b3ad8bc8cd8099681a93d59fd193f26",
      "parents": [
        "d32c4f2626acc385d5187bd5c0c24f442328dc60"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Thu Oct 18 03:05:22 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Oct 18 14:37:22 2007 -0700"
      },
      "message": "sysctl core: Stop using the unnecessary ctl_table typedef\n\nIn sysctl.h the typedef struct ctl_table ctl_table violates coding style isn\u0027t\nneeded and is a bit of a nuisance because it makes it harder to recognize\nctl_table is a type name.\n\nSo this patch removes it from the generic sysctl code.  Hopefully I will have\nenough energy to send the rest of my patches will follow and to remove it from\nthe rest of the kernel.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Alexey Dobriyan \u003cadobriyan@sw.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c4f3b63fe15b4629aa1ec163c95ab30423d0f76a",
      "tree": "432723f1c7ac2fcff0aa57377c31187140d69145",
      "parents": [
        "a5f2ce3c6024a5bb895647b6bd88ecae5001020a"
      ],
      "author": {
        "name": "Ravikiran G Thirumalai",
        "email": "kiran@scalex86.org",
        "time": "Tue Oct 16 23:26:09 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:42:47 2007 -0700"
      },
      "message": "softlockup: add a /proc tuning parameter\n\nControl the trigger limit for softlockup warnings.  This is useful for\ndebugging softlockups, by lowering the softlockup_thresh to identify\npossible softlockups earlier.\n\nThis patch:\n1. Adds a sysctl softlockup_thresh with valid values of 1-60s\n   (Higher value to disable false positives)\n2. Changes the softlockup printk to print the cpu softlockup time\n\n[akpm@linux-foundation.org: Fix various warnings and add definition of \"two\"]\nSigned-off-by: Ravikiran Thirumalai \u003ckiran@scalex86.org\u003e\nSigned-off-by: Shai Fultheim \u003cshai@scalex86.org\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fe071d7e8aae5745c009c808bb8933f22a9e305a",
      "tree": "757dc7c41a7b56974c383743103fb711c976c288",
      "parents": [
        "ff0ceb9deb6eb017f52900b708d49cfa77bf25fb"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Tue Oct 16 23:25:56 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:42:46 2007 -0700"
      },
      "message": "oom: add oom_kill_allocating_task sysctl\n\nAdds a new sysctl, \u0027oom_kill_allocating_task\u0027, which will automatically kill\nthe OOM-triggering task instead of scanning through the tasklist to find a\nmemory-hogging target.  This is helpful for systems with an insanely large\nnumber of tasks where scanning the tasklist significantly degrades\nperformance.\n\nCc: Andrea Arcangeli \u003candrea@suse.de\u003e\nAcked-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "04fbfdc14e5f48463820d6b9807daa5e9c92c51f",
      "tree": "c62905212c8c6373b2258c7f528398d3c831b075",
      "parents": [
        "145ca25eb2fbd20d4faf1bad4628c7650332058f"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Oct 16 23:25:50 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:42:45 2007 -0700"
      },
      "message": "mm: per device dirty threshold\n\nScale writeback cache per backing device, proportional to its writeout speed.\n\nBy decoupling the BDI dirty thresholds a number of problems we currently have\nwill go away, namely:\n\n - mutual interference starvation (for any number of BDIs);\n - deadlocks with stacked BDIs (loop, FUSE and local NFS mounts).\n\nIt might be that all dirty pages are for a single BDI while other BDIs are\nidling. By giving each BDI a \u0027fair\u0027 share of the dirty limit, each one can have\ndirty pages outstanding and make progress.\n\nA global threshold also creates a deadlock for stacked BDIs; when A writes to\nB, and A generates enough dirty pages to get throttled, B will never start\nwriteback until the dirty pages go away. Again, by giving each BDI its own\n\u0027independent\u0027 dirty limit, this problem is avoided.\n\nSo the problem is to determine how to distribute the total dirty limit across\nthe BDIs fairly and efficiently. A DBI that has a large dirty limit but does\nnot have any dirty pages outstanding is a waste.\n\nWhat is done is to keep a floating proportion between the DBIs based on\nwriteback completions. This way faster/more active devices get a larger share\nthan slower/idle devices.\n\n[akpm@linux-foundation.org: fix warnings]\n[hugh@veritas.com: Fix occasional hang when a task couldn\u0027t get out of balance_dirty_pages]\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "54f9f80d6543fb7b157d3b11e2e7911dc1379790",
      "tree": "70d34e45f4d1694609db25da0ccad90b4b0ad473",
      "parents": [
        "e4e574b767ba63101cfda2b42d72f38546319297"
      ],
      "author": {
        "name": "Adam Litke",
        "email": "agl@us.ibm.com",
        "time": "Tue Oct 16 01:26:20 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Oct 16 09:43:02 2007 -0700"
      },
      "message": "hugetlb: Add hugetlb_dynamic_pool sysctl\n\nThe maximum size of the huge page pool can be controlled using the overall\nsize of the hugetlb filesystem (via its \u0027size\u0027 mount option).  However in the\ncommon case the this will not be set as the pool is traditionally fixed in\nsize at boot time.  In order to maintain the expected semantics, we need to\nprevent the pool expanding by default.\n\nThis patch introduces a new sysctl controlling dynamic pool resizing.  When\nthis is enabled the pool will expand beyond its base size up to the size of\nthe hugetlb filesystem.  It is disabled by default.\n\nSigned-off-by: Adam Litke \u003cagl@us.ibm.com\u003e\nAcked-by: Andy Whitcroft \u003capw@shadowen.org\u003e\nAcked-by: Dave McCracken \u003cdave.mccracken@oracle.com\u003e\nCc: William Irwin \u003cbill.irwin@oracle.com\u003e\nCc: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\nCc: Ken Chen \u003ckenchen@google.com\u003e\nCc: Badari Pulavarty \u003cpbadari@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "da84d96176729fb48a8458561e5d8647103168b8",
      "tree": "24c952d956178faa9ac8b5c505513c93a87f4f6b",
      "parents": [
        "e5f32a3856caabe745381279f7f32e3b581b59dc"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 15 17:00:18 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 15 17:00:18 2007 +0200"
      },
      "message": "sched: reintroduce cache-hot affinity\n\nreintroduce a simplified version of cache-hot/cold scheduling\naffinity. This improves performance with certain SMP workloads,\nsuch as sysbench.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5f6d858ecca78f71755859a346d845e302973cd1",
      "tree": "5422f6ff9aa7ffab4c708432de84a79e52e503d9",
      "parents": [
        "b0ffd246ea947a037746e725bd461bb7e809a4b3"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Oct 15 17:00:12 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 15 17:00:12 2007 +0200"
      },
      "message": "sched: speed up and simplify vslice calculations\n\nspeed up and simplify vslice calculations.\n\n[ From: Mike Galbraith \u003cefault@gmx.de\u003e: build fix ]\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e22f5bbf86d8cce710d5c8ba5bf57832e73aab8c",
      "tree": "9e6240455f123da6249fe0a88ba51459488f2e87",
      "parents": [
        "495eca494aa6006df55e3a04e105462c5940ca17"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 15 17:00:06 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 15 17:00:06 2007 +0200"
      },
      "message": "sched: remove wait_runtime limit\n\nremove the wait_runtime-limit fields and the code depending on it, now\nthat the math has been changed over to rely on the vruntime metric.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Mike Galbraith \u003cefault@gmx.de\u003e\nReviewed-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "8ebc91d93669af39dbed50914d7daf457eeb43be",
      "tree": "c7ab6dfce3ea737db57599c8e42a41ddac51464c",
      "parents": [
        "2bd8e6d422a4f44c0994f909317eba80b0fe08a1"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 15 17:00:03 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 15 17:00:03 2007 +0200"
      },
      "message": "sched: remove stat_gran\n\nremove the stat_gran code - it was disabled by default and it causes\nunnecessary overhead.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Mike Galbraith \u003cefault@gmx.de\u003e\nReviewed-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "2b8232ce512105e28453f301d1510de8363bccd1",
      "tree": "13e15a4f629c72b8737e20221998cb1e55e98d58",
      "parents": [
        "c4ea43c552ecc9ccc564e11e70d397dbdf09484b"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Sat Oct 13 08:16:04 2007 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sat Oct 13 09:57:15 2007 -0700"
      },
      "message": "minimal build fixes for uml (fallout from x86 merge)\n\n a) include/asm-um/arch can\u0027t just point to include/asm-$(SUBARCH) now\n b) arch/{i386,x86_64}/crypto are merged now\n c) subarch-obj needed changes\n d) cpufeature_64.h should pull \"cpufeature_32.h\", not \u003casm/cpufeature_32.h\u003e\n    since it can be included from asm-um/cpufeature.h\n e) in case of uml-i386 we need CONFIG_X86_32 for make and gcc, but not\n    for Kconfig\n f) sysctl.c shouldn\u0027t do vdso_enabled for uml-i386 (actually, that one\n    should be registered from corresponding arch/*/kernel/*, with ifdef\n    going away; that\u0027s a separate patch, though).\n\nWith that and with Stephen\u0027s patch (\"[PATCH net-2.6] uml: hard_header fix\")\nwe have uml allmodconfig building both on i386 and amd64.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d0c3d534a4388a465101b634a95f2ec586415254",
      "tree": "e6acdc89adcb9057b7bbaeba55332fdcb97c2ceb",
      "parents": [
        "b63db45ca44a805ef21eb10a3750e88419156423"
      ],
      "author": {
        "name": "Olof Johansson",
        "email": "olof@lixom.net",
        "time": "Fri Oct 12 10:20:07 2007 +1000"
      },
      "committer": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Fri Oct 12 14:05:18 2007 +1000"
      },
      "message": "[POWERPC] Implement logging of unhandled signals\n\nImplement show_unhandled_signals sysctl + support to print when a process\nis killed due to unhandled signals just as i386 and x86_64 does.\n\nDefault to having it off, unlike x86 that defaults on.\n\nSigned-off-by: Olof Johansson \u003colof@lixom.net\u003e\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\n"
    },
    {
      "commit": "1799e35d5baab6e06168b46cc78b968e728ea3d1",
      "tree": "cccf64a62fa9106aa18253371b675925c0582bab",
      "parents": [
        "a88a8eff1e6e32d3288986a9d36c6a449c032d3a"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Sep 19 23:34:46 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Sep 19 23:34:46 2007 +0200"
      },
      "message": "sched: add /proc/sys/kernel/sched_compat_yield\n\nadd /proc/sys/kernel/sched_compat_yield to make sys_sched_yield()\nmore agressive, by moving the yielding task to the last position\nin the rbtree.\n\nwith sched_compat_yield\u003d0:\n\n   PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND\n  2539 mingo     20   0  1576  252  204 R   50  0.0   0:02.03 loop_yield\n  2541 mingo     20   0  1576  244  196 R   50  0.0   0:02.05 loop\n\nwith sched_compat_yield\u003d1:\n\n   PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND\n  2584 mingo     20   0  1576  248  196 R   99  0.0   0:52.45 loop\n  2582 mingo     20   0  1576  256  204 R    0  0.0   0:00.00 loop_yield\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\n"
    },
    {
      "commit": "172ac3dbb7d3e528ac53d08a34df88d1ac53c534",
      "tree": "f17de2a4a7a562792fd85a14bb1c278bb8c40804",
      "parents": [
        "218050855ece4e923106ab614ac65afa0f618df3"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Aug 25 18:41:53 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Aug 25 18:41:53 2007 +0200"
      },
      "message": "sched: cleanup, sched_granularity -\u003e sched_min_granularity\n\ndue to adaptive granularity scheduling the role of sched_granularity\nhas changed to \"minimum granularity\", so rename the variable (and the\ntunable) accordingly.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\n"
    },
    {
      "commit": "218050855ece4e923106ab614ac65afa0f618df3",
      "tree": "f7b1234ce9e8ad0bc5d5af949949251240ec6a2c",
      "parents": [
        "1fc84aaae3bae9646dd4c7798b8c0ff934338909"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Sat Aug 25 18:41:53 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Aug 25 18:41:53 2007 +0200"
      },
      "message": "sched: adaptive scheduler granularity\n\nInstead of specifying the preemption granularity, specify the wanted\nlatency. By fixing the granlarity to a constany the wakeup latency\nit a function of the number of running tasks on the rq.\n\nInvert this relation.\n\nsysctl_sched_granularity becomes a minimum for the dynamic granularity\ncomputed from the new sysctl_sched_latency.\n\nThen use this latency to do more intelligent granularity decisions: if\nthere are fewer tasks running then we can schedule coarser. This helps\nperformance while still always keeping the latency target.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1fc84aaae3bae9646dd4c7798b8c0ff934338909",
      "tree": "341ec96425967e8311346bb9c90fb1a7f07bdac4",
      "parents": [
        "d1caeb02b17c6bc215a9a40a98a1beb92dcbd310"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Sat Aug 25 18:41:52 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Aug 25 18:41:52 2007 +0200"
      },
      "message": "sched: fix CONFIG_SCHED_DEBUG dependency of lockdep sysctls\n\nMake the lockdep sysctls not depend on CONFIG_SCHED_DEBUG.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e598fbaabdb6608915cbc5e80409d70f4f857e5c",
      "tree": "7db42f637118d5f757d164243594572d0cba736d",
      "parents": [
        "2a67789618abb74f0f97d4836a2b937bff2f1b2d"
      ],
      "author": {
        "name": "Christian Heim",
        "email": "phreak@gentoo.org",
        "time": "Sun Aug 19 13:07:59 2007 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Aug 19 10:12:32 2007 -0700"
      },
      "message": "Remove double inclusion of linux/capability.h\n\nRemove the second inclusion of linux/capability.h, which has been\nintroduced with \"[PATCH] move capable() to capability.h\" (commit\nc59ede7b78db329949d9cdcd7064e22d357560ef)\n\nSigned-off-by: Christian Heim \u003cphreak@gentoo.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8daec965e7035bbf8d364fe7585bffac7222b87a",
      "tree": "4f0caacf9793e6a9b4fc54317b7023db3bec6e78",
      "parents": [
        "202a21d6914369c1362f1ab50f0cbe92b9c38718"
      ],
      "author": {
        "name": "Lee Schermerhorn",
        "email": "Lee.Schermerhorn@hp.com",
        "time": "Fri Aug 10 13:00:51 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sat Aug 11 15:47:40 2007 -0700"
      },
      "message": "Fix missing numa_zonelist_order sysctl\n\nMisplaced #endif is hiding the numa_zonelist_order sysctl when !SECURITY.\n\nSigned-off-by: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "673d5b43daa00b42759cecc6b0760b8bf6be80d2",
      "tree": "a795ee922db699a8b4cb893ef5809399f1591ba6",
      "parents": [
        "296699de6bdc717189a331ab6bbe90e05c94db06"
      ],
      "author": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Sat Jul 28 03:33:16 2007 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Jul 29 16:53:59 2007 -0700"
      },
      "message": "ACPI: restore CONFIG_ACPI_SLEEP\n\nRestore the 2.6.22 CONFIG_ACPI_SLEEP build option, but now shadowing the\nnew CONFIG_PM_SLEEP option.\n\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n[ Modified to work with the PM config setup changes. ]\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e8b2fd01228f690c3e0cb3f14facfa8d93d4adae",
      "tree": "fb69560e2a584a8ca82985a99e42ec189d592091",
      "parents": [
        "7c5aa6642fa26641ebf286966a165aec71c91991"
      ],
      "author": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Tue Jul 24 22:26:33 2007 -0400"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Wed Jul 25 01:29:39 2007 -0400"
      },
      "message": "ACPI: Kconfig: remove CONFIG_ACPI_SLEEP from source\n\nAs it was a synonym for (CONFIG_ACPI \u0026\u0026 CONFIG_X86),\nthe ifdefs for it were more clutter than they were worth.\n\nFor ia64, just add a few stubs in anticipation of future\nS3 or S4 support.\n\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "abd4f7505bafdd6c5319fe3cb5caf9af6104e17a",
      "tree": "a543fce720331dbf6194a2c0471f36b7727b9736",
      "parents": [
        "5fa63fccc579ac609fc7f86d29ccb3a2edf910d7"
      ],
      "author": {
        "name": "Masoud Asgharifard Sharbiani",
        "email": "masouds@google.com",
        "time": "Sun Jul 22 11:12:28 2007 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Jul 22 11:03:37 2007 -0700"
      },
      "message": "x86: i386-show-unhandled-signals-v3\n\nThis patch makes the i386 behave the same way that x86_64 does when a\nsegfault happens.  A line gets printed to the kernel log so that tools\nthat need to check for failures can behave more uniformly between\ndebug.show_unhandled_signals sysctl variable to 0 (or by doing echo 0 \u003e\n/proc/sys/debug/exception-trace)\n\nAlso, all of the lines being printed are now using printk_ratelimit() to\ndeny the ability of DoS from a local user with a program like the\nfollowing:\n\nmain()\n{\n       while (1)\n               if (!fork()) *(int *)0 \u003d 0;\n}\n\nThis new revision also includes the fix that Andrew did which got rid of\nnew sysctl that was added to the system in earlier versions of this.\nAlso, \u0027show-unhandled-signals\u0027 sysctl has been renamed back to the old\n\u0027exception-trace\u0027 to avoid breakage of people\u0027s scripts.\n\nAK: Enabling by default for i386 will be likely controversal, but let\u0027s see what happens\nAK: Really folks, before complaining just fix your segfaults\nAK: I bet this will find a lot of silent issues\n\nSigned-off-by: Masoud Sharbiani \u003cmasouds@google.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\n[ Personally, I\u0027ve found the complaints useful on x86-64, so I\u0027m all for\n  this. That said, I wonder if we could do it more prettily..   -Linus ]\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ed2c12f323e8fafbc94f9bcfb924f9df36e64dc7",
      "tree": "30bc3d70bd38d15182787db8bea64e841890f52a",
      "parents": [
        "87f24c3ac399e82c578e71311251f00618fc5203"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Thu Jul 19 01:50:35 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:04:57 2007 -0700"
      },
      "message": "kernel/sysctl.c: finish off the warning comments\n\nI\u0027ve been chasing these comments around this file all week.  Hopefully we\u0027re\nstraight now.\n\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f20786ff4da51e56b1956acf30be2552be266746",
      "tree": "f6d0a9ed84ca476ca19fe7131d842699881756c4",
      "parents": [
        "8e18257d29238311e82085152741f0c3aa18b74d"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Jul 19 01:48:56 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:04:49 2007 -0700"
      },
      "message": "lockstat: core infrastructure\n\nIntroduce the core lock statistics code.\n\nLock statistics provides lock wait-time and hold-time (as well as the count\nof corresponding contention and acquisitions events). Also, the first few\ncall-sites that encounter contention are tracked.\n\nLock wait-time is the time spent waiting on the lock. This provides insight\ninto the locking scheme, that is, a heavily contended lock is indicative of\na too coarse locking scheme.\n\nLock hold-time is the duration the lock was held, this provides a reference for\nthe wait-time numbers, so they can be put into perspective.\n\n  1)\n    lock\n  2)\n    ... do stuff ..\n    unlock\n  3)\n\nThe time between 1 and 2 is the wait-time. The time between 2 and 3 is the\nhold-time.\n\nThe lockdep held-lock tracking code is reused, because it already collects locks\ninto meaningful groups (classes), and because it is an existing infrastructure\nfor lock instrumentation.\n\nCurrently lockdep tracks lock acquisition with two hooks:\n\n  lock()\n    lock_acquire()\n    _lock()\n\n ... code protected by lock ...\n\n  unlock()\n    lock_release()\n    _unlock()\n\nWe need to extend this with two more hooks, in order to measure contention.\n\n  lock_contended() - used to measure contention events\n  lock_acquired()  - completion of the contention\n\nThese are then placed the following way:\n\n  lock()\n    lock_acquire()\n    if (!_try_lock())\n      lock_contended()\n      _lock()\n      lock_acquired()\n\n ... do locked stuff ...\n\n  unlock()\n    lock_release()\n    _unlock()\n\n(Note: the try_lock() \u0027trick\u0027 is used to avoid instrumenting all platform\n       dependent lock primitive implementations.)\n\nIt is also possible to toggle the two lockdep features at runtime using:\n\n  /proc/sys/kernel/prove_locking\n  /proc/sys/kernel/lock_stat\n\n(esp. turning off the O(n^2) prove_locking functionaliy can help)\n\n[akpm@linux-foundation.org: build fixes]\n[akpm@linux-foundation.org: nuke unneeded ifdefs]\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Jason Baron \u003cjbaron@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "76fdbb25f963de5dc1e308325f0578a2f92b1c2d",
      "tree": "ce54ba0dc9e6d45dfe6bccfc6a663628f7734843",
      "parents": [
        "86fd6dfc0990d81123dca19541554426c9e9de3e"
      ],
      "author": {
        "name": "Kawai, Hidehiro",
        "email": "hidehiro.kawai.ez@hitachi.com",
        "time": "Thu Jul 19 01:48:26 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:04:46 2007 -0700"
      },
      "message": "coredump masking: bound suid_dumpable sysctl\n\nThis patch series is version 5 of the core dump masking feature, which\ncontrols which VMAs should be dumped based on their memory types and\nper-process flags.\n\nI adopted most of Andrew\u0027s suggestion at the previous version.  He also\nsuggested using system call instead of /proc/\u003cpid\u003e/ interface, I decided to\nuse the latter continuously because adding new system call with pid argument\nwill give a big impact on the kernel.\n\nYou can access the per-process flags via /proc/\u003cpid\u003e/coredump_filter\ninterface.  coredump_filter represents a bitmask of memory types, and if a bit\nis set, VMAs of corresponding memory type are written into a core file when\nthe process is dumped.  The bitmask is inherited from the parent process when\na process is created.\n\nThe original purpose is to avoid longtime system slowdown when a number of\nprocesses which share a huge shared memory are dumped at the same time.  To\nachieve this purpose, this patch series adds an ability to suppress dumping\nanonymous shared memory for specified processes.  In this version, three other\nmemory types are also supported.\n\nHere are the coredump_filter bits:\n  bit 0: anonymous private memory\n  bit 1: anonymous shared memory\n  bit 2: file-backed private memory\n  bit 3: file-backed shared memory\n\nThe default value of coredump_filter is 0x3.  This means the new core dump\nroutine has the same behavior as conventional behavior by default.\n\nIn this version, coredump_filter bits and mm.dumpable are merged into\nmm.flags, and it is accessed by atomic bitops.\n\nThe supported core file formats are ELF and ELF-FDPIC.  ELF has been tested,\nbut ELF-FDPIC has not been built and tested because I don\u0027t have the test\nenvironment.\n\nThis patch limits a value of suid_dumpable sysctl to the range of 0 to 2.\n\nSigned-off-by: Hidehiro Kawai \u003chidehiro.kawai.ez@hitachi.com\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bdf4c48af20a3b0f01671799ace345e3d49576da",
      "tree": "7c3b903d2de1cba6e212ad6f347bc8742b08035a",
      "parents": [
        "b111757c50ee30dad162192df6168e270a90c252"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Jul 19 01:48:15 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:04:45 2007 -0700"
      },
      "message": "audit: rework execve audit\n\nThe purpose of audit_bprm() is to log the argv array to a userspace daemon at\nthe end of the execve system call.  Since user-space hasn\u0027t had time to run,\nthis array is still in pristine state on the process\u0027 stack; so no need to\ncopy it, we can just grab it from there.\n\nIn order to minimize the damage to audit_log_*() copy each string into a\ntemporary kernel buffer first.\n\nCurrently the audit code requires that the full argument vector fits in a\nsingle packet.  So currently it does clip the argv size to a (sysctl) limit,\nbut only when execve auditing is enabled.\n\nIf the audit protocol gets extended to allow for multiple packets this check\ncan be removed.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ollie Wild \u003caaw@google.com\u003e\nCc: \u003clinux-audit@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "77afcf78a2ded9a91838734234949c0ead5feb12",
      "tree": "76922017855c70d550b40241f8a144f6c098cd04",
      "parents": [
        "5a60d6235c8352ade8f2699e72fcdfe853730456"
      ],
      "author": {
        "name": "Pavel Machek",
        "email": "pavel@suse.cz",
        "time": "Thu Jul 19 01:47:41 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:04:43 2007 -0700"
      },
      "message": "PM: Integrate beeping flag with existing acpi_sleep flags\n\nMove \"debug during resume from s2ram\" into the variable we already use\nfor real-mode flags to simplify code. It also closes nasty trap for\nthe user in acpi_sleep_setup; order of parameters actually mattered there,\nacpi_sleep\u003ds3_bios,s3_mode doing something different from\nacpi_sleep\u003ds3_mode,s3_bios.\n\nSigned-off-by: Pavel Machek \u003cpavel@suse.cz\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "10a0a8d4e3f6bf2d077f94344441909abe670f5a",
      "tree": "b834c912629498e9fefb5958ee9965c414d32d69",
      "parents": [
        "0ab4dc92278a0f3816e486d6350c6652a72e06c8"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@xensource.com",
        "time": "Tue Jul 17 18:37:02 2007 -0700"
      },
      "committer": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Wed Jul 18 08:47:40 2007 -0700"
      },
      "message": "Add common orderly_poweroff()\n\nVarious pieces of code around the kernel want to be able to trigger an\norderly poweroff.  This pulls them together into a single\nimplementation.\n\nBy default the poweroff command is /sbin/poweroff, but it can be set\nvia sysctl: kernel/poweroff_cmd.  This is split at whitespace, so it\ncan include command-line arguments.\n\nThis patch replaces four other instances of invoking either \"poweroff\"\nor \"shutdown -h now\": two sbus drivers, and acpi thermal\nmanagement.\n\nsparc64 has its own \"powerd\"; still need to determine whether it should\nbe replaced by orderly_poweroff().\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nAcked-by: Len Brown \u003clenb@kernel.org\u003e\nSigned-off-by: Chris Wright \u003cchrisw@sous-sol.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "62239ac2b301abc397e70986649666cfb7835907",
      "tree": "296ddcc9a0aa9ce847b9eab3eb3af29e8c148f13",
      "parents": [
        "f284ce7269031947326bac6bb19a977705276222"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Tue Jul 17 04:03:45 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 10:23:03 2007 -0700"
      },
      "message": "proper prototype for proc_nr_files()\n\nAdd a proper prototype for proc_nr_files() in include/linux/fs.h\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "396faf0303d273219db5d7eb4a2879ad977ed185",
      "tree": "96cb64fd6713ef7a924f4f878e259aea781f079a",
      "parents": [
        "2a1e274acf0b1c192face19a4be7c12d4503eaaf"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mel@csn.ul.ie",
        "time": "Tue Jul 17 04:03:13 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 10:22:59 2007 -0700"
      },
      "message": "Allow huge page allocations to use GFP_HIGH_MOVABLE\n\nHuge pages are not movable so are not allocated from ZONE_MOVABLE.  However,\nas ZONE_MOVABLE will always have pages that can be migrated or reclaimed, it\ncan be used to satisfy hugepage allocations even when the system has been\nrunning a long time.  This allows an administrator to resize the hugepage pool\nat runtime depending on the size of ZONE_MOVABLE.\n\nThis patch adds a new sysctl called hugepages_treat_as_movable.  When a\nnon-zero value is written to it, future allocations for the huge page pool\nwill use ZONE_MOVABLE.  Despite huge pages being non-movable, we do not\nintroduce additional external fragmentation of note as huge pages are always\nthe largest contiguous block we care about.\n\n[akpm@linux-foundation.org: various fixes]\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7144521f5ac741e9ad3033953b9d9fdede015ee0",
      "tree": "99bffa17fd5fef289716ba6739317aa4073f41d9",
      "parents": [
        "abce891a10559343d8ac9f79b46d78afdba63a40"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 11:50:38 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 11:50:38 2007 -0700"
      },
      "message": "Remove duplicate comments from sysctl.c\n\nRandy Dunlap noticed that the recent comment clarifications from Andrew\nhad somehow gotten duplicated.  Quoth Andrew: \"hm, that could have been\nsome late-night reject-fixing.\"\n\nFix it up.\n\nCc: From: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ],
  "next": "2be7fe075af8f8ba9c8b8ab0feec4ba4fff04979"
}
