)]}'
{
  "log": [
    {
      "commit": "c0208be53ab9565f1694587c25db51afa6a1956d",
      "tree": "77196ee4926d67561091a4837c9f6dfef52d2685",
      "parents": [
        "4cffb831f30c82c15d6a0c7427989ca7a1dcee0c"
      ],
      "author": {
        "name": "Josh Triplett",
        "email": "josh@joshtriplett.org",
        "time": "Thu Jan 06 23:20:35 2011 -0800"
      },
      "committer": {
        "name": "Josh Triplett",
        "email": "josh@joshtriplett.org",
        "time": "Thu Jan 06 23:20:35 2011 -0800"
      },
      "message": "Add rwlock-based hash-table resize\n"
    },
    {
      "commit": "4cffb831f30c82c15d6a0c7427989ca7a1dcee0c",
      "tree": "8e7aa037a4400621a76d7b600725d47dc0c91353",
      "parents": [
        "b88ffc07ed1e3aa01903e3d015f4e3a9b5fc9c34"
      ],
      "author": {
        "name": "Josh Triplett",
        "email": "josh@joshtriplett.org",
        "time": "Thu Jan 06 00:52:32 2011 -0800"
      },
      "committer": {
        "name": "Josh Triplett",
        "email": "josh@joshtriplett.org",
        "time": "Thu Jan 06 00:52:32 2011 -0800"
      },
      "message": "Actually record number of resizes in ddds\n"
    },
    {
      "commit": "b88ffc07ed1e3aa01903e3d015f4e3a9b5fc9c34",
      "tree": "15422c57efee3163dc3b9b867bb6271bbab5b374",
      "parents": [
        "d309c40783b086ccfeb6cbb7822b84dfa45d1f61"
      ],
      "author": {
        "name": "Josh Triplett",
        "email": "josh@joshtriplett.org",
        "time": "Thu Jan 06 00:52:18 2011 -0800"
      },
      "committer": {
        "name": "Josh Triplett",
        "email": "josh@joshtriplett.org",
        "time": "Thu Jan 06 00:52:18 2011 -0800"
      },
      "message": "Fix some indentation problems.\n"
    },
    {
      "commit": "d309c40783b086ccfeb6cbb7822b84dfa45d1f61",
      "tree": "8f97b4e2d3d05ece9190a27f34b8f9df4485d508",
      "parents": [
        "a43cf73cd0e01fd3a60eeb6fbd41906e6f88d8f7"
      ],
      "author": {
        "name": "Josh Triplett",
        "email": "josh@joshtriplett.org",
        "time": "Tue Jan 04 15:29:47 2011 -0800"
      },
      "committer": {
        "name": "Josh Triplett",
        "email": "josh@joshtriplett.org",
        "time": "Tue Jan 04 15:29:47 2011 -0800"
      },
      "message": "New hash resize algorithm; secondary table no longer required\n"
    },
    {
      "commit": "a43cf73cd0e01fd3a60eeb6fbd41906e6f88d8f7",
      "tree": "092c2895465edfa1b8b34179d27bb286516bcb0b",
      "parents": [
        "4c1f0176e91ec21255e19000170167b3058f69bf"
      ],
      "author": {
        "name": "Josh Triplett",
        "email": "josh@joshtriplett.org",
        "time": "Tue Jan 04 03:23:30 2011 -0800"
      },
      "committer": {
        "name": "Josh Triplett",
        "email": "josh@joshtriplett.org",
        "time": "Tue Jan 04 03:23:30 2011 -0800"
      },
      "message": "Add DDDS implementation\n"
    },
    {
      "commit": "4c1f0176e91ec21255e19000170167b3058f69bf",
      "tree": "65ce939d071a3e992160c63fc4f88b01502d0422",
      "parents": [
        "460c9df90cd9871bbad4f053b45e7f9d8d9aa14c"
      ],
      "author": {
        "name": "Josh Triplett",
        "email": "josh@joshtriplett.org",
        "time": "Mon Jan 03 20:55:32 2011 -0800"
      },
      "committer": {
        "name": "Josh Triplett",
        "email": "josh@joshtriplett.org",
        "time": "Mon Jan 03 20:55:32 2011 -0800"
      },
      "message": "Allocate space for struct rcuhashbash_table, not a pointer to it\n"
    },
    {
      "commit": "460c9df90cd9871bbad4f053b45e7f9d8d9aa14c",
      "tree": "28c2bf9c6726a2172ba38e87de54f7f5fcf143cb",
      "parents": [
        "f70a3b67b99450604603f9de630aeba72fc4b4e6"
      ],
      "author": {
        "name": "Josh Triplett",
        "email": "josh@joshtriplett.org",
        "time": "Mon Jan 03 20:02:14 2011 -0800"
      },
      "committer": {
        "name": "Josh Triplett",
        "email": "josh@joshtriplett.org",
        "time": "Mon Jan 03 20:08:52 2011 -0800"
      },
      "message": "Only try lookup in secondary table if not NULL\n"
    },
    {
      "commit": "f70a3b67b99450604603f9de630aeba72fc4b4e6",
      "tree": "6e729343b9da4025f873c9ad45cbeba4bbc8558a",
      "parents": [
        "e28a777ca3a51f1df4467c1fd4327bf2aab58965"
      ],
      "author": {
        "name": "Josh Triplett",
        "email": "josh@joshtriplett.org",
        "time": "Mon Jan 03 19:44:56 2011 -0800"
      },
      "committer": {
        "name": "Josh Triplett",
        "email": "josh@joshtriplett.org",
        "time": "Mon Jan 03 19:44:56 2011 -0800"
      },
      "message": "Move rcuhashbash_read_thread next to rcuhashbash_resize_thread after all ops\n"
    },
    {
      "commit": "e28a777ca3a51f1df4467c1fd4327bf2aab58965",
      "tree": "e8cf4db77f217cac7a0cb5353b5ae24a8c19ccbe",
      "parents": [
        "ef660d2873bb0b789a0273b7460d660389de6bc8"
      ],
      "author": {
        "name": "Josh Triplett",
        "email": "josh@joshtriplett.org",
        "time": "Mon Jan 03 19:27:07 2011 -0800"
      },
      "committer": {
        "name": "Josh Triplett",
        "email": "josh@joshtriplett.org",
        "time": "Mon Jan 03 19:27:07 2011 -0800"
      },
      "message": "Support running without a resize thread.\n"
    },
    {
      "commit": "ef660d2873bb0b789a0273b7460d660389de6bc8",
      "tree": "d92b02235d146bdcf6d22489fabacbf59fe4123e",
      "parents": [
        "18160581aeed5a6ab4327b801e85270d1f027a0a"
      ],
      "author": {
        "name": "Josh Triplett",
        "email": "josh@joshtriplett.org",
        "time": "Mon Jan 03 18:29:00 2011 -0800"
      },
      "committer": {
        "name": "Josh Triplett",
        "email": "josh@joshtriplett.org",
        "time": "Mon Jan 03 18:29:00 2011 -0800"
      },
      "message": "Add module parameters for hash-table size\n"
    },
    {
      "commit": "18160581aeed5a6ab4327b801e85270d1f027a0a",
      "tree": "b47d004a0e34bb79235e9e334e34f23beeb14d7a",
      "parents": [
        "3863b19d95e4169194d74eab05db4588d804d0d2"
      ],
      "author": {
        "name": "Josh Triplett",
        "email": "josh@joshtriplett.org",
        "time": "Mon Jan 03 17:57:00 2011 -0800"
      },
      "committer": {
        "name": "Josh Triplett",
        "email": "josh@joshtriplett.org",
        "time": "Mon Jan 03 17:57:00 2011 -0800"
      },
      "message": "Add .gitignore\n"
    },
    {
      "commit": "3863b19d95e4169194d74eab05db4588d804d0d2",
      "tree": "0ebc13646d971364f1fa578c8d31c7e13160c411",
      "parents": [
        "64aacc963a70660d802f3524e343fa2cebddaf01"
      ],
      "author": {
        "name": "Josh Triplett",
        "email": "josh@joshtriplett.org",
        "time": "Mon Jan 03 17:56:52 2011 -0800"
      },
      "committer": {
        "name": "Josh Triplett",
        "email": "josh@joshtriplett.org",
        "time": "Mon Jan 03 17:56:52 2011 -0800"
      },
      "message": "Add rcuhashbash-resize\n"
    },
    {
      "commit": "64aacc963a70660d802f3524e343fa2cebddaf01",
      "tree": "cd10981b76d7af19aba198efb36617c88f674c0c",
      "parents": [
        "a28e7ba2f2954f58bddaec0334b466853b7d0488"
      ],
      "author": {
        "name": "Josh Triplett",
        "email": "josh@joshtriplett.org",
        "time": "Wed Sep 09 18:10:26 2009 -0700"
      },
      "committer": {
        "name": "Josh Triplett",
        "email": "josh@joshtriplett.org",
        "time": "Wed Sep 09 18:10:26 2009 -0700"
      },
      "message": "Remove unnecessary include of \u003clinux/dcache.h\u003e\n"
    },
    {
      "commit": "a28e7ba2f2954f58bddaec0334b466853b7d0488",
      "tree": "a9f3ed89f664eb892b83b5ba9d4c3f317d514c47",
      "parents": [
        "a83598963be2cdad1909d491b4fe05ba7b409f78"
      ],
      "author": {
        "name": "Josh Triplett",
        "email": "josh@joshtriplett.org",
        "time": "Wed Sep 09 17:39:27 2009 -0700"
      },
      "committer": {
        "name": "Josh Triplett",
        "email": "josh@joshtriplett.org",
        "time": "Wed Sep 09 17:39:27 2009 -0700"
      },
      "message": "Switch from \u003clinux/byteorder/swabb.h\u003e to \u003casm/byteorder.h\u003e.\n"
    },
    {
      "commit": "a83598963be2cdad1909d491b4fe05ba7b409f78",
      "tree": "1e2f2c0be0cfcba7414a7586971fd231b52c238d",
      "parents": [
        "d36161a744d90a77a7919f0cf068bd3bca23f9ea"
      ],
      "author": {
        "name": "Josh Triplett",
        "email": "josh@freedesktop.org",
        "time": "Tue Feb 24 10:55:04 2009 -0800"
      },
      "committer": {
        "name": "Josh Triplett",
        "email": "josh@freedesktop.org",
        "time": "Wed Jul 01 20:41:48 2009 -0700"
      },
      "message": "Reader/writer threads which randomly read and write in some proportion\n\nThis allows arbitrary read to write ratios without a proportional number\nof threads.\n"
    },
    {
      "commit": "d36161a744d90a77a7919f0cf068bd3bca23f9ea",
      "tree": "4d25bfceecc1064eb5e110808035395082e49be2",
      "parents": [
        "6437df3e346f54b995ed72b60c8d78959f10e49f"
      ],
      "author": {
        "name": "Josh Triplett",
        "email": "josh@freedesktop.org",
        "time": "Tue Feb 19 04:17:02 2008 -0800"
      },
      "committer": {
        "name": "Josh Triplett",
        "email": "josh@freedesktop.org",
        "time": "Tue Feb 19 04:17:02 2008 -0800"
      },
      "message": "Support setting reader and writer ranges via module params\n"
    },
    {
      "commit": "6437df3e346f54b995ed72b60c8d78959f10e49f",
      "tree": "243841258593dc462c308961712f37b4d75b79f1",
      "parents": [
        "d6e24b2442eeebe8091e4195da430797e581a5fe"
      ],
      "author": {
        "name": "Josh Triplett",
        "email": "josh@freedesktop.org",
        "time": "Tue Feb 12 09:59:22 2008 -0800"
      },
      "committer": {
        "name": "Josh Triplett",
        "email": "josh@freedesktop.org",
        "time": "Tue Feb 12 09:59:22 2008 -0800"
      },
      "message": "Add other writer synchronization for rcu_seq\n"
    },
    {
      "commit": "d6e24b2442eeebe8091e4195da430797e581a5fe",
      "tree": "6f3555d74b577e4a62dfb3f9ea95affe747a3b26",
      "parents": [
        "eb5679171d3031240212dc90ef8f021af9783ba7"
      ],
      "author": {
        "name": "Josh Triplett",
        "email": "josh@freedesktop.org",
        "time": "Tue Feb 12 08:50:26 2008 -0800"
      },
      "committer": {
        "name": "Josh Triplett",
        "email": "josh@freedesktop.org",
        "time": "Tue Feb 12 08:50:26 2008 -0800"
      },
      "message": "Add single-writer sequence-lock variant, with no writer synchronization\n"
    },
    {
      "commit": "eb5679171d3031240212dc90ef8f021af9783ba7",
      "tree": "7c1fbd02a93256f53fffd9b94ec39ff72daa1dd2",
      "parents": [
        "8647e0fb77a411edbe260fca8bab7f7d4d3d7655"
      ],
      "author": {
        "name": "Josh Triplett",
        "email": "josh@freedesktop.org",
        "time": "Tue Feb 12 08:21:35 2008 -0800"
      },
      "committer": {
        "name": "Josh Triplett",
        "email": "josh@freedesktop.org",
        "time": "Tue Feb 12 08:21:35 2008 -0800"
      },
      "message": "Add variant based on RCU and a sequence lock\n\nBased on the algorithm used in dcache.\n"
    },
    {
      "commit": "8647e0fb77a411edbe260fca8bab7f7d4d3d7655",
      "tree": "4d5a346255540a982b0ea4eec891bec17c13d6a7",
      "parents": [
        "b20ca38450e7d783ead31e24588f0bd7e47e8aa9"
      ],
      "author": {
        "name": "Josh Triplett",
        "email": "josh@freedesktop.org",
        "time": "Tue Jan 29 00:58:15 2008 -0800"
      },
      "committer": {
        "name": "Josh Triplett",
        "email": "josh@freedesktop.org",
        "time": "Tue Jan 29 00:58:15 2008 -0800"
      },
      "message": "Add new nosync_rcu_dereference variant\n"
    },
    {
      "commit": "b20ca38450e7d783ead31e24588f0bd7e47e8aa9",
      "tree": "63c461d841cc0d74055d0f734c875866360997f7",
      "parents": [
        "314debbf428061a26fd41ba43a8905831dc24b8d"
      ],
      "author": {
        "name": "Josh Triplett",
        "email": "josh@freedesktop.org",
        "time": "Sun Jan 13 05:59:58 2008 -0800"
      },
      "committer": {
        "name": "Josh Triplett",
        "email": "josh@freedesktop.org",
        "time": "Sun Jan 13 05:59:58 2008 -0800"
      },
      "message": "Use a local copy of the stats structures in the reader and writer functions\n\nThe reader and writer functions used their argument as a pointer to a\nstats structure, and wrote their stats to it directly in memory inside\nthe loop.  Use a local variables for stats structures instead and\nwrite out the statistics after the loop; this allows the compiler to\nkeep the statistics in registers.\n"
    },
    {
      "commit": "314debbf428061a26fd41ba43a8905831dc24b8d",
      "tree": "f6a0adaa88fe5be57494131a54b1846136f5725e",
      "parents": [
        "efa4af75d05d1d6dd88273eba6d761727f756361"
      ],
      "author": {
        "name": "Josh Triplett",
        "email": "josh@freedesktop.org",
        "time": "Sun Jan 13 04:49:10 2008 -0800"
      },
      "committer": {
        "name": "Josh Triplett",
        "email": "josh@freedesktop.org",
        "time": "Sun Jan 13 04:49:10 2008 -0800"
      },
      "message": "Add variant with no reader synchronization and no writers\n\nReaders need not synchronize at all if no writers exist.  Add a nosync\nreader and corresponding implementation.  Add a flag for the existence\nof a writer limit, so a limit of 0 no longer means unlimited.\n"
    },
    {
      "commit": "efa4af75d05d1d6dd88273eba6d761727f756361",
      "tree": "0039ba446258c01d7152769894fe1d5eae9a8123",
      "parents": [
        "075e734caa89ddff02df1c65e49258f3ff254058"
      ],
      "author": {
        "name": "Josh Triplett",
        "email": "josh@freedesktop.org",
        "time": "Mon Dec 10 10:10:42 2007 -0800"
      },
      "committer": {
        "name": "Josh Triplett",
        "email": "josh@freedesktop.org",
        "time": "Mon Dec 10 10:10:42 2007 -0800"
      },
      "message": "Add lock-based readers and corresponding writers\n"
    },
    {
      "commit": "075e734caa89ddff02df1c65e49258f3ff254058",
      "tree": "9511918b3a2cd81085f5b741d51360404c038449",
      "parents": [
        "50621841b9d25b22658b715deb2f2a141f6e0168"
      ],
      "author": {
        "name": "Josh Triplett",
        "email": "josh@freedesktop.org",
        "time": "Mon Dec 10 05:32:17 2007 -0800"
      },
      "committer": {
        "name": "Josh Triplett",
        "email": "josh@freedesktop.org",
        "time": "Mon Dec 10 05:32:17 2007 -0800"
      },
      "message": "Support multiple writers\n"
    },
    {
      "commit": "50621841b9d25b22658b715deb2f2a141f6e0168",
      "tree": "656049a208fac4db13fc108de2fb51a7717208a7",
      "parents": [
        "01e7cd19f949e4681a4294665eceef0f624b7d6c"
      ],
      "author": {
        "name": "Josh Triplett",
        "email": "josh@freedesktop.org",
        "time": "Mon Dec 10 04:42:26 2007 -0800"
      },
      "committer": {
        "name": "Josh Triplett",
        "email": "josh@freedesktop.org",
        "time": "Mon Dec 10 04:45:39 2007 -0800"
      },
      "message": "Add various kinds of write-side locks\n"
    },
    {
      "commit": "01e7cd19f949e4681a4294665eceef0f624b7d6c",
      "tree": "48cedf2a2121232004828158967364f5ae259f08",
      "parents": [
        "c17d645d14e56de60a5a773f78805080c4a5c714"
      ],
      "author": {
        "name": "Josh Triplett",
        "email": "josh@freedesktop.org",
        "time": "Sat Dec 08 03:55:45 2007 -0800"
      },
      "committer": {
        "name": "Josh Triplett",
        "email": "josh@freedesktop.org",
        "time": "Mon Dec 10 00:52:32 2007 -0800"
      },
      "message": "RCU hash benchmark\n"
    },
    {
      "commit": "c17d645d14e56de60a5a773f78805080c4a5c714",
      "tree": "03a08d0bf4e8d380d05d8e3d67232b7ac2bfd000",
      "parents": [],
      "author": {
        "name": "Josh Triplett",
        "email": "josh@freedesktop.org",
        "time": "Thu Mar 22 04:04:23 2007 -0700"
      },
      "committer": {
        "name": "Josh Triplett",
        "email": "josh@freedesktop.org",
        "time": "Thu Mar 22 04:04:23 2007 -0700"
      },
      "message": "Add test module for moving to end.\n\nSigned-off-by: Josh Triplett \u003cjosh@freedesktop.org\u003e\n"
    }
  ]
}
