)]}'
{
  "log": [
    {
      "commit": "1ebb7044c9142c67d1d2b04d84010b4810a43fd8",
      "tree": "bfacd21f2aabf0b727d678797e2764d010918f29",
      "parents": [
        "0565d317768cc66b13e37184f29d9f270c2886dc"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Jan 10 15:08:28 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 16:30:45 2012 -0800"
      },
      "message": "mempool: fix first round failure behavior\n\nmempool modifies gfp_mask so that the backing allocator doesn\u0027t try too\nhard or trigger warning message when there\u0027s pool to fall back on.  In\naddition, for the first try, it removes __GFP_WAIT and IO, so that it\ndoesn\u0027t trigger reclaim or wait when allocation can be fulfilled from\npool; however, when that allocation fails and pool is empty too, it waits\nfor the pool to be replenished before retrying.\n\nAllocation which could have succeeded after a bit of reclaim has to wait\non the reserved items and it\u0027s not like mempool doesn\u0027t retry with\n__GFP_WAIT and IO.  It just does that *after* someone returns an element,\npointlessly delaying things.\n\nFix it by retrying immediately if the first round of allocation attempts\nw/o __GFP_WAIT and IO fails.\n\n[akpm@linux-foundation.org: shorten the lock hold time]\nSigned-off-by: Tejun Heo \u003ctj@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": "0565d317768cc66b13e37184f29d9f270c2886dc",
      "tree": "9618e46da0eac37472cde829d9574a98a1d28bbb",
      "parents": [
        "5b990546e33477c34ee6fbc20fad6584386b46c3"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Jan 10 15:08:26 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 16:30:45 2012 -0800"
      },
      "message": "mempool: drop unnecessary and incorrect BUG_ON() from mempool_destroy()\n\nmempool_destroy() is a thin wrapper around free_pool().  The only thing it\nadds is BUG_ON(pool-\u003ecurr_nr !\u003d pool-\u003emin_nr).  The intention seems to be\nto enforce that all allocated elements are freed; however, the BUG_ON()\ncan\u0027t achieve that (it doesn\u0027t know anything about objects above min_nr)\nand incorrect as mempool_resize() is allowed to leave the pool extended\nbut not filled.  Furthermore, panicking is way worse than any memory leak\nand there are better debug tools to track memory leaks.\n\nDrop the BUG_ON() from mempool_destory() and as that leaves the function\nidentical to free_pool(), replace it.\n\nSigned-off-by: Tejun Heo \u003ctj@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": "5b990546e33477c34ee6fbc20fad6584386b46c3",
      "tree": "2e4aa8b194aefee6286a2d0040e15d31df5f66c1",
      "parents": [
        "564c81db19f3630f53a14bbceb7b85eb9660ded3"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Jan 10 15:08:23 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 16:30:45 2012 -0800"
      },
      "message": "mempool: fix and document synchronization and memory barrier usage\n\nmempool_alloc/free() use undocumented smp_mb()\u0027s.  The code is slightly\nbroken and misleading.\n\nThe lockless part is in mempool_free().  It wants to determine whether the\nitem being freed needs to be returned to the pool or backing allocator\nwithout grabbing pool-\u003elock.  Two things need to be guaranteed for correct\noperation.\n\n1. pool-\u003ecurr_nr + #allocated should never dip below pool-\u003emin_nr.\n2. Waiters shouldn\u0027t be left dangling.\n\nFor #1, The only necessary condition is that curr_nr visible at free is\nfrom after the allocation of the element being freed (details in the\ncomment).  For most cases, this is true without any barrier but there can\nbe fringe cases where the allocated pointer is passed to the freeing task\nwithout going through memory barriers.  To cover this case, wmb is\nnecessary before returning from allocation and rmb is necessary before\nreading curr_nr.  IOW,\n\n\tALLOCATING TASK\t\t\tFREEING TASK\n\n\tupdate pool state after alloc;\n\twmb();\n\tpass pointer to freeing task;\n\t\t\t\t\tread pointer;\n\t\t\t\t\trmb();\n\t\t\t\t\tread pool state to free;\n\nThe current code doesn\u0027t have wmb after pool update during allocation and\nmay theoretically, on machines where unlock doesn\u0027t behave as full wmb,\nlead to pool depletion and deadlock.  smp_wmb() needs to be added after\nsuccessful allocation from reserved elements and smp_mb() in\nmempool_free() can be replaced with smp_rmb().\n\nFor #2, the waiter needs to add itself to waitqueue and then check the\nwait condition and the waker needs to update the wait condition and then\nwake up.  Because waitqueue operations always go through full spinlock\nsynchronization, there is no need for extra memory barriers.\n\nFurthermore, mempool_alloc() is already holding pool-\u003elock when it decides\nthat it needs to wait.  There is no reason to do unlock - add waitqueue -\ntest condition again.  It can simply add itself to waitqueue while holding\npool-\u003elock and then unlock and sleep.\n\nThis patch adds smp_wmb() after successful allocation from reserved pool,\nreplaces smp_mb() in mempool_free() with smp_rmb() and extend pool-\u003elock\nover waitqueue addition.  More importantly, it explains what memory\nbarriers do and how the lockless testing is correct.\n\n-v2: Oleg pointed out that unlock doesn\u0027t imply wmb.  Added explicit\n     smp_wmb() after successful allocation from reserved pool and\n     updated comments accordingly.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: \"Paul E. McKenney\" \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: David Howells \u003cdhowells@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": "b95f1b31b75588306e32b2afd32166cad48f670b",
      "tree": "b5496144e41b117cfe5ae70b145b5351709ec4d0",
      "parents": [
        "b9e15bafdf1aa20791cdefdcbf1ccf7d7aa03aaa"
      ],
      "author": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Sun Oct 16 02:01:52 2011 -0400"
      },
      "committer": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Mon Oct 31 09:20:12 2011 -0400"
      },
      "message": "mm: Map most files to use export.h instead of module.h\n\nThe files changed within are only using the EXPORT_SYMBOL\nmacro variants.  They are not using core modular infrastructure\nand hence don\u0027t need module.h but only the export.h header.\n\nSigned-off-by: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\n"
    },
    {
      "commit": "bba78819548a59a52e60f0b259997bbd011164ae",
      "tree": "1d788069848ba86906269d8eb8b1b13119260e5a",
      "parents": [
        "bbba809e96539672f775a3d70102657d05816a5b"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Mon Sep 21 17:02:56 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:35 2009 -0700"
      },
      "message": "mm: remove broken \u0027kzalloc\u0027 mempool\n\nThe kzalloc mempool zeros items when they are initially allocated, but\ndoes not rezero used items that are returned to the pool.  Consequently\nmempool_alloc()s may return non-zeroed memory.\n\nSince there are/were only two in-tree users for\nmempool_create_kzalloc_pool(), and \u0027fixing\u0027 this in a way that will\nre-zero used (but not new) items before first use is non-trivial, just\nremove it.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5e2f89b5d5d87a7c3ba19fc85ba0c29adb65f639",
      "tree": "2737536b2183e1d089ef4d83495c75c815c7f448",
      "parents": [
        "1392e3b33319fd1a2527bebfc56631c2f2d3c7c5"
      ],
      "author": {
        "name": "Figo.zhang",
        "email": "figo1802@gmail.com",
        "time": "Sat Aug 08 21:01:22 2009 +0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 10 08:31:16 2009 -0700"
      },
      "message": "mempool.c: clean up type-casting\n\nclean up type-casting twice.  \"size_t\" is typedef as \"unsigned long\" in\n64-bit system, and \"unsigned int\" in 32-bit system, and the intermediate\ncast to \u0027long\u0027 is pointless.\n\nSigned-off-by: Figo.zhang \u003cfigo1802@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "183ff22bb6bd8188c904ebfb479656ae52230b72",
      "tree": "425207fc9cdca03df64ee8241ba764c75db4d8d1",
      "parents": [
        "676b1855de0a18100b3c340084eb8ef72bde4fb1"
      ],
      "author": {
        "name": "Simon Arlott",
        "email": "simon@fire.lp0.eux",
        "time": "Sat Oct 20 01:27:18 2007 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Sat Oct 20 01:27:18 2007 +0200"
      },
      "message": "spelling fixes: mm/\n\nSpelling fixes in mm/.\n\nSigned-off-by: Simon Arlott \u003csimon@fire.lp0.eu\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\n"
    },
    {
      "commit": "94f6030ca792c57422f04a73e7a872d8325946d3",
      "tree": "0197f24d82b1706f1b0521f2cf68feeff64123df",
      "parents": [
        "81cda6626178cd55297831296ba8ecedbfd8b52d"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Tue Jul 17 04:03:29 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 10:23:02 2007 -0700"
      },
      "message": "Slab allocators: Replace explicit zeroing with __GFP_ZERO\n\nkmalloc_node() and kmem_cache_alloc_node() were not available in a zeroing\nvariant in the past.  But with __GFP_ZERO it is possible now to do zeroing\nwhile allocating.\n\nUse __GFP_ZERO to remove the explicit clearing of memory via memset whereever\nwe can.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c80e7a826c10cf5bce8487fbaede48bd0bd48d08",
      "tree": "90a8f4dd0c936eacab217a183a9ff311ad259a32",
      "parents": [
        "5e70030d4cf91613530a23b40ad9919bb9ee114f"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Sun Jul 15 23:42:00 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:52 2007 -0700"
      },
      "message": "permit mempool_free(NULL)\n\nChristian Borntraeger points out that mempool_free() doesn\u0027t noop when\nhanded NULL.  This is inconsistent with the other free-like functions\nin the kernel.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Christian Borntraeger \u003cborntraeger@de.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": "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": "0b1d647a02c5a1b67d45287eeb6cb3b2219c41c3",
      "tree": "13f9caa7b0ebd17dff481f854ac8803aae01234f",
      "parents": [
        "1e5f5e5cd65eec6ce5c24a9c29f3e52673b121a6"
      ],
      "author": {
        "name": "Pavel Mironchik",
        "email": "tibor0@gmail.com",
        "time": "Thu Aug 31 21:27:47 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 01 11:39:09 2006 -0700"
      },
      "message": "[PATCH] dm: work around mempool_alloc, bio_alloc_bioset deadlocks\n\nThis patch works around a complex dm-related deadlock/livelock down in the\nmempool allocator.\n\nAlasdair said:\n\n  Several dm targets suffer from this.\n\n  Mempools are not yet used correctly everywhere in device-mapper: they can\n  get shared when devices are stacked, and some targets share them across\n  multiple instances.  I made fixing this one of the prerequisites for this\n  patch:\n\n    md-dm-reduce-stack-usage-with-stacked-block-devices.patch\n\n  which in some cases makes people more likely to hit the problem.\n\n  There\u0027s been some progress on this recently with (unfinished) dm-crypt\n  patches at:\n\n    http://www.kernel.org/pub/linux/kernel/people/agk/patches/2.6/editing/\n      (dm-crypt-move-io-to-workqueue.patch plus dependencies)\n\nand:\n\n  I\u0027ve no problems with a temporary workaround like that, but Milan Broz (a\n  new Redhat developer in the Czech Republic) has started reviewing all the\n  mempool usage in device-mapper so I\u0027m expecting we\u0027ll soon have a proper fix\n  for this associated problems.  [He\u0027s back from holiday at the start of next\n  week.]\n\nFor now, this sad-but-safe little patch will allow the machine to recover.\n\n[akpm@osdl.org: rewrote changelog]\nCc: Alasdair G Kergon \u003cagk@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9ae21d1bb376436285cd5346d3e4b3655d6dd1b9",
      "tree": "8f889770fae721da63bd378c1834a87e2eb1cfb5",
      "parents": [
        "f9b4192923fa6e38331e88214b1fe5fc21583fcc",
        "e9415777b1cd0eaf4d1d3d61772f0e6d5c2551ad"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Mar 26 09:41:18 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Mar 26 09:41:18 2006 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial:\n  drivers/char/ftape/lowlevel/fdc-io.c: Correct a comment\n  Kconfig help: MTD_JEDECPROBE already supports Intel\n  Remove ugly debugging stuff\n  do_mounts.c: Minor ROOT_DEV comment cleanup\n  BUG_ON() Conversion in drivers/s390/block/dasd_devmap.c\n  BUG_ON() Conversion in mm/mempool.c\n  BUG_ON() Conversion in mm/memory.c\n  BUG_ON() Conversion in kernel/fork.c\n  BUG_ON() Conversion in ipc/sem.c\n  BUG_ON() Conversion in fs/ext2/\n  BUG_ON() Conversion in fs/hfs/\n  BUG_ON() Conversion in fs/dcache.c\n  BUG_ON() Conversion in fs/buffer.c\n  BUG_ON() Conversion in input/serio/hp_sdc_mlc.c\n  BUG_ON() Conversion in md/dm-table.c\n  BUG_ON() Conversion in md/dm-path-selector.c\n  BUG_ON() Conversion in drivers/isdn\n  BUG_ON() Conversion in drivers/char\n  BUG_ON() Conversion in drivers/mtd/\n"
    },
    {
      "commit": "f183323d3822dee4d7b3147a59b6e8987fe201e0",
      "tree": "f1cec982da7ae954af52584630c273976fd43127",
      "parents": [
        "0eaae62abaa1ad1f231932b6cdd9fb1b91df6651"
      ],
      "author": {
        "name": "Matthew Dobson",
        "email": "colpatch@us.ibm.com",
        "time": "Sun Mar 26 01:37:48 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Mar 26 08:56:59 2006 -0800"
      },
      "message": "[PATCH] mempool: add kzalloc allocator\n\nAdd another allocator to the common mempool code: a kzalloc/kfree allocator\n\nThis will be used by the next patch in the series to replace a mempool-backed\nkzalloc allocator.  It is also very likely that there will be more users in\nthe future.\n\nSigned-off-by: Matthew Dobson \u003ccolpatch@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "53184082b070dfb077218828fdf839826102ed96",
      "tree": "77aad868cb43b78195e7ca657c1e30a6934fac44",
      "parents": [
        "a19b27ce3847c3a5d4ea6b6c91b6f7154759af23"
      ],
      "author": {
        "name": "Matthew Dobson",
        "email": "colpatch@us.ibm.com",
        "time": "Sun Mar 26 01:37:46 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Mar 26 08:56:59 2006 -0800"
      },
      "message": "[PATCH] mempool: add kmalloc allocator\n\nAdd another allocator to the common mempool code: a kmalloc/kfree allocator\n\nThis will be used by the next patch in the series to replace duplicate\nmempool-backed kmalloc allocators in several places in the kernel.  It is also\nvery likely that there will be more users in the future.\n\nSigned-off-by: Matthew Dobson \u003ccolpatch@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6e0678f394c7bd21bfa5d252b071a09e10e7a749",
      "tree": "45e9729c67b867821748414667dada0d36a8bd34",
      "parents": [
        "8219dd5710c1daec2d7a086eeeee5187decfde60"
      ],
      "author": {
        "name": "Matthew Dobson",
        "email": "colpatch@us.ibm.com",
        "time": "Sun Mar 26 01:37:44 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Mar 26 08:56:59 2006 -0800"
      },
      "message": "[PATCH] mempool: add page allocator\n\nThis will be used by the next patch in the series to replace duplicate\nmempool-backed page allocators in 2 places in the kernel.  It is also likely\nthat there will be more users in the future.\n\nSigned-off-by: Matthew Dobson \u003ccolpatch@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f02e1fafb534459522a8c46bc46b32820684623e",
      "tree": "4a4fe770d02fc83b71bcfc6d32eb609c80a5aa95",
      "parents": [
        "5bcb28b139cffc736177ceb775d1c8b5c5a411e2"
      ],
      "author": {
        "name": "Eric Sesterhenn",
        "email": "snakebyte@gmx.de",
        "time": "Sun Mar 26 18:31:56 2006 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Sun Mar 26 18:31:56 2006 +0200"
      },
      "message": "BUG_ON() Conversion in mm/mempool.c\n\nthis changes if() BUG(); constructs to BUG_ON() which is\ncleaner, contains unlikely() and can better optimized away.\n\nSigned-off-by: Eric Sesterhenn \u003csnakebyte@gmx.de\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\n"
    },
    {
      "commit": "fcc234f888ba2365c44ba0507eb8a18eebf1f594",
      "tree": "afc0d6f5a6191a94d8285f0b21ecec5a9b911df9",
      "parents": [
        "b5d8ca7c50826c0b456b4a646875dc573adfde2b"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Wed Mar 22 00:08:13 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Mar 22 07:53:58 2006 -0800"
      },
      "message": "[PATCH] mm: kill kmem_cache_t usage\n\nWe have struct kmem_cache now so use it instead of the old typedef.\n\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6daa0e28627abf362138244a620a821a9027d816",
      "tree": "5ca9cbc421cc1adf228cdd30cd627bca8be6242c",
      "parents": [
        "af4ca457eaf2d6682059c18463eb106e2ce58198"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Oct 21 03:18:50 2005 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Oct 28 08:16:47 2005 -0700"
      },
      "message": "[PATCH] gfp_t: mm/* (easy parts)\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\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": "0db925af1db5f3dfe1691c35b39496e2baaff9c9",
      "tree": "bb9f827fa001b27f7a902abf174e8f0057c9df81",
      "parents": [
        "b84c21572de8a732062eff5592e3c4b3b1793bb8"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Thu Jul 07 17:56:58 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jul 07 18:23:46 2005 -0700"
      },
      "message": "[PATCH] propagate __nocast annotations\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "01890a4c120f68366441bf5e193d1b9dd543d4d0",
      "tree": "ed854da46009b0837485e8acd17dc9d944e8068f",
      "parents": [
        "8476994af7bd9352ecdf61ba760f7397f54e30a1"
      ],
      "author": {
        "name": "Benjamin LaHaise",
        "email": "bcrl@kvack.org",
        "time": "Thu Jun 23 00:10:01 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:29 2005 -0700"
      },
      "message": "[PATCH] mempool - only init waitqueue in slow path\n\nHere\u0027s a small patch to improve the performance of mempool_alloc by only\ninitializing the wait queue when we\u0027re about to wait.\n\nSigned-off-by: Benjamin LaHaise \u003cbenjamin.c.lahaise@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1946089a109251655c5438d92c539bd2930e71ea",
      "tree": "819a492d5a7c4e6e695b150a86abeb99d5ac46eb",
      "parents": [
        "8c5a09082f4e61a176382e96a831a0636b918602"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "christoph@lameter.com",
        "time": "Thu Jun 23 00:08:19 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:09 2005 -0700"
      },
      "message": "[PATCH] NUMA aware block device control structure allocation\n\nPatch to allocate the control structures for for ide devices on the node of\nthe device itself (for NUMA systems).  The patch depends on the Slab API\nchange patch by Manfred and me (in mm) and the pcidev_to_node patch that I\nposted today.\n\nDoes some realignment too.\n\nSigned-off-by: Justin M. Forbes \u003cjmforbes@linuxtx.org\u003e\nSigned-off-by: Christoph Lameter \u003cchristoph@lameter.com\u003e\nSigned-off-by: Pravin Shelar \u003cpravin@calsoftinc.com\u003e\nSigned-off-by: Shobhit Dayal \u003cshobhit@calsoftinc.com\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": "20a77776c24800d1e40a73f520cfcb32239568a9",
      "tree": "8a28cc68cf10b87d35b7603b2d6f26215390cc0f",
      "parents": [
        "b84a35be0285229b0a8a5e2e04d79360c5b75562"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "nickpiggin@yahoo.com.au",
        "time": "Sun May 01 08:58:37 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sun May 01 08:58:37 2005 -0700"
      },
      "message": "[PATCH] mempool: simplify alloc\n\nMempool is pretty clever.  Looks too clever for its own good :) It\nshouldn\u0027t really know so much about page reclaim internals.\n\n- don\u0027t guess about what effective page reclaim might involve.\n\n- don\u0027t randomly flush out all dirty data if some unlikely thing\n  happens (alloc returns NULL). page reclaim can (sort of :P) handle\n  it.\n\nI think the main motivation is trying to avoid pool-\u003elock at all costs.\nHowever the first allocation is attempted with __GFP_WAIT cleared, so it\nwill be \u0027can_try_harder\u0027 if it hits the page allocator.  So if allocation\nstill fails, then we can probably afford to hit the pool-\u003elock - and what\u0027s\nthe alternative?  Try page reclaim and hit zone-\u003elru_lock?\n\nA nice upshot is that we don\u0027t need to do any fancy memory barriers or do\n(intentionally) racy access to pool-\u003e fields outside the lock.\n\nSigned-off-by: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b84a35be0285229b0a8a5e2e04d79360c5b75562",
      "tree": "3ff63fde8534eb615b408d047b461015781f6a5b",
      "parents": [
        "8e30f272a93ec9c1d5c305c5040dfaebc880499d"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "nickpiggin@yahoo.com.au",
        "time": "Sun May 01 08:58:36 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sun May 01 08:58:36 2005 -0700"
      },
      "message": "[PATCH] mempool: NOMEMALLOC and NORETRY\n\nMempools have 2 problems.\n\nThe first is that mempool_alloc can possibly get stuck in __alloc_pages\nwhen they should opt to fail, and take an element from their reserved pool.\n\nThe second is that it will happily eat emergency PF_MEMALLOC reserves\ninstead of going to their reserved pools.\n\nFix the first by passing __GFP_NORETRY in the allocation calls in\nmempool_alloc.  Fix the second by introducing a __GFP_MEMPOOL flag which\ndirects the page allocator not to allocate from the reserve pool.\n\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"
    }
  ]
}
