)]}'
{
  "commit": "a87f736d942c86255e3088c606f0e3eab6bbf784",
  "tree": "74d3d63dca9fc982fcb7c165247d6924c021b4ef",
  "parents": [
    "c1475ca99edcc7216ddc45838ab2c3281c14ba22"
  ],
  "author": {
    "name": "Johannes Berg",
    "email": "johannes.berg@intel.com",
    "time": "Thu Jun 10 10:21:38 2010 +0200"
  },
  "committer": {
    "name": "John W. Linville",
    "email": "linville@tuxdriver.com",
    "time": "Mon Jun 14 15:39:27 2010 -0400"
  },
  "message": "mac80211: use RCU for RX aggregation\n\nCurrently we allocate some memory for each RX\naggregation session and additionally keep a\nflag indicating whether or not it is valid.\nBy using RCU to protect the pointer and making\nsure that the memory is fully set up before it\nbecomes visible to the RX path, we can remove\nthe need for the bool that indicates validity,\nas well as for locking on the RX path since it\nis always synchronised against itself, and we\ncan guarantee that all other modifications are\ndone when the structure is not visible to the\nRX path.\n\nThe net result is that since we remove locking\nrequirements from the RX path, we can in the\nfuture use any kind of lock for the setup and\nteardown code paths.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "6bb9a9a94960e9214e92f1debf023aa0ebb3b987",
      "old_mode": 33188,
      "old_path": "net/mac80211/agg-rx.c",
      "new_id": "bbf36d98023238b0d14977059b0dca63ce447032",
      "new_mode": 33188,
      "new_path": "net/mac80211/agg-rx.c"
    },
    {
      "type": "modify",
      "old_id": "576e024715e3ff6e8fa8708ed98a02fcbf3c588b",
      "old_mode": 33188,
      "old_path": "net/mac80211/debugfs_sta.c",
      "new_id": "95c1ea47ad359b1343a8aac32d6ac303bcacc201",
      "new_mode": 33188,
      "new_path": "net/mac80211/debugfs_sta.c"
    },
    {
      "type": "modify",
      "old_id": "84f11733b9fe1e6a08d96c13e5767414fd53d5b0",
      "old_mode": 33188,
      "old_path": "net/mac80211/rx.c",
      "new_id": "ee01daccacbb72ac84f933f4cdbac2afcb4137de",
      "new_mode": 33188,
      "new_path": "net/mac80211/rx.c"
    },
    {
      "type": "modify",
      "old_id": "786bbd3103b1c2f623bd596f754cb1254e29ea57",
      "old_mode": 33188,
      "old_path": "net/mac80211/sta_info.h",
      "new_id": "16864a6045b45ce43cee178df038bc8af4c6f281",
      "new_mode": 33188,
      "new_path": "net/mac80211/sta_info.h"
    }
  ]
}
