)]}'
{
  "log": [
    {
      "commit": "3eac4abaa69949af0e2f64e5c55ee8a22bbdd3e7",
      "tree": "9620ae3c39a0870a010a08166e29823a7afbf262",
      "parents": [
        "04287f975e68038051eb9c79896866d36610b8e0"
      ],
      "author": {
        "name": "Kevin Hilman",
        "email": "khilman@deeprootsystems.com",
        "time": "Wed Apr 07 11:52:46 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 07 16:15:05 2010 -0700"
      },
      "message": "rwsem generic spinlock: use IRQ save/restore spinlocks\n\nrwsems can be used with IRQs disabled, particularily in early boot\nbefore IRQs are enabled.  Currently the spin_unlock_irq() usage in the\nslow-patch will unconditionally enable interrupts and cause problems\nsince interrupts are not yet initialized or enabled.\n\nThis patch uses save/restore versions of IRQ spinlocks in the slowpath\nto ensure interrupts are not unintentionally disabled.\n\nSigned-off-by: Kevin Hilman \u003ckhilman@deeprootsystems.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "29671f22a8b6522db3b126a3fdfb208759ce46e3",
      "tree": "c3c434fc07aae30c401fe7662b8e1399b98ffdc2",
      "parents": [
        "118d52da1816471ac875bb9f1ee51737e82b1d71"
      ],
      "author": {
        "name": "Amerigo Wang",
        "email": "amwang@redhat.com",
        "time": "Mon Dec 14 18:00:21 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:26 2009 -0800"
      },
      "message": "rwsem: fix rwsem_is_locked() bugs\n\nrwsem_is_locked() tests -\u003eactivity without locks, so we should always keep\n-\u003eactivity consistent.  However, the code in __rwsem_do_wake() breaks this\nrule, it updates -\u003eactivity after _all_ readers waken up, this may give\nsome reader a wrong -\u003eactivity value, thus cause rwsem_is_locked() behaves\nwrong.\n\nQuote from Andrew:\n\n\"\n- we have one or more processes sleeping in down_read(), waiting for access.\n\n- we wake one or more processes up without altering -\u003eactivity\n\n- they start to run and they do rwsem_is_locked().  This incorrectly\n  returns \"false\", because the waker process is still crunching away in\n  __rwsem_do_wake().\n\n- the waker now alters -\u003eactivity, but it was too late.\n\"\n\nSo we need get a spinlock to protect this.  And rwsem_is_locked() should\nnot block, thus we use spin_trylock_irqsave().\n\n[akpm@linux-foundation.org: simplify code]\nReported-by: Brian Behlendorf \u003cbehlendorf1@llnl.gov\u003e\nCc: Ben Woodard \u003cbwoodard@llnl.gov\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: WANG Cong \u003camwang@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": "118d52da1816471ac875bb9f1ee51737e82b1d71",
      "tree": "b51ac58c1c7af29ea0f64aededef0caac19c8ff5",
      "parents": [
        "0b2749aa6ca40ff3fe12ebb3fdf010ebad2e9085"
      ],
      "author": {
        "name": "Amerigo Wang",
        "email": "amwang@redhat.com",
        "time": "Mon Dec 14 18:00:20 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:26 2009 -0800"
      },
      "message": "rwsem-spinlock: remove useless function exports\n\nThese functions need not to be exported, since no drivers should use them.\n\n__init_rwsem() is an exception, because init_rwsem(), which is a macro,\nis used.\n\nSigned-off-by: WANG Cong \u003camwang@redhat.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": "9f741cb8fecef923cce1dff820ac6aa78c12d136",
      "tree": "a033810f71f1b98f5ba1d1949230178ca505a1bf",
      "parents": [
        "7ad5b3a505e68cfdc342933d6e0fc0eaa5e0a4f7"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Fri Feb 08 04:19:55 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:31 2008 -0800"
      },
      "message": "lib: remove fastcall from lib/*\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4dfbb9d8c6cbfc32faa5c71145bd2a43e1f8237c",
      "tree": "a4fefea0d5f5930240f4ecd6f9716a029cc927a9",
      "parents": [
        "86255d9d0bede79140f4912482447963f00818c0"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Oct 11 01:45:14 2006 -0400"
      },
      "committer": {
        "name": "Dmitry Torokhov",
        "email": "dtor@insightbb.com",
        "time": "Wed Oct 11 01:45:14 2006 -0400"
      },
      "message": "Lockdep: add lockdep_set_class_and_subclass() and lockdep_set_subclass()\n\nThis annotation makes it possible to assign a subclass on lock init. This\nannotation is meant to reduce the _nested() annotations by assigning a\ndefault subclass.\n\nOne could do without this annotation and rely on lockdep_set_class()\nexclusively, but that would require a manual stack of struct lock_class_key\nobjects.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Dmitry Torokhov \u003cdtor@mail.ru\u003e\n"
    },
    {
      "commit": "4ea2176dfa714882e88180b474e4cbcd888b70af",
      "tree": "7ff3810f6b8750c226234887bb3063d91e1d71c3",
      "parents": [
        "a8f24a3978c5f82419e1c90dc90460731204f46f"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 03 00:24:53 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jul 03 15:27:04 2006 -0700"
      },
      "message": "[PATCH] lockdep: prove rwsem locking correctness\n\nUse the lock validator framework to prove rwsem locking correctness.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c4e05116a2c4d8187127dbf77ab790aa57a47388",
      "tree": "58f07aed47ee4d30e9588d5a820c245faa163b09",
      "parents": [
        "8b3db9c542e18b71d4820da4dd9401ee030feacb"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 03 00:24:29 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jul 03 15:27:01 2006 -0700"
      },
      "message": "[PATCH] lockdep: clean up rwsems\n\nClean up rwsems.\n\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": "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"
    }
  ]
}
