)]}'
{
  "log": [
    {
      "commit": "207205a2ba2655652fe46a60b49838af6c16a919",
      "tree": "4309aa7cd5cf39c805219001e0ed8ec5b71e4d5e",
      "parents": [
        "b6a84016bd2598e35ead635147fa53619982648d"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Mar 22 16:30:44 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 17:44:01 2011 -0700"
      },
      "message": "kthread: NUMA aware kthread_create_on_node()\n\nAll kthreads being created from a single helper task, they all use memory\nfrom a single node for their kernel stack and task struct.\n\nThis patch suite creates kthread_create_on_node(), adding a \u0027cpu\u0027 parameter\nto parameters already used by kthread_create().\n\nThis parameter serves in allocating memory for the new kthread on its\nmemory node if possible.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nReviewed-by: Andi Kleen \u003cak@linux.intel.com\u003e\nAcked-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Tony Luck \u003ctony.luck@intel.com\u003e\nCc: Fenghua Yu \u003cfenghua.yu@intel.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: \u003clinux-arch@vger.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": "92578c0b8078f6919f9b47e7e16a1cf770bd127b",
      "tree": "1bf78aee66660797520f0d12c3e5e0ce6898616f",
      "parents": [
        "235454c99851ba21038061b9acf38d1a636068c5"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sun Jan 23 15:24:55 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Jan 27 12:30:37 2011 +0100"
      },
      "message": "kthread: Replace deprecated spinlock initialization\n\nSPIN_LOCK_UNLOCK is deprecated. Use the lockdep capable variant\ninstead.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "4f32e9b1f812fd6c00cc85a127583fefbdedaedc",
      "tree": "c0e1d3e1d90758d2f4f3f8cad6beea316d68b5a0",
      "parents": [
        "90a8a73c06cc32b609a880d48449d7083327e11a"
      ],
      "author": {
        "name": "Yong Zhang",
        "email": "yong.zhang0@gmail.com",
        "time": "Wed Dec 22 10:27:53 2010 +0100"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Dec 22 10:27:53 2010 +0100"
      },
      "message": "kthread_work: make lockdep happy\n\nspinlock in kthread_worker and wait_queue_head in kthread_work both\nshould be lockdep sensible, so change the interface to make it\nsuiltable for CONFIG_LOCKDEP.\n\ntj: comment update\n\nReported-by: Nicolas \u003cnicolas.mailhot@laposte.net\u003e\nSigned-off-by: Yong Zhang \u003cyong.zhang0@gmail.com\u003e\nSigned-off-by: Andy Walls \u003cawalls@md.metrocast.net\u003e\nTested-by: Andy Walls \u003cawalls@md.metrocast.net\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "82805ab77d25643f579d90397dcd34f05d1b750a",
      "tree": "4e5fd250d8625e032250fd02101c3b6ce595cbbf",
      "parents": [
        "7bc465605ffa90b281d6b774fcb13911636a6d45"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Jun 29 10:07:09 2010 +0200"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Jun 29 10:07:09 2010 +0200"
      },
      "message": "kthread: implement kthread_data()\n\nImplement kthread_data() which takes @task pointing to a kthread and\nreturns @data specified when creating the kthread.  The caller is\nresponsible for ensuring the validity of @task when calling this\nfunction.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "b56c0d8937e665a27d90517ee7a746d0aa05af46",
      "tree": "fefff33fe3bbebfc8d60ba581e5343dc6cb56a70",
      "parents": [
        "53c5f5ba42c194cb13dd3083ed425f2c5b1ec439"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Jun 29 10:07:09 2010 +0200"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Jun 29 10:07:09 2010 +0200"
      },
      "message": "kthread: implement kthread_worker\n\nImplement simple work processor for kthread.  This is to ease using\nkthread.  Single thread workqueue used to be used for things like this\nbut workqueue won\u0027t guarantee fixed kthread association anymore to\nenable worker sharing.\n\nThis can be used in cases where specific kthread association is\nnecessary, for example, when it should have RT priority or be assigned\nto certain cgroup.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ed9559d38a87a44e3bda87d73a50aab92471d7dc",
      "tree": "b9e22f50b4ea0865a3ad8b2e9a2b50839ad490b5",
      "parents": [
        "fb2e405fc1fc8b20d9c78eaa1c7fd5a297efde43"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Jul 25 12:11:09 2008 +1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 19:11:15 2008 -0700"
      },
      "message": "Label kthread_create() with printf attribute tag.\n\nObvious misc patch been in my queue (\u0026 linux-next) for over a cycle.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\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": "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": "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": "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"
    }
  ]
}
