)]}'
{
  "log": [
    {
      "commit": "3fc7b4b220c7e830a5b3ce0ea5f85a635e0c50f0",
      "tree": "f30750093bda1a0bd233b025f30891bf4010926d",
      "parents": [
        "e4c6f8bed01f9f9a5c607bd689bf67e7b8a36bd8"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rdreier@cisco.com",
        "time": "Wed Jul 29 15:04:02 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 29 19:10:35 2009 -0700"
      },
      "message": "lib: export generic atomic64_t functions\n\nThe generic atomic64_t implementation in lib/ did not export the functions\nit defined, which means that modules that use atomic64_t would not link on\nplatforms (such as 32-bit powerpc).  For example, trying to build a kernel\nwith CONFIG_NET_RDS on such a platform would fail with:\n\n    ERROR: \"atomic64_read\" [net/rds/rds.ko] undefined!\n    ERROR: \"atomic64_set\" [net/rds/rds.ko] undefined!\n\nFix this by exporting the atomic64_t functions to modules.  (I export the\nentire API even if it\u0027s not all currently used by in-tree modules to avoid\nhaving to continue fixing this in dribs and drabs)\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\nAcked-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "09d4e0edd4614e787393acc582ac701c6ec3565b",
      "tree": "77f3b85e0f59a168ac78639e510ebcbd3791b3d2",
      "parents": [
        "4c75f84f2c781beb230031234ed961d28771a764"
      ],
      "author": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Fri Jun 12 21:10:05 2009 +0000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Mon Jun 15 13:27:38 2009 +1000"
      },
      "message": "lib: Provide generic atomic64_t implementation\n\nMany processor architectures have no 64-bit atomic instructions, but\nwe need atomic64_t in order to support the perf_counter subsystem.\n\nThis adds an implementation of 64-bit atomic operations using hashed\nspinlocks to provide atomicity.  For each atomic operation, the address\nof the atomic64_t variable is hashed to an index into an array of 16\nspinlocks.  That spinlock is taken (with interrupts disabled) around the\noperation, which can then be coded non-atomically within the lock.\n\nOn UP, all the spinlock manipulation goes away and we simply disable\ninterrupts around each operation.  In fact gcc eliminates the whole\natomic64_lock variable as well.\n\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    }
  ]
}
