)]}'
{
  "log": [
    {
      "commit": "5cd204550b1a006f2b0c986b0e0f53220ebfd391",
      "tree": "ee0f5e042072d4d2f4a3c6cd6e3a8b60676868ae",
      "parents": [
        "cb41d6d068716b2b3666925da34d3d7e658bf4f3"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Apr 30 00:54:24 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:48 2008 -0700"
      },
      "message": "Deprecate find_task_by_pid()\n\nThere are some places that are known to operate on tasks\u0027\nglobal pids only:\n\n* the rest_init() call (called on boot)\n* the kgdb\u0027s getthread\n* the create_kthread() (since the kthread is run in init ns)\n\nSo use the find_task_by_pid_ns(..., \u0026init_pid_ns) there\nand schedule the find_task_by_pid for removal.\n\n[sukadev@us.ibm.com: Fix warning in kernel/pid.c]\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Sukadev Bhattiprolu \u003csukadev@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": "cbd9b67bd3883dff0ef4b8ec9229d315a9ba38f0",
      "tree": "38a59233e8ec529980741dac371dcb9587d0a098",
      "parents": [
        "a2d416dcc92e576d0e339efd641bd3d8ee2bfb4d"
      ],
      "author": {
        "name": "Dmitry Adamushko",
        "email": "dmitry.adamushko@gmail.com",
        "time": "Tue Apr 29 00:59:23 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:04 2008 -0700"
      },
      "message": "kthread: call wake_up_process() without the lock being held\n\nFrom the POV of synchronization, there should be no need to call\nwake_up_process() with the \u0027kthread_create_lock\u0027 being held.\n\nSigned-off-by: Dmitry Adamushko \u003cdmitry.adamushko@gmail.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: \"Paul E. McKenney\" \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Andy Whitcroft \u003capw@shadowen.org\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "429f731dea577bdd43693940cdca524135287e6a",
      "tree": "932337b7d23dd736612c6b6e6601c50bc24cfc5f",
      "parents": [
        "85b375a613085b78531ec86369a51c2f3b922f95",
        "d2f5e80862d33a7746a40569840248a592dbc395"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 21 15:41:27 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 21 15:41:27 2008 -0700"
      },
      "message": "Merge branch \u0027semaphore\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/willy/misc\n\n* \u0027semaphore\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/willy/misc:\n  Deprecate the asm/semaphore.h files in feature-removal-schedule.\n  Convert asm/semaphore.h users to linux/semaphore.h\n  security: Remove unnecessary inclusions of asm/semaphore.h\n  lib: Remove unnecessary inclusions of asm/semaphore.h\n  kernel: Remove unnecessary inclusions of asm/semaphore.h\n  include: Remove unnecessary inclusions of asm/semaphore.h\n  fs: Remove unnecessary inclusions of asm/semaphore.h\n  drivers: Remove unnecessary inclusions of asm/semaphore.h\n  net: Remove unnecessary inclusions of asm/semaphore.h\n  arch: Remove unnecessary inclusions of asm/semaphore.h\n"
    },
    {
      "commit": "9f0e738f492522a2f70ad9a2a0287e4e966c633a",
      "tree": "e586f800c807ab551754e0a978179b7a2f7f021e",
      "parents": [
        "0297b80339d545045490716fa8591b215fdd9458"
      ],
      "author": {
        "name": "Gregory Haskins",
        "email": "ghaskins@novell.com",
        "time": "Tue Feb 12 13:30:05 2008 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:44:58 2008 +0200"
      },
      "message": "sched: fix cpus_allowed settings\n\nSigned-off-by: Gregory Haskins \u003cghaskins@novell.com\u003e\nAcked-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a6550207538619bc9b90bac2e1d5e54902a432ad",
      "tree": "cc9bb9b5153810b544c2afcc7721353ff5ce957d",
      "parents": [
        "5a6483feb0c5193519625d0ea8c4254364d423cc"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew@wil.cx",
        "time": "Tue Feb 26 10:47:18 2008 -0500"
      },
      "committer": {
        "name": "Matthew Wilcox",
        "email": "willy@linux.intel.com",
        "time": "Fri Apr 18 22:17:04 2008 -0400"
      },
      "message": "kernel: Remove unnecessary inclusions of asm/semaphore.h\n\nNone of these files use any of the functionality promised by\nasm/semaphore.h.\n\nSigned-off-by: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\n"
    },
    {
      "commit": "4f05b98d54b140ed3c5851d5d5156e9918c6305d",
      "tree": "f12f09c1e54e72adf4724b94733cb5b08e0879f7",
      "parents": [
        "1ad82fd547c716f96e544b477e0bdbfa2d647529"
      ],
      "author": {
        "name": "Michal Schmidt",
        "email": "mschmidt@redhat.com",
        "time": "Fri Jan 25 21:08:33 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:33 2008 +0100"
      },
      "message": "sched: fix, always create kernel threads with normal priority\n\nEnsure that the kernel threads are created with the usual nice level\nand affinity even if kthreadd\u0027s properties were changed from the\ndefault by root.\n\nSigned-off-by: Michal Schmidt \u003cmschmidt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e804a4a4dd596d853f6d6f814fbdcf97b8efcdea",
      "tree": "8a19854d3ab326d7157065a72528db2bf91bce21",
      "parents": [
        "bbe06f6bf7e764a9eb0e3cdcec2b12c743f35757"
      ],
      "author": {
        "name": "Satyam Sharma",
        "email": "ssatyam@cse.iitk.ac.in",
        "time": "Tue Jul 31 00:39:16 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 31 15:39:42 2007 -0700"
      },
      "message": "kthread: silence bogus section mismatch warning\n\nWARNING: kernel/built-in.o(.text+0x16910): Section mismatch:\nreference to .init.text: (between \u0027kthreadd\u0027 and \u0027init_waitqueue_head\u0027)\n\ncomes because kernel/kthread.c:kthreadd() is not __init but calls\nkthreadd_setup() which is __init. But this is ok, because kthreadd_setup()\nis only ever called at init time, and then kthreadd() proceeds into its\n\"for (;;)\" loop. We could mark kthreadd __init_refok, but kthreadd_setup()\nwith just one callsite and 4 lines in it (it\u0027s been that small since\n10ab825bdef8df51) doesn\u0027t need to be a separate function at all -- so let\u0027s\njust move those four lines at beginning of kthreadd() itself.\n\nSigned-off-by: Satyam Sharma \u003cssatyam@cse.iitk.ac.in\u003e\nAcked-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "98011f569e2ae1e4ae394f6e23faa16676d50de4",
      "tree": "6cde069a3fd943c36d4029b21d8b7ad4c24811f6",
      "parents": [
        "140d5a49046b6d73dce4a4229e88c000a99ee126"
      ],
      "author": {
        "name": "Jan Beulich",
        "email": "jbeulich@novell.com",
        "time": "Sun Jul 15 23:38:17 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:36 2007 -0700"
      },
      "message": "mm: fix improper .init-type section references\n\n.. which modpost started warning about.\n\nSigned-off-by: Jan Beulich \u003cjbeulich@novell.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a076e4bca2fdabb9e45d86722cc72c0944da5f94",
      "tree": "b11684f4b39dabb84584773f1b7811b5207e7f01",
      "parents": [
        "49b12d4f5e274517b8bc032d507abf31cc2f4150"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Wed May 23 13:57:27 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 23 20:14:11 2007 -0700"
      },
      "message": "freezer: fix kthread_create vs freezer theoretical race\n\nkthread() sleeps in TASK_INTERRUPTIBLE state waiting for the first wakeup.  In\ntheory, this wakeup may come from freeze_process()-\u003esignal_wake_up(), so the\ntask can disappear even before kthread_create() sets its -\u003ecomm.\n\nChange kthread() to use TASK_UNINTERRUPTIBLE.\n\n[akpm@linux-foundation.org: s/BUG_ON/WARN_ON+recover]\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nAcked-by: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nCc: Gautham R Shenoy \u003cego@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": "10ab825bdef8df510f99c703a5a2d9b13a4e31a5",
      "tree": "e4db81f26c03ba5a5bff43ed44646a4ed4509d67",
      "parents": [
        "5de18d169739293e27e0cf9acfc75a2d2f4aa572"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Wed May 09 02:34:37 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:53 2007 -0700"
      },
      "message": "change kernel threads to ignore signals instead of blocking them\n\nCurrently kernel threads use sigprocmask(SIG_BLOCK) to protect against\nsignals.  This doesn\u0027t prevent the signal delivery, this only blocks\nsignal_wake_up().  Every \"killall -33 kthreadd\" means a \"struct siginfo\"\nleak.\n\nChange kthreadd_setup() to set all handlers to SIG_IGN instead of blocking\nthem (make a new helper ignore_signals() for that).  If the kernel thread\nneeds some signal, it should use allow_signal() anyway, and in that case it\nshould not use CLONE_SIGHAND.\n\nNote that we can\u0027t change daemonize() (should die!) in the same way,\nbecause it can be used along with CLONE_SIGHAND.  This means that\nallow_signal() still should unblock the signal to work correctly with\ndaemonize()ed threads.\n\nHowever, disallow_signal() doesn\u0027t block the signal any longer but ignores\nit.\n\nNOTE: with or without this patch the kernel threads are not protected from\nhandle_stop_signal(), this seems harmless, but not good.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nAcked-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": "73c279927f89561ecb45b2dfdf9314bafcfd9f67",
      "tree": "2186e28c92c6f8229ea20eb9856714186bf77a4c",
      "parents": [
        "c93465181fed0f8f5942a41108943dadea0aa345"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed May 09 02:34:32 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:53 2007 -0700"
      },
      "message": "kthread: don\u0027t depend on work queues\n\nCurrently there is a circular reference between work queue initialization\nand kthread initialization.  This prevents the kthread infrastructure from\ninitializing until after work queues have been initialized.\n\nWe want the properties of tasks created with kthread_create to be as close\nas possible to the init_task and to not be contaminated by user processes.\nThe later we start our kthreadd that creates these tasks the harder it is\nto avoid contamination from user processes and the more of a mess we have\nto clean up because the defaults have changed on us.\n\nSo this patch modifies the kthread support to not use work queues but to\ninstead use a simple list of structures, and to have kthreadd start from\ninit_task immediately after our kernel thread that execs /sbin/init.\n\nBy being a true child of init_task we only have to change those process\nsettings that we want to have different from init_task, such as our process\nname, the cpus that are allowed, blocking all signals and setting SIGCHLD\nto SIG_IGN so that all of our children are reaped automatically.\n\nBy being a true child of init_task we also naturally get our ppid set to 0\nand do not wind up as a child of PID \u003d\u003d 1.  Ensuring that tasks generated\nby kthread_create will not slow down the functioning of the wait family of\nfunctions.\n\n[akpm@linux-foundation.org: use interruptible sleeps]\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "72fd4a35a824331d7a0f4168d7576502d95d34b3",
      "tree": "be27880bc36b7f62e8044a88b8744a35c5317714",
      "parents": [
        "262086cf5b5343c2b81c97b1c606058e921859df"
      ],
      "author": {
        "name": "Robert P. J. Day",
        "email": "rpjday@mindspring.com",
        "time": "Sat Feb 10 01:45:59 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Feb 11 10:51:32 2007 -0800"
      },
      "message": "[PATCH] Numerous fixes to kernel-doc info in source files.\n\nA variety of (mostly) innocuous fixes to the embedded kernel-doc content in\nsource files, including:\n\n  * make multi-line initial descriptions single line\n  * denote some function names, constants and structs as such\n  * change erroneous opening \u0027/*\u0027 to \u0027/**\u0027 in a few places\n  * reword some text for clarity\n\nSigned-off-by: Robert P. J. Day \u003crpjday@mindspring.com\u003e\nCc: \"Randy.Dunlap\" \u003crdunlap@xenotime.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "65f27f38446e1976cc98fd3004b110fedcddd189",
      "tree": "68f8be93feae31dfa018c22db392a05546b63ee1",
      "parents": [
        "365970a1ea76d81cb1ad2f652acb605f06dae256"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Nov 22 14:55:48 2006 +0000"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Nov 22 14:55:48 2006 +0000"
      },
      "message": "WorkStruct: Pass the work_struct pointer instead of context data\n\nPass the work_struct pointer to the work function rather than context data.\nThe work function can use container_of() to work out the data.\n\nFor the cases where the container of the work_struct may go away the moment the\npending bit is cleared, it is made possible to defer the release of the\nstructure by deferring the clearing of the pending bit.\n\nTo make this work, an extra flag is introduced into the management side of the\nwork_struct.  This governs auto-release of the structure upon execution.\n\nOrdinarily, the work queue executor would release the work_struct for further\nscheduling or deallocation by clearing the pending bit prior to jumping to the\nwork function.  This means that, unless the driver makes some guarantee itself\nthat the work_struct won\u0027t go away, the work function may not access anything\nelse in the work_struct or its container lest they be deallocated..  This is a\nproblem if the auxiliary data is taken away (as done by the last patch).\n\nHowever, if the pending bit is *not* cleared before jumping to the work\nfunction, then the work function *may* access the work_struct and its container\nwith no problems.  But then the work function must itself release the\nwork_struct by calling work_release().\n\nIn most cases, automatic release is fine, so this is the default.  Special\ninitiators exist for the non-auto-release case (ending in _NAR).\n\n\nSigned-Off-By: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "52e92e5788139921352213fa6faf6e30ff1f2f5a",
      "tree": "0d3975df8fc42058b30745bc3fe47b6af2993462",
      "parents": [
        "098c5eea03de4707019a205140296893252b4130"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Fri Jul 14 00:24:05 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jul 14 21:53:52 2006 -0700"
      },
      "message": "[PATCH] remove kernel/kthread.c:kthread_stop_sem()\n\nRemove the now-unneeded kthread_stop_sem().\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nAcked-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9e37bd301ee130598fa1406c1281caa159473bf8",
      "tree": "c52de7a4eea72353e95c26266ad692a0cc0a8546",
      "parents": [
        "b0ef371e3f9fa3b2571058be366a6780827ec0bf"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "rdunlap@xenotime.net",
        "time": "Sun Jun 25 05:49:19 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jun 25 10:01:24 2006 -0700"
      },
      "message": "[PATCH] kthread: move kernel-doc and put it into DocBook\n\nMove kthread API kernel-doc from kthread.h to kthread.c \u0026 fix it.\nAdd kthread API to kernel-api DocBook.\n\nSigned-off-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "05eeae208d08a05a6980cf2ff61f02843c0955fd",
      "tree": "be6c6c4e16cfac07edf437a1f74ef027ada8ccc7",
      "parents": [
        "c1f5a1944657ba6abe375e3bb2a3238a46849f70"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Sat Mar 25 03:07:48 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 08:22:57 2006 -0800"
      },
      "message": "[PATCH] find_task_by_pid() needs tasklist_lock\n\nA couple of places are forgetting to take it.\n\nThe kswapd case is probably unimportant.  keventd_create_kthread() was racy.\n\nThe whole thing is a bit flakey: you start a kernel thread, get its pid from\nkernel_thread() then look up its task_struct.\n\na) It assumes that pid recycling takes a \"long\" time.\n\nb) We get a task_struct but no reference was taken on it.  The owner of the\n   kswapd and kthread task_struct*\u0027s must assume that the new thread won\u0027t\n   exit unexpectedly.  Because if it does, they\u0027re left holding dead memory\n   and any attempt to control or stop that task will crash.\n\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "97d1f15b7ef52c1e9c28dc48b454024bb53a5fd2",
      "tree": "7bdb928096eec577e75897351f639d3f94441c87",
      "parents": [
        "e723ccd805857a46d3b63fbd20edea8579c6c541"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@infradead.org",
        "time": "Thu Mar 23 03:00:24 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Mar 23 07:38:10 2006 -0800"
      },
      "message": "[PATCH] sem2mutex: kernel/\n\nSemaphore to mutex conversion.\n\nThe conversion was generated via scripts, and the result was validated\nautomatically via a script as well.\n\nSigned-off-by: Arjan van de Ven \u003carjan@infradead.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "61e1a9ea4b425eb8c3b4965c35fe953bd881728f",
      "tree": "2dcf017eedd4a72698593c878aff3ae31e3a6b09",
      "parents": [
        "83521d3eb8dd2dfb04dd78b4733e9766f61bb47e"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Sun Oct 30 15:01:40 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 30 17:37:17 2005 -0800"
      },
      "message": "[PATCH] Add kthread_stop_sem()\n\nEnhance the kthread API by adding kthread_stop_sem, for use in stopping\nthreads that spend their idle time waiting on a semaphore.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d59dd4620fb8d6422555a9e2b82a707718e68327",
      "tree": "78205657d24efcaa3f8314064951ac3814ed95a7",
      "parents": [
        "0d8d4d42f2d00eb65262b49f4edd4cf7ef4eb6fc"
      ],
      "author": {
        "name": "akpm@osdl.org",
        "email": "akpm@osdl.org",
        "time": "Sun May 01 08:58:47 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sun May 01 08:58:47 2005 -0700"
      },
      "message": "[PATCH] use smp_mb/wmb/rmb where possible\n\nReplace a number of memory barriers with smp_ variants.  This means we won\u0027t\ntake the unnecessary hit on UP machines.\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": "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"
    }
  ]
}
