)]}'
{
  "log": [
    {
      "commit": "6937a25cff818d32d0f9ff58a518c9ab96760aeb",
      "tree": "233fd6927556b83818cdb31c1656b1066643d8dc",
      "parents": [
        "fadd8fbd153c12963f8fe3c9ef7f8967f286f98b"
      ],
      "author": {
        "name": "Dave Peterson",
        "email": "dsp@llnl.gov",
        "time": "Fri Jun 23 02:03:13 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 07:42:47 2006 -0700"
      },
      "message": "[PATCH] mm: fix typos in comments in mm/oom_kill.c\n\nThis fixes a few typos in the comments in mm/oom_kill.c.\n\nSigned-off-by: David S. Peterson \u003cdsp@llnl.gov\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "fadd8fbd153c12963f8fe3c9ef7f8967f286f98b",
      "tree": "547cdee6203b769773521118a4dd19e95a7ef3fd",
      "parents": [
        "67de648211fa041fe08a0c25241a4980bbb90698"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Fri Jun 23 02:03:13 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 07:42:47 2006 -0700"
      },
      "message": "[PATCH] support for panic at OOM\n\nThis patch adds panic_on_oom sysctl under sys.vm.\n\nWhen sysctl vm.panic_on_oom \u003d 1, the kernel panics intead of killing rogue\nprocesses.  And if vm.panic_on_oom is 0 the kernel will do oom_kill() in\nthe same way as it does today.  Of course, the default value is 0 and only\nroot can modifies it.\n\nIn general, oom_killer works well and kill rogue processes.  So the whole\nsystem can survive.  But there are environments where panic is preferable\nrather than kill some processes.\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "013159227b840dfd441bd2e4c8b4d77ffb3cc42e",
      "tree": "15bd8349b4a105efc75c77dcd0c1a579ecd87ab4",
      "parents": [
        "97c2c9b84d0c1edf4926b13661d5af3f0edccbce"
      ],
      "author": {
        "name": "Dave Peterson",
        "email": "dsp@llnl.gov",
        "time": "Tue Apr 18 22:20:44 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Apr 19 09:13:50 2006 -0700"
      },
      "message": "[PATCH] mm: fix mm_struct reference counting bugs in mm/oom_kill.c\n\nFix oom_kill_task() so it doesn\u0027t call mmput() (which may sleep) while\nholding tasklist_lock.\n\nSigned-off-by: David S. Peterson \u003cdsp@llnl.gov\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "97c2c9b84d0c1edf4926b13661d5af3f0edccbce",
      "tree": "bc986808cd7b5a8219a0c40ca9fdfc40524883e4",
      "parents": [
        "75129e297e861e6c61038aa4cdbf604b022de4ff"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Tue Apr 18 22:20:38 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Apr 19 09:13:49 2006 -0700"
      },
      "message": "[PATCH] oom-kill: mm locking fix\n\nDave Peterson \u003cdsp@llnl.gov\u003e points out that badness() is playing with\nmm_structs without taking a reference on them.\n\nmmput() can sleep, so taking a reference here (inside tasklist_lock) is\nhard.  Fix it up via task_lock() instead.\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "140ffcec4def3ee3af7565b2cf1d3b2580f7e180",
      "tree": "466da398c345f5b6f2760c124beec84403b35655",
      "parents": [
        "b1e2d907cb748ef40b180184f36e594d35f12ba6"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Thu Mar 02 02:54:28 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Mar 02 08:33:07 2006 -0800"
      },
      "message": "[PATCH] out_of_memory() locking fix\n\nI seem to have lost this read_unlock().\n\nWhile we\u0027re there, let\u0027s turn that interruptible sleep unto uninterruptible,\nso we don\u0027t get a busywait if signal_pending().  (Again.  We seem to have a\nhabit of doing this).\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d6713e046336ffa98060418c4d2c65243639e107",
      "tree": "3c076173875f22069a2e08fb127b4be11d670cb1",
      "parents": [
        "0551fbd29e16fccd46e41b7d01bf0f8f39b14212"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Tue Feb 28 16:59:19 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Feb 28 20:53:44 2006 -0800"
      },
      "message": "[PATCH] out_of_memory(): use of uninitialised\n\nUnder some circumstances `points\u0027 can get printed before it\u0027s initialised.\nSpotted by Carlos Martin \u003ccarlos@cmartin.tk\u003e.\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9b0f8b040acd8dfd23860754c0d09ff4f44e2cbc",
      "tree": "33c69908705c88b86f14d9e835b6dee6a9c3a31b",
      "parents": [
        "9827b781f20828e5ceb911b879f268f78fe90815"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@engr.sgi.com",
        "time": "Mon Feb 20 18:27:52 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Feb 20 20:00:09 2006 -0800"
      },
      "message": "[PATCH] Terminate process that fails on a constrained allocation\n\nSome allocations are restricted to a limited set of nodes (due to memory\npolicies or cpuset constraints).  If the page allocator is not able to find\nenough memory then that does not mean that overall system memory is low.\n\nIn particular going postal and more or less randomly shooting at processes\nis not likely going to help the situation but may just lead to suicide (the\nwhole system coming down).\n\nIt is better to signal to the process that no memory exists given the\nconstraints that the process (or the configuration of the process) has\nplaced on the allocation behavior.  The process may be killed but then the\nsysadmin or developer can investigate the situation.  The solution is\nsimilar to what we do when running out of hugepages.\n\nThis patch adds a check before we kill processes.  At that point\nperformance considerations do not matter much so we just scan the zonelist\nand reconstruct a list of nodes.  If the list of nodes does not contain all\nonline nodes then this is a constrained allocation and we should kill the\ncurrent process.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9827b781f20828e5ceb911b879f268f78fe90815",
      "tree": "9ba223facf6071a1fd21bf8471801ab794738c05",
      "parents": [
        "bd71c2b17468a2531fb4c81ec1d73520845e97e1"
      ],
      "author": {
        "name": "Kurt Garloff",
        "email": "garloff@suse.de",
        "time": "Mon Feb 20 18:27:51 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Feb 20 20:00:09 2006 -0800"
      },
      "message": "[PATCH] OOM kill: children accounting\n\nIn the badness() calculation, there\u0027s currently this piece of code:\n\n        /*\n         * Processes which fork a lot of child processes are likely\n         * a good choice. We add the vmsize of the children if they\n         * have an own mm. This prevents forking servers to flood the\n         * machine with an endless amount of children\n         */\n        list_for_each(tsk, \u0026p-\u003echildren) {\n                struct task_struct *chld;\n                chld \u003d list_entry(tsk, struct task_struct, sibling);\n                if (chld-\u003emm \u003d p-\u003emm \u0026\u0026 chld-\u003emm)\n                        points +\u003d chld-\u003emm-\u003etotal_vm;\n        }\n\nThe intention is clear: If some server (apache) keeps spawning new children\nand we run OOM, we want to kill the father rather than picking a child.\n\nThis -- to some degree -- also helps a bit with getting fork bombs under\ncontrol, though I\u0027d consider this a desirable side-effect rather than a\nfeature.\n\nThere\u0027s one problem with this: No matter how many or few children there are,\nif just one of them misbehaves, and all others (including the father) do\neverything right, we still always kill the whole family.  This hits in real\nlife; whether it\u0027s javascript in konqueror resulting in kdeinit (and thus the\nwhole KDE session) being hit or just a classical server that spawns children.\n\nSidenote: The killer does kill all direct children as well, not only the\nselected father, see oom_kill_process().\n\nThe idea in attached patch is that we do want to account the memory\nconsumption of the (direct) children to the father -- however not fully.\nThis maintains the property that fathers with too many children will still\nvery likely be picked, whereas a single misbehaving child has the chance to\nbe picked by the OOM killer.\n\nIn the patch I account only half (rounded up) of the children\u0027s vm_size to\nthe parent.  This means that if one child eats more mem than the rest of\nthe family, it will be picked, otherwise it\u0027s still the father and thus the\nwhole family that gets selected.\n\nThis is heuristics -- we could debate whether accounting for a fourth would\nbe better than for half of it.  Or -- if people would consider it worth the\ntrouble -- make it a sysctl.  For now I sticked to accounting for half,\nwhich should IMHO be a significant improvement.\n\nThe patch does one more thing: As users tend to be irritated by the choice\nof killed processes (mainly because the children are killed first, despite\nsome of them having a very low OOM score), I added some more output: The\nselected (father) process will be reported first and it\u0027s oom_score printed\nto syslog.\n\nDescription:\n\nOnly account for half of children\u0027s vm size in oom score calculation\n\nThis should still give the parent enough point in case of fork bombs.  If\nany child however has more than 50% of the vm size of all children\ntogether, it\u0027ll get a higher score and be elected.\n\nThis patch also makes the kernel display the oom_score.\n\nSigned-off-by: Kurt Garloff \u003cgarloff@suse.de\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b958f7d9f35bfb61625f201cd92a3fc39504af7a",
      "tree": "57668e6d26da9a66c98e5b0f0b1f85903cede63f",
      "parents": [
        "343e0d7a93951e35065fdb5e3dd61aece0ec6b3c"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Wed Feb 01 03:05:51 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Feb 01 08:53:18 2006 -0800"
      },
      "message": "[PATCH] dump_stack() in oom handler\n\nSometimes it\u0027s nice to know who\u0027s calling.\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "505970b96e3b7d22177c38e03435a68376628e7a",
      "tree": "5508317e391961355bf3d946a6aac05bb21569eb",
      "parents": [
        "ed68cb3676bb179768529aeb808403d57295af56"
      ],
      "author": {
        "name": "Paul Jackson",
        "email": "pj@sgi.com",
        "time": "Sat Jan 14 13:21:06 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Jan 14 18:27:10 2006 -0800"
      },
      "message": "[PATCH] cpuset oom lock fix\n\nThe problem, reported in:\n\n  http://bugzilla.kernel.org/show_bug.cgi?id\u003d5859\n\nand by various other email messages and lkml posts is that the cpuset hook\nin the oom (out of memory) code can try to take a cpuset semaphore while\nholding the tasklist_lock (a spinlock).\n\nOne must not sleep while holding a spinlock.\n\nThe fix seems easy enough - move the cpuset semaphore region outside the\ntasklist_lock region.\n\nThis required a few lines of mechanism to implement.  The oom code where\nthe locking needs to be changed does not have access to the cpuset locks,\nwhich are internal to kernel/cpuset.c only.  So I provided a couple more\ncpuset interface routines, available to the rest of the kernel, which\nsimple take and drop the lock needed here (cpusets callback_sem).\n\nSigned-off-by: Paul Jackson \u003cpj@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "2f659f462d2ab519068d0e2bb677d7a700decb8d",
      "tree": "de65a0b6151880ef5d0b06efd949e32629a2dfd5",
      "parents": [
        "6ce3c4c0ff62ca6391019b7832fb41a7f28b9e26"
      ],
      "author": {
        "name": "Kirill Korotaev",
        "email": "dev@sw.ru",
        "time": "Sun Jan 08 01:01:05 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jan 08 20:12:45 2006 -0800"
      },
      "message": "[PATCH] Optimise oom kill of current task\n\nWhen oom_killer kills current there\u0027s no need to call\nschedule_timeout_interruptible() since task must die ASAP.\n\nSigned-Off-By: Pavel Emelianov \u003cxemul@sw.ru\u003e\nSigned-Off-By: Kirill Korotaev \u003cdev@openvz.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "dd0fc66fb33cd610bc1a5db8a5e232d34879b4d7",
      "tree": "51f96a9db96293b352e358f66032e1f4ff79fafb",
      "parents": [
        "3b0e77bd144203a507eb191f7117d2c5004ea1de"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Fri Oct 07 07:46:04 2005 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Oct 08 15:00:57 2005 -0700"
      },
      "message": "[PATCH] gfp flags annotations - part 1\n\n - added typedef unsigned int __nocast gfp_t;\n\n - replaced __nocast uses for gfp flags with gfp_t - it gives exactly\n   the same warnings as far as sparse is concerned, doesn\u0027t change\n   generated code (from gcc point of view we replaced unsigned int with\n   typedef) and documents what\u0027s going on far better.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "13e4b57f6a4e23ceb99794a650d777e74831f4a6",
      "tree": "a585fdc3a2374dbedcf0114fa3c38d2fb7920774",
      "parents": [
        "75bcc8c5e1de78616b04ef9f317a293a7c1c163c"
      ],
      "author": {
        "name": "Nishanth Aravamudan",
        "email": "nacc@us.ibm.com",
        "time": "Sat Sep 10 00:27:25 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Sep 10 10:06:37 2005 -0700"
      },
      "message": "[PATCH] mm: fix-up schedule_timeout() usage\n\nUse schedule_timeout_{,un}interruptible() instead of\nset_current_state()/schedule_timeout() to reduce kernel size.\n\nSigned-off-by: Nishanth Aravamudan \u003cnacc@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ef08e3b4981aebf2ba9bd7025ef7210e8eec07ce",
      "tree": "3b5386e011c87dde384115c8eb0d6961c2536025",
      "parents": [
        "9bf2229f8817677127a60c177aefce1badd22d7b"
      ],
      "author": {
        "name": "Paul Jackson",
        "email": "pj@sgi.com",
        "time": "Tue Sep 06 15:18:13 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 07 16:57:40 2005 -0700"
      },
      "message": "[PATCH] cpusets: confine oom_killer to mem_exclusive cpuset\n\nNow the real motivation for this cpuset mem_exclusive patch series seems\ntrivial.\n\nThis patch keeps a task in or under one mem_exclusive cpuset from provoking an\noom kill of a task under a non-overlapping mem_exclusive cpuset.  Since only\ninterrupt and GFP_ATOMIC allocations are allowed to escape mem_exclusive\ncontainment, there is little to gain from oom killing a task under a\nnon-overlapping mem_exclusive cpuset, as almost all kernel and user memory\nallocation must come from disjoint memory nodes.\n\nThis patch enables configuring a system so that a runaway job under one\nmem_exclusive cpuset cannot cause the killing of a job in another such cpuset\nthat might be using very high compute and memory resources for a prolonged\ntime.\n\nSigned-off-by: Paul Jackson \u003cpj@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a49335cceab8afb6603152fcc3f7d3b6677366ca",
      "tree": "83f8c06d781a6de77f0b34ec14577bba1e410ac6",
      "parents": [
        "f68f447e8389de9a62e3e80c3c5823cce484c2e5"
      ],
      "author": {
        "name": "Paul Jackson",
        "email": "pj@sgi.com",
        "time": "Tue Sep 06 15:18:09 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 07 16:57:39 2005 -0700"
      },
      "message": "[PATCH] cpusets: oom_kill tweaks\n\nThis patch series extends the use of the cpuset attribute \u0027mem_exclusive\u0027\nto support cpuset configurations that:\n 1) allow GFP_KERNEL allocations to come from a potentially larger\n    set of memory nodes than GFP_USER allocations, and\n 2) can constrain the oom killer to tasks running in cpusets in\n    a specified subtree of the cpuset hierarchy.\n\nHere\u0027s an example usage scenario.  For a few hours or more, a large NUMA\nsystem at a University is to be divided in two halves, with a bunch of student\njobs running in half the system under some form of batch manager, and with a\nbig research project running in the other half.  Each of the student jobs is\nplaced in a small cpuset, but should share the classic Unix time share\nfacilities, such as buffered pages of files in /bin and /usr/lib.  The big\nresearch project wants no interference whatsoever from the student jobs, and\nhas highly tuned, unusual memory and i/o patterns that intend to make full use\nof all the main memory on the nodes available to it.\n\nIn this example, we have two big sibling cpusets, one of which is further\ndivided into a more dynamic set of child cpusets.\n\nWe want kernel memory allocations constrained by the two big cpusets, and user\nallocations constrained by the smaller child cpusets where present.  And we\nrequire that the oom killer not operate across the two halves of this system,\nor else the first time a student job runs amuck, the big research project will\nlikely be first inline to get shot.\n\nTweaking /proc/\u003cpid\u003e/oom_adj is not ideal -- if the big research project\nreally does run amuck allocating memory, it should be shot, not some other\ntask outside the research projects mem_exclusive cpuset.\n\nI propose to extend the use of the \u0027mem_exclusive\u0027 flag of cpusets to manage\nsuch scenarios.  Let memory allocations for user space (GFP_USER) be\nconstrained by a tasks current cpuset, but memory allocations for kernel space\n(GFP_KERNEL) by constrained by the nearest mem_exclusive ancestor of the\ncurrent cpuset, even though kernel space allocations will still _prefer_ to\nremain within the current tasks cpuset, if memory is easily available.\n\nLet the oom killer be constrained to consider only tasks that are in\noverlapping mem_exclusive cpusets (it won\u0027t help much to kill a task that\nnormally cannot allocate memory on any of the same nodes as the ones on which\nthe current task can allocate.)\n\nThe current constraints imposed on setting mem_exclusive are unchanged.  A\ncpuset may only be mem_exclusive if its parent is also mem_exclusive, and a\nmem_exclusive cpuset may not overlap any of its siblings memory nodes.\n\nThis patch was presented on linux-mm in early July 2005, though did not\ngenerate much feedback at that time.  It has been built for a variety of\narch\u0027s using cross tools, and built, booted and tested for function on SN2\n(ia64).\n\nThere are 4 patches in this set:\n  1) Some minor cleanup, and some improvements to the code layout\n     of one routine to make subsequent patches cleaner.\n  2) Add another GFP flag - __GFP_HARDWALL.  It marks memory\n     requests for USER space, which are tightly confined by the\n     current tasks cpuset.\n  3) Now memory requests (such as KERNEL) that not marked HARDWALL can\n     if short on memory, look in the potentially larger pool of memory\n     defined by the nearest mem_exclusive ancestor cpuset of the current\n     tasks cpuset.\n  4) Finally, modify the oom killer to skip any task whose mem_exclusive\n     cpuset doesn\u0027t overlap ours.\n\nPatch (1), the one time I looked on an SN2 (ia64) build, actually saved 32\nbytes of kernel text space.  Patch (2) has no affect on the size of kernel\ntext space (it just adds a preprocessor flag).  Patches (3) and (4) added\nabout 600 bytes each of kernel text space, mostly in kernel/cpuset.c, which\nmatters only if CONFIG_CPUSET is enabled.\n\nThis patch:\n\nThis patch applies a few comment and code cleanups to mm/oom_kill.c prior to\napplying a few small patches to improve cpuset management of memory placement.\n\nThe comment changed in oom_kill.c was seriously misleading.  The code layout\nchange in select_bad_process() makes room for adding another condition on\nwhich a process can be spared the oom killer (see the subsequent\ncpuset_nodes_overlap patch for this addition).\n\nAlso a couple typos and spellos that bugged me, while I was here.\n\nThis patch should have no material affect.\n\nSigned-off-by: Paul Jackson \u003cpj@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "42639269f9ce4aac2e6c20bcbca30b5da8b9a899",
      "tree": "1583ac4da9d2e40669d4579e338d8e506dedba5a",
      "parents": [
        "37b173a4d03d1681e6c9529bc43d7a3308132db6"
      ],
      "author": {
        "name": "Anton Blanchard",
        "email": "anton@samba.org",
        "time": "Thu Jul 07 17:56:06 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jul 07 18:23:36 2005 -0700"
      },
      "message": "[PATCH] mm: quieten OOM killer noise\n\nWe now print statistics when invoking the OOM killer, however this\ninformation is not rate limited and you can get into situations where the\nconsole is continually spammed.\n\nFor example, when a task is exiting the OOM killer will simply return\n(waiting for that task to exit and clear up memory).  If the VM continually\ncalls back into the OOM killer we get thousands of copies of show_mem() on\nthe console.\n\nUse printk_ratelimit() to quieten it.\n\nSigned-off-by: Anton Blanchard \u003canton@samba.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "79b9ce311e192e9a31fd9f3cf1ee4a4edf9e2650",
      "tree": "210896405b2b70aded7582750e20967df8c8e7bf",
      "parents": [
        "cb2c0233755429037462e16ea0d5497a0092738c"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "marcelo.tosatti@cyclades.com",
        "time": "Thu Jul 07 17:56:04 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jul 07 18:23:35 2005 -0700"
      },
      "message": "[PATCH] print order information when OOM killing\n\nDump the current allocation order when OOM killing.\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "578c2fd6a7f378434655e5c480e23152a3994404",
      "tree": "3a6408c416e3825cd17e33ac776425a52b743adc",
      "parents": [
        "c2f29ea111e3344ed48257c2a142c3db514e1529"
      ],
      "author": {
        "name": "Janet Morgan",
        "email": "janetmor@us.ibm.com",
        "time": "Tue Jun 21 17:14:56 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 18:46:17 2005 -0700"
      },
      "message": "[PATCH] add OOM debug\n\nThis patch provides more debug info when the system is OOM.  It displays\nmemory stats (basically sysrq-m info) from __alloc_pages() when page\nallocation fails and during OOM kill.\n\nThanks to Dave Jones for coming up with the idea.\n\nSigned-off-by: Janet Morgan \u003cjanetmor@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "79befd0c08c4766f8fa27e37ac2a70e40840a56a",
      "tree": "d0600c289b1a54902e3b78eec0729dc7011569a3",
      "parents": [
        "d345734267dbec642f4e34a9d392d2fd85b5fa9b"
      ],
      "author": {
        "name": "Andrea Arcangeli",
        "email": "andrea@suse.de",
        "time": "Sat Apr 16 15:24:05 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:24:05 2005 -0700"
      },
      "message": "[PATCH] oom-killer disable for iscsi/lvm2/multipath userland critical sections\n\niscsi/lvm2/multipath needs guaranteed protection from the oom-killer, so\nmake the magical value of -17 in /proc/\u003cpid\u003e/oom_adj defeat the oom-killer\naltogether.\n\n(akpm: we still need to document oom_adj and friends in\nDocumentation/filesystems/proc.txt!)\n\nSigned-off-by: Andrea Arcangeli \u003candrea@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
      "tree": "0bba044c4ce775e45a88a51686b5d9f90697ea9d",
      "parents": [],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "message": "Linux-2.6.12-rc2\n\nInitial git repository build. I\u0027m not bothering with the full history,\neven though we have it. We can create a separate \"historical\" git\narchive of that later if we want to, and in the meantime it\u0027s about\n3.2GB when imported into git - space that would just make the early\ngit days unnecessarily complicated, when we don\u0027t have a lot of good\ninfrastructure for it.\n\nLet it rip!\n"
    }
  ]
}
