)]}'
{
  "log": [
    {
      "commit": "6261ddee70174372d6a75601f40719b7a5392f3f",
      "tree": "a7c8b98520a5ad531ccafebc50a9ed25b1762dff",
      "parents": [
        "3c8ed88974472b928489e3943616500ce2ad0cd8"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Dec 14 11:19:07 2011 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Dec 14 11:19:07 2011 -0800"
      },
      "message": "kref: fix up the kfree build problems\n\nIt turns out that some memory allocators use kobjects, which use krefs,\nand kref.h was wanting to figure out the address of kfree(), which ended\nup in a loop.\n\nkfree was only being needed for a warning to tell the caller that they\nwere doing something stupid.  Now we just move that warning into the\ncomments for the functions, which results in a bit more fun as everyone\nenjoys digging for people to mock at times of boredom.\n\nSo, remove the dependancy of slab.h on kref.h, and fix up the other\ninclude file as well (we really only need bug.h and atomic.h, not\ntypes.h).\n\nReported-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Oliver Neukum \u003coneukum@suse.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "3c8ed88974472b928489e3943616500ce2ad0cd8",
      "tree": "f13010d3417f86b3909cd55858ee589b7de366c9",
      "parents": [
        "47dbd7d90ad80edb67822f327241edcab8f3f46f"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Sat Dec 10 11:43:44 2011 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Dec 13 09:11:19 2011 -0800"
      },
      "message": "kref: Remove the memory barriers\n\nCommit 1b0b3b9980e (\"kref: fix CPU ordering with respect to krefs\")\nwrongly adds memory barriers to kref.\n\nIt states:\n\n  some atomic operations are only atomic, not ordered. Thus a CPU is allowed\n  to reorder memory references to an object to before the reference is\n  obtained. This fixes it.\n\nWhile true, it fails to show why this is a problem. I say it is not a\nproblem because if there is a race with kref_put() such that we could\nend up referencing a free\u0027d object without this memory barrier, we\nwould still have that race with the memory barrier.\n\nThe kref_put() in question could complete (and free the object) before\nthe atomic_inc() and we\u0027d still be up shit creek.\n\nThe kref_init() case is even worse, if your object is published at this\ntime you\u0027re so wrong the memory barrier won\u0027t make a difference what\nso ever. If its not published, the act of publishing should include\nthe needed barriers/locks to make sure all writes prior to the act of\npublishing are complete such that others will only observe a complete\nobject.\n\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Oliver Neukum \u003coneukum@suse.de\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "47dbd7d90ad80edb67822f327241edcab8f3f46f",
      "tree": "2e8880bfaf5da28b1bf2f265981e417d9afb4678",
      "parents": [
        "4af679cd7cbb0a0d8774b5cdb34bffcaa4e86e52"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Sat Dec 10 11:43:43 2011 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Dec 13 08:41:43 2011 -0800"
      },
      "message": "kref: Implement kref_put in terms of kref_sub\n\nLess lines of code is better.\n\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "4af679cd7cbb0a0d8774b5cdb34bffcaa4e86e52",
      "tree": "b97bd32f0af95d22133e98a774966ced2eee0664",
      "parents": [
        "175cad266774d09c57a62c65baa6b4e1edafdf3a"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Dec 13 10:36:20 2011 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Dec 13 08:18:25 2011 -0800"
      },
      "message": "kref: Inline all functions\n\nThese are tiny functions, there\u0027s no point in having them out-of-line.\n\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/n/tip-8eccvi2ur2fzgi00xdjlbf5z@git.kernel.org\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "ecf7ace9a8450303a987aa8364e53860cd50e554",
      "tree": "bbad2c5982c3b76462cbee9e15458072bc80055d",
      "parents": [
        "d6ea88865d3e5b0c62040531310c1f2c6a994f46"
      ],
      "author": {
        "name": "Thomas Hellstrom",
        "email": "thellstrom@vmware.com",
        "time": "Tue Nov 16 15:21:07 2010 +0100"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Mon Nov 22 13:25:13 2010 +1000"
      },
      "message": "kref: Add a kref_sub function\n\nMakes it possible to optimize batched multiple unrefs.\nInitial user will be drivers/gpu/ttm which accumulates unrefs to be\nprocessed outside of atomic code.\n\nSigned-off-by: Thomas Hellstrom \u003cthellstrom@vmware.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "db1afffab0b5d9f6d31f8f4bea44c9cb3bc59351",
      "tree": "5ba8fd7a5018c0772d999b8c3aa945c0efb929e0",
      "parents": [
        "dd336c554d8926c3348a2d5f2a5ef5597f6d1a06"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Mar 16 15:14:51 2010 +1100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri May 21 09:37:29 2010 -0700"
      },
      "message": "kref: remove kref_set\n\nOf the three uses of kref_set in the kernel:\n\n One really should be kref_put as the code is letting go of a\n    reference,\n Two really should be kref_init because the kref is being\n    initialised.\n\nThis suggests that making kref_set available encourages bad code.\nSo fix the three uses and remove kref_set completely.\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\nAcked-by: Mimi Zohar \u003czohar@us.ibm.com\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "932fb06b0898f5883200f1da2e00075f0d70ba9c",
      "tree": "b36679ed4f534513e40a3fa1c6a390c4f6257a9b",
      "parents": [
        "108afd0491e5bc2abda08645685da69d36688cb6"
      ],
      "author": {
        "name": "Robert P. J. Day",
        "email": "rpjday@crashcourse.ca",
        "time": "Sat Mar 13 07:58:13 2010 -0500"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Mon Mar 15 15:35:35 2010 +0100"
      },
      "message": "kobj: kref.h incorrectly describes itself as kref.c.\n\nSigned-off-by: Robert P. J. Day \u003crpjday@crashcourse.ca\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "1d1764c39815db55e10b2d78732db4d6dd9d6039",
      "tree": "4511bd9b696d86eae2922239407a9655abf6c80b",
      "parents": [
        "3b383767c41be070cae24875789d97b42a3e71a8"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Sat Sep 26 19:37:22 2009 +0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Sep 26 10:17:19 2009 -0700"
      },
      "message": "headers: kref.h redux\n\n* remove asm/atomic.h inclusion from kref.h -- not needed, linux/types.h\n  is enough for atomic_t\n* remove linux/kref.h inclusion from files which do not need it.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "735643ee6cc5249bfac07fcad0946a5e7aff4423",
      "tree": "e725df246f4a3cf88b6b42a28d859ab969acf81c",
      "parents": [
        "71cc2c2152170b8166f59abb0604dc62073aeb92"
      ],
      "author": {
        "name": "Robert P. J. Day",
        "email": "rpjday@crashcourse.ca",
        "time": "Wed Apr 30 00:55:12 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:54 2008 -0700"
      },
      "message": "Remove \"#ifdef __KERNEL__\" checks from unexported headers\n\nRemove the \"#ifdef __KERNEL__\" tests from unexported header files in\nlinux/include whose entire contents are wrapped in that preprocessor\ntest.\n\nSigned-off-by: Robert P. J. Day \u003crpjday@crashcourse.ca\u003e\nCc: David Woodhouse \u003cdwmw2@infradead.org\u003e\nCc: Sam Ravnborg \u003csam@ravnborg.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "41ca28ab2abd76dc203e2c3a7cd609607cb927c3",
      "tree": "9197e7582b4654796914090026e1afed2628d101",
      "parents": [
        "775b64d2b6ca37697de925f70799c710aab5849a"
      ],
      "author": {
        "name": "Evgeniy Polyakov",
        "email": "johnpol@2ka.mipt.ru",
        "time": "Mon Dec 10 23:03:43 2007 +0300"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:05 2008 -0800"
      },
      "message": "kref: add kref_set()\n\nThis adds kref_set() to the kref api for future use by people who really\nknow what they are doing with krefs...\n\nFrom: Evgeniy Polyakov \u003cjohnpol@2ka.mipt.ru\u003e\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n\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"
    }
  ]
}
