)]}'
{
  "log": [
    {
      "commit": "23bb57633df97ede067ea26f3cdc8a7ba2cd8109",
      "tree": "3aa9a25b17da84975691af7159b030f810560e38",
      "parents": [
        "c71e97bfaadfa727669fcfcf12301744fd169091"
      ],
      "author": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@nokia.com",
        "time": "Tue Dec 21 23:01:27 2010 +0200"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Wed Dec 22 22:58:07 2010 -0200"
      },
      "message": "Bluetooth: Fix __hci_request synchronization for hci_open_dev\n\nThe initialization function used by hci_open_dev (hci_init_req) sends\nmany different HCI commands. The __hci_request function should only\nreturn when all of these commands have completed (or a timeout occurs).\nSeveral of these commands cause hci_req_complete to be called which\ncauses __hci_request to return prematurely.\n\nThis patch fixes the issue by adding a new hdev-\u003ereq_last_cmd variable\nwhich is set during the initialization procedure. The hci_req_complete\nfunction will no longer mark the request as complete until the command\nmatching hdev-\u003ereq_last_cmd completes.\n\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@nokia.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "c71e97bfaadfa727669fcfcf12301744fd169091",
      "tree": "0a0a04dee5ec1aa16ef1a6e67a78a0d5a03c14c2",
      "parents": [
        "f7b64e69c7c75c8e9f2d5e23edec8de1ce883bcc"
      ],
      "author": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@nokia.com",
        "time": "Mon Dec 13 21:07:07 2010 +0200"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Wed Dec 22 22:58:00 2010 -0200"
      },
      "message": "Bluetooth: Add management events for controller addition \u0026 removal\n\nThis patch adds Bluetooth Management interface events for controller\naddition and removal. The events correspond to the existing HCI_DEV_REG\nand HCI_DEV_UNREG stack internal events.\n\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@nokia.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "f7b64e69c7c75c8e9f2d5e23edec8de1ce883bcc",
      "tree": "f13810db736718264f08717e9f0ba04fc2ac9da5",
      "parents": [
        "faba42eb2a8cf905ed26d540c3c93d429e327224"
      ],
      "author": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@nokia.com",
        "time": "Mon Dec 13 21:07:06 2010 +0200"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Wed Dec 22 22:57:51 2010 -0200"
      },
      "message": "Bluetooth: Add read_info management command\n\nThis patch implements the read_info command which is used to fetch basic\ninfo about an adapter.\n\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@nokia.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "faba42eb2a8cf905ed26d540c3c93d429e327224",
      "tree": "a9cf2411c9de333efcf1616f546865301a72615d",
      "parents": [
        "02d981292ad3149e8e5f37cffbccedab1a8576d8"
      ],
      "author": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@nokia.com",
        "time": "Mon Dec 13 21:07:05 2010 +0200"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Wed Dec 22 22:57:44 2010 -0200"
      },
      "message": "Bluetooth: Add read_index_list management command\n\nThis patch implements the read_index_list command through which\nuserspace can get a list of current adapter indices.\n\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@nokia.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "02d981292ad3149e8e5f37cffbccedab1a8576d8",
      "tree": "c28722fc51a0650c541ce10c8c188c5876881b73",
      "parents": [
        "e41d8b4e131a41f2a3b74aaa783b16aa46376d8e"
      ],
      "author": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@nokia.com",
        "time": "Mon Dec 13 21:07:04 2010 +0200"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Wed Dec 22 22:57:37 2010 -0200"
      },
      "message": "Bluetooth: Add read_version management command\n\nThis patch implements the initial read_version command that userspace\nwill use before any other management interface operations.\n\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@nokia.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "a40c406cbdd28dcca3483065bc2ba794cf5aaab7",
      "tree": "30c0242aea1c7a5acdaab1e7a4493ff5245e98fa",
      "parents": [
        "0381101fd6a73c7d6b545044dc1472d019fc64e3"
      ],
      "author": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@nokia.com",
        "time": "Wed Dec 08 00:21:07 2010 +0200"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Tue Dec 07 23:03:39 2010 -0200"
      },
      "message": "Bluetooth: Make hci_send_to_sock usable for management control sockets\n\nIn order to send data to management control sockets the function should:\n\n  - skip checks intended for raw HCI data and stack internal events\n  - make sure RAW HCI data or stack internal events don\u0027t go to\n    management control sockets\n\nIn order to accomplish this the patch adds a new member to the bluetooth\nskb private data to flag skb\u0027s that are destined for management control\nsockets.\n\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@nokia.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "0381101fd6a73c7d6b545044dc1472d019fc64e3",
      "tree": "8b7ec25d3e97e3bd7918135fa3fe3b29941e0db4",
      "parents": [
        "c02178d22b3ef2d18c38c96151600ee1c7ed94f0"
      ],
      "author": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@nokia.com",
        "time": "Wed Dec 08 00:21:06 2010 +0200"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Tue Dec 07 23:03:38 2010 -0200"
      },
      "message": "Bluetooth: Add initial Bluetooth Management interface callbacks\n\nAdd initial code for handling Bluetooth Management interface messages.\n\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@nokia.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nAcked-by: Andrei Emeltchenko \u003candrei.emeltchenko@nokia.com\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "c02178d22b3ef2d18c38c96151600ee1c7ed94f0",
      "tree": "a375c07e3977dcf295edb65bf404820e8af305c9",
      "parents": [
        "ff2109f5f94ff75f45e0c8d2d1d56fefdf20733f"
      ],
      "author": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@nokia.com",
        "time": "Wed Dec 08 00:21:05 2010 +0200"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Tue Dec 07 22:59:54 2010 -0200"
      },
      "message": "Bluetooth: Add Bluetooth Management interface definitions\n\nAdd initial definitions for the new Bluetooth Management interface to\nthe bluetooth headers.\n\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@nokia.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "c30ae138aa0570665725166679bdf4207041c8df",
      "tree": "06d887921a968298758e6b247a18b5f7cae449df",
      "parents": [
        "78b8595691c34478a51d1c2bcbbb0f6ec8a28247",
        "be21871f24b0fcd8d0d09c8090385c9cec80efa3"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Dec 02 15:17:46 2010 -0500"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Dec 02 15:17:46 2010 -0500"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/padovan/bluetooth-next-2.6\n"
    },
    {
      "commit": "547025d5d4d1056fb4b5a0c9c3c0d5c2fe22c082",
      "tree": "ded0de556e66d364f2b6b2345116bcb6e21c9016",
      "parents": [
        "c1927d7a8fab07171d08f7a3a8b7e5fe87bb70d4"
      ],
      "author": {
        "name": "Bruno Randolf",
        "email": "br1@einfach.org",
        "time": "Thu Dec 02 16:23:12 2010 +0900"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Dec 02 15:16:59 2010 -0500"
      },
      "message": "cfg80211: Add documentation for antenna ops\n\nThe last patch with the same title was for mac80211 ops, accidentally.\n\nSigned-off-by: Bruno Randolf \u003cbr1@einfach.org\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "be21871f24b0fcd8d0d09c8090385c9cec80efa3",
      "tree": "50c7674a8fffd7bf919de24a1fa0d1967c180319",
      "parents": [
        "70f23020e6d89155504b5b39f22505f4aec6fa6f"
      ],
      "author": {
        "name": "Andrei Emeltchenko",
        "email": "andrei.emeltchenko@nokia.com",
        "time": "Wed Dec 01 16:58:26 2010 +0200"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Wed Dec 01 21:04:43 2010 -0200"
      },
      "message": "Bluetooth: clean up legal text\n\nRemove extra spaces from legal text so that legal stuff looks\nthe same for all bluetooth code.\n\nSigned-off-by: Andrei Emeltchenko \u003candrei.emeltchenko@nokia.com\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "70f23020e6d89155504b5b39f22505f4aec6fa6f",
      "tree": "91fb41030acd0d2a2ca3e55be2373c5a70284d0c",
      "parents": [
        "894718a6be69d8cfd191dc291b42be32a1e4851b"
      ],
      "author": {
        "name": "Andrei Emeltchenko",
        "email": "andrei.emeltchenko@nokia.com",
        "time": "Wed Dec 01 16:58:25 2010 +0200"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Wed Dec 01 21:04:43 2010 -0200"
      },
      "message": "Bluetooth: clean up hci code\n\nDo not use assignment in IF condition, remove extra spaces,\nfixing typos, simplify code.\n\nSigned-off-by: Andrei Emeltchenko \u003candrei.emeltchenko@nokia.com\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "894718a6be69d8cfd191dc291b42be32a1e4851b",
      "tree": "47d814d0f4c9c8ac3de4ec4290422ea747ee5dd9",
      "parents": [
        "285b4e90318dcf421a00b2ac3fe8ab713f3281e3"
      ],
      "author": {
        "name": "Andrei Emeltchenko",
        "email": "andrei.emeltchenko@nokia.com",
        "time": "Wed Dec 01 16:58:24 2010 +0200"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Wed Dec 01 21:04:43 2010 -0200"
      },
      "message": "Bluetooth: clean up l2cap code\n\nDo not initialize static vars to zero, macros with complex values\nshall be enclosed with (), remove unneeded braces.\n\nSigned-off-by: Andrei Emeltchenko \u003candrei.emeltchenko@nokia.com\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "285b4e90318dcf421a00b2ac3fe8ab713f3281e3",
      "tree": "2f69b35603f0c68288e364cc41de96e502ee511b",
      "parents": [
        "735cbc4784a084b7a76c43c69f9dba683bb3b48b"
      ],
      "author": {
        "name": "Andrei Emeltchenko",
        "email": "andrei.emeltchenko@nokia.com",
        "time": "Wed Dec 01 16:58:23 2010 +0200"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Wed Dec 01 21:04:43 2010 -0200"
      },
      "message": "Bluetooth: clean up rfcomm code\n\nRemove extra spaces, assignments in if statement, zeroing static\nvariables, extra braces. Fix includes.\n\nSigned-off-by: Andrei Emeltchenko \u003candrei.emeltchenko@nokia.com\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "735cbc4784a084b7a76c43c69f9dba683bb3b48b",
      "tree": "75ba54305ab4e06fc7469761a0eb9b43ea9711a5",
      "parents": [
        "b78d7b4f204a6ba1901af36c95e10fded9816054"
      ],
      "author": {
        "name": "Andrei Emeltchenko",
        "email": "andrei.emeltchenko@nokia.com",
        "time": "Wed Dec 01 16:58:22 2010 +0200"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Wed Dec 01 21:04:43 2010 -0200"
      },
      "message": "Bluetooth: clean up sco code\n\nDo not use assignments in IF condition, remove extra spaces\n\nSigned-off-by: Andrei Emeltchenko \u003candrei.emeltchenko@nokia.com\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "20ed3166c84d145589a89d8cde12aa32cf2d17f4",
      "tree": "c6fa2fb5ce7ce1bd06f8787809c534b793813f28",
      "parents": [
        "4352fab5c2a1a602447d711c84d149bf2f0bc7ba"
      ],
      "author": {
        "name": "Johannes Stezenbach",
        "email": "js@sig21.net",
        "time": "Tue Nov 30 16:49:23 2010 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Nov 30 13:53:46 2010 -0500"
      },
      "message": "mac80211/rt2x00: add ieee80211_tx_status_ni()\n\nAll rt2x00 drivers except rt2800pci call ieee80211_tx_status() from\na workqueue, which causes \"NOHZ: local_softirq_pending 08\" messages.\n\nTo fix it, add ieee80211_tx_status_ni() similar to ieee80211_rx_ni()\nwhich can be called from process context, and call it from\nrt2x00lib_txdone().  For the rt2800pci special case a driver\nflag is introduced.\n\nSigned-off-by: Johannes Stezenbach \u003cjs@sig21.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "f7ca38dfe58c20cb1aa2ed9643187e8b194b5bae",
      "tree": "42db54588fd5fa769a16def75708117903577b40",
      "parents": [
        "9a67d761b39614c0495dcab9a204e21a9f4c4d31"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Nov 25 10:02:29 2010 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Nov 29 15:24:35 2010 -0500"
      },
      "message": "nl80211/cfg80211: extend mgmt-tx API for off-channel\n\nWith p2p, it is sometimes necessary to transmit\na frame (typically an action frame) on another\nchannel than the current channel. Enable this\nthrough the CMD_FRAME API, and allow it to wait\nfor a response. A new command allows that wait\nto be aborted.\n\nHowever, allow userspace to specify whether or\nnot it wants to allow off-channel TX, it may\nactually want to use the same channel only.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "c063dbf52b998b852122dff07a8b8dd430b38437",
      "tree": "b27cc73fa8a1d9ed8fb5b0a1306e8194e18662a9",
      "parents": [
        "79b1c460a0b55e55981c25c56597c4d5d2872de3"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Wed Nov 24 08:10:05 2010 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Nov 24 16:19:36 2010 -0500"
      },
      "message": "cfg80211: allow using CQM event to notify packet loss\n\nThis adds the ability for drivers to use CQM events\nto notify about packet loss for specific stations\n(which could be the AP for the managed mode case).\nSince the threshold might be determined by the\ndriver (it isn\u0027t passed in right now) it will be\npassed out of the driver to userspace in the event.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "79b1c460a0b55e55981c25c56597c4d5d2872de3",
      "tree": "aa146ddc5db00e1bad9f61ee4ca5c91fce55debd",
      "parents": [
        "48124d1a91fb77defc9734b4556350d59671fb2c"
      ],
      "author": {
        "name": "Bruno Randolf",
        "email": "br1@einfach.org",
        "time": "Wed Nov 24 14:34:41 2010 +0900"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Nov 24 16:19:36 2010 -0500"
      },
      "message": "cfg80211: Add documentation for antenna ops\n\nSigned-off-by: Bruno Randolf \u003cbr1@einfach.org\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "dd5b4cc71cd09c33e1579cc6d5720656e94e52de",
      "tree": "86a27c86480109d9b6bbedddc083095035fbef2d",
      "parents": [
        "46090979a55a0dc2cdb3d939f94fa47742108194"
      ],
      "author": {
        "name": "Felix Fietkau",
        "email": "nbd@openwrt.org",
        "time": "Mon Nov 22 20:58:24 2010 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Nov 24 16:19:35 2010 -0500"
      },
      "message": "cfg80211/mac80211: improve ad-hoc multicast rate handling\n\n- store the multicast rate as an index instead of the rate value\n  (reduces cpu overhead in a hotpath)\n- validate the rate values (must match a bitrate in at least one sband)\n\nSigned-off-by: Felix Fietkau \u003cnbd@openwrt.org\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "d7a066c92394f3e777351de0c903beeb8a08af76",
      "tree": "f54ce8ac77d32b4c3166b4a2ca92525174a3213b",
      "parents": [
        "ccb14354017272ddac002e859a2711610b6af174",
        "e476a5a41ad67d0e2b4a652820c49a3923eb936b"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Nov 24 16:19:24 2010 -0500"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Nov 24 16:19:24 2010 -0500"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6\n"
    },
    {
      "commit": "ccb14354017272ddac002e859a2711610b6af174",
      "tree": "fa39f9b944508e596763c49b0088dc1cc2e263ca",
      "parents": [
        "f8afa42b01c7a9f45b7cbaadb0481a0eeb96f18d"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Nov 24 16:18:36 2010 -0500"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Nov 24 16:18:36 2010 -0500"
      },
      "message": "Revert \"nl80211/mac80211: Report signal average\"\n\nThis reverts commit 86107fd170bc379869250eb7e1bd393a3a70e8ae.\n\nThis patch inadvertantly changed the userland ABI.\n\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "b2e253cf300c5e33f49b7dd8b593bfc722177401",
      "tree": "0da4d4121996f7869b0ce5ac469c6dd5e7c7beaa",
      "parents": [
        "b0e2880b0518ad11af20c7c93ec5cac93f9f03b0"
      ],
      "author": {
        "name": "Luis R. Rodriguez",
        "email": "lrodriguez@atheros.com",
        "time": "Wed Nov 17 21:46:09 2010 -0800"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Nov 22 15:48:51 2010 -0500"
      },
      "message": "cfg80211: Fix regulatory bug with multiple cards and delays\n\nWhen two cards are connected with the same regulatory domain\nif CRDA had a delayed response then cfg80211\u0027s own set regulatory\ndomain would still be the world regulatory domain. There was a bug\non cfg80211\u0027s logic such that it assumed that once you pegged a\nrequest as the last request it was already the currently set\nregulatory domain. This would mean we would race setting a stale\nregulatory domain to secondary cards which had the same regulatory\ndomain since the alpha2 would match.\n\nWe fix this by processing each regulatory request atomically,\nand only move on to the next one once we get it fully processed.\nIn the case CRDA is not present we will simply world roam.\n\nThis issue is only present when you have a slow system and the\nCRDA processing is delayed. Because of this it is not a known\nregression.\n\nWithout this fix when a delay is present with CRDA the second card\nwould end up with an intersected regulatory domain and not allow it\nto use the channels it really is designed for. When two cards with\ntwo different regulatory domains were inserted you\u0027d end up\nrejecting the second card\u0027s regulatory domain request.\nThis fails with mac80211_hswim\u0027s regtest\u003d2 (two requests, same alpha2)\nand regtest\u003d3 (two requests, different alpha2) module parameter\noptions.\n\nThis was reproduced and tested against mac80211_hwsim using this\nCRDA delayer:\n\n       #!/bin/bash\n       echo $COUNTRY \u003e\u003e /tmp/log\n       sleep 2\n       /sbin/crda.orig\n\nAnd these regulatory tests:\n\n       modprobe mac80211_hwsim regtest\u003d2\n       modprobe mac80211_hwsim regtest\u003d3\n\nReported-by: Mark Mentovai \u003cmark@moxienet.com\u003e\nSigned-off-by: Luis R. Rodriguez \u003clrodriguez@atheros.com\u003e\nTested-by: Mark Mentovai \u003cmark@moxienet.com\u003e\nTested-by: Bruno Randolf \u003cbr1@einfach.org\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "86107fd170bc379869250eb7e1bd393a3a70e8ae",
      "tree": "579ee24be87e94246450420f4de57d8eda942848",
      "parents": [
        "eef39befaae2a1559efe197d795c376a317af2af"
      ],
      "author": {
        "name": "Bruno Randolf",
        "email": "br1@einfach.org",
        "time": "Tue Nov 16 10:58:48 2010 +0900"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Nov 18 14:22:20 2010 -0500"
      },
      "message": "nl80211/mac80211: Report signal average\n\nExtend nl80211 to report an exponential weighted moving average (EWMA) of the\nsignal value. Since the signal value usually fluctuates between different\npackets, an average can be more useful than the value of the last packet.\n\nThis uses the recently added generic EWMA library function.\n\nSigned-off-by: Bruno Randolf \u003cbr1@einfach.org\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "4bce22b9b84032c77c7e038b07b24fcc706dfc10",
      "tree": "3c4ee91f19ca703d98956d8aa9f352df8ca10505",
      "parents": [
        "488f6ba75b5deaa7e89d6cdac07e0f2120899b6f"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Tue Nov 16 11:49:58 2010 -0800"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Nov 17 16:19:31 2010 -0500"
      },
      "message": "mac80211: defines for AC numbers\n\nIn many places we\u0027ve just hardcoded the\nAC numbers -- which is a relic from the\noriginal mac80211 (d80211). Add constants\nfor them so we know what we\u0027re talking\nabout.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "8f0729b16ae354f9db89394fc1d2d65003455d56",
      "tree": "260a562d0c0079ebfc1c507c9aa50e55a1592b6d",
      "parents": [
        "885a46d0f7942d76c2f3860acb45f75237d3bb42"
      ],
      "author": {
        "name": "Felix Fietkau",
        "email": "nbd@openwrt.org",
        "time": "Thu Nov 11 15:07:23 2010 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Nov 16 16:39:08 2010 -0500"
      },
      "message": "mac80211: add support for setting the ad-hoc multicast rate\n\nSigned-off-by: Felix Fietkau \u003cnbd@openwrt.org\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "885a46d0f7942d76c2f3860acb45f75237d3bb42",
      "tree": "f116fcc9b8204f7a113693e307de76e4098ebb36",
      "parents": [
        "a619a4c0e1fd4e8c360c63d0df3fa0a401107d69"
      ],
      "author": {
        "name": "Felix Fietkau",
        "email": "nbd@openwrt.org",
        "time": "Thu Nov 11 15:07:22 2010 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Nov 16 16:39:08 2010 -0500"
      },
      "message": "cfg80211: add support for setting the ad-hoc multicast rate\n\nSigned-off-by: Felix Fietkau \u003cnbd@openwrt.org\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "a619a4c0e1fd4e8c360c63d0df3fa0a401107d69",
      "tree": "c9eb89d30834140f252c77bdf578528b11716678",
      "parents": [
        "4e8c14e9587c38f4cce8049c766935629fdb8d46"
      ],
      "author": {
        "name": "Juuso Oikarinen",
        "email": "juuso.oikarinen@nokia.com",
        "time": "Thu Nov 11 08:50:18 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Nov 16 16:37:08 2010 -0500"
      },
      "message": "mac80211: Add function to get probe request template for current AP\n\nChipsets with hardware based connection monitoring need to autonomically\nsend directed probe-request frames to the AP (in the event of beacon loss,\nfor example.)\n\nFor the hardware to be able to do this, it requires a template for the frame\nto transmit to the AP, filled in with the BSSID and SSID of the AP, but also\nthe supported rate IE\u0027s.\n\nThis patch adds a function to mac80211, which allows the hardware driver to\nfetch this template after association, so it can be configured to the hardware.\n\nSigned-off-by: Juuso Oikarinen \u003cjuuso.oikarinen@nokia.com\u003e\nAcked-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "15d967532148a5fcda075282b82a271b6595a386",
      "tree": "e1913502e74768e685f6793b1d24426ac849b1da",
      "parents": [
        "afe0cbf87500f0585d217deb8c6fd329793a7957"
      ],
      "author": {
        "name": "Bruno Randolf",
        "email": "br1@einfach.org",
        "time": "Wed Nov 10 12:50:56 2010 +0900"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Nov 16 16:37:05 2010 -0500"
      },
      "message": "mac80211: Add antenna configuration\n\nAllow antenna configuration by calling driver\u0027s function for it.\n\nWe disallow antenna configuration if the wiphy is already running, mainly to\nmake life easier for 802.11n drivers which need to recalculate HT capabilites.\n\nSigned-off-by: Bruno Randolf \u003cbr1@einfach.org\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "afe0cbf87500f0585d217deb8c6fd329793a7957",
      "tree": "a7e4f6db468e623961ab2b71ccf2bfb9c6756894",
      "parents": [
        "0e67d6cb753643fc076a90fa9309301b3fbfb8db"
      ],
      "author": {
        "name": "Bruno Randolf",
        "email": "br1@einfach.org",
        "time": "Wed Nov 10 12:50:50 2010 +0900"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Nov 16 16:37:05 2010 -0500"
      },
      "message": "cfg80211: Add nl80211 antenna configuration\n\nAllow setting of TX and RX antennas configuration via nl80211.\n\nThe antenna configuration is defined as a bitmap of allowed antennas to use.\nThis API can be used to mask out antennas which are not attached or should not\nbe used for other reasons like regulatory concerns or special setups.\n\nSeparate bitmaps are used for RX and TX to allow configuring different antennas\nfor receiving and transmitting. Each bitmap is 32 bit long, each bit\nrepresenting one antenna, starting with antenna 1 at the first bit. If an\nantenna bit is set, this means the driver is allowed to use this antenna for RX\nor TX respectively; if the bit is not set the hardware is not allowed to use\nthis antenna.\n\nUsing bitmaps has the benefit of allowing for a flexible configuration\ninterface which can support many different configurations and which can be used\nfor 802.11n as well as non-802.11n devices. Instead of relying on some hardware\nspecific assumptions, drivers can use this information to know which antennas\nare actually attached to the system and derive their capabilities based on\nthat.\n\n802.11n devices should enable or disable chains, based on which antennas are\npresent (If all antennas belonging to a particular chain are disabled, the\nentire chain should be disabled). HT capabilities (like STBC, TX Beamforming,\nAntenna selection) should be calculated based on the available chains after\napplying the antenna masks. Should a 802.11n device have diversity antennas\nattached to one of their chains, diversity can be enabled or disabled based on\nthe antenna information.\n\nNon-802.11n drivers can use the antenna masks to select RX and TX antennas and\nto enable or disable antenna diversity.\n\nWhile covering chainmasks for 802.11n and the standard \"legacy\" modes \"fixed\nantenna 1\", \"fixed antenna 2\" and \"diversity\" this API also allows more rare,\nbut useful configurations as follows:\n\n1) Send on antenna 1, receive on antenna 2 (or vice versa). This can be used to\nhave a low gain antenna for TX in order to keep within the regulatory\nconstraints and a high gain antenna for RX in order to receive weaker signals\n(\"speak softly, but listen harder\"). This can be useful for building long-shot\noutdoor links. Another usage of this setup is having a low-noise pre-amplifier\non antenna 1 and a power amplifier on the other antenna. This way transmit\nnoise is mostly kept out of the low noise receive channel.\n(This would be bitmaps: tx 1 rx 2).\n\n2) Another similar setup is: Use RX diversity on both antennas, but always send\non antenna 1. Again that would allow us to benefit from a higher gain RX\nantenna, while staying within the legal limits.\n(This would be: tx 0 rx 3).\n\n3) And finally there can be special experimental setups in research and\ndevelopment even with pre 802.11n hardware where more than 2 antennas are\navailable. It\u0027s good to keep the API simple, yet flexible.\n\nSigned-off-by: Bruno Randolf \u003cbr1@einfach.org\u003e\n\n--\nv7:\tMade bitmasks 32 bit wide and rebased to latest wireless-testing.\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "f23a478075659db8a4fd62fa6e264a8bb052cc5b",
      "tree": "ba1492a4a781770644359b88e8ca2d8d3a00adc2",
      "parents": [
        "ca4a0831917d6541b45f03542257fcb20dc9cf4a"
      ],
      "author": {
        "name": "Arik Nemtsov",
        "email": "arik@wizery.com",
        "time": "Mon Nov 08 11:51:06 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Nov 16 16:37:04 2010 -0500"
      },
      "message": "mac80211: support hardware TX fragmentation offload\n\nThe lower driver is notified when the fragmentation threshold changes\nand upon a reconfig of the interface.\n\nIf the driver supports hardware TX fragmentation, don\u0027t fragment\npackets in the stack.\n\nSigned-off-by: Arik Nemtsov \u003carik@wizery.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "309075cf08ed92a7d2c0e22b7653c5daabbd7ad1",
      "tree": "65b181daa85a0b7e92460a1f71139ff50de07eb4",
      "parents": [
        "62370e2b9376ea7b76e0423de28ccb322c17e2da"
      ],
      "author": {
        "name": "Jussi Kivilinna",
        "email": "jussi.kivilinna@mbnet.fi",
        "time": "Fri Nov 12 08:53:56 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Nov 15 15:00:42 2010 -0500"
      },
      "message": "cfg80211: fix WIPHY_FLAG_IBSS_RSN bit\n\nWIPHY_FLAG_IBSS_RSN is BIT(7) as is WIPHY_FLAG_CONTROL_PORT_PROTOCOL. Change\nto BIT(8).\n\nSigned-off-by: Jussi Kivilinna \u003cjussi.kivilinna@mbnet.fi\u003e\nAcked-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "62370e2b9376ea7b76e0423de28ccb322c17e2da",
      "tree": "9c931b3bc1b5f1ef5b681de3cf567bda783e61a7",
      "parents": [
        "7379efeacb707f49729080791a7a562d8996aec4"
      ],
      "author": {
        "name": "Arnd Hannemann",
        "email": "arnd@arndnet.de",
        "time": "Thu Nov 11 11:44:32 2010 -0600"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Nov 15 15:00:42 2010 -0500"
      },
      "message": "b43legacy: Fix compile on ARM architecture\n\nWhen b43legacy is compiled on the arm platform, the following errors are seen:\n\n  CC [M]  drivers/net/wireless/b43legacy/xmit.o\nIn file included from include/net/dst.h:11,\nfrom drivers/net/wireless/b43legacy/xmit.c:31:\ninclude/net/dst_ops.h:28: error: expected \u0027:\u0027, \u0027,\u0027, \u0027;\u0027, \u0027}\u0027 or \u0027__attribute__\u0027\n   before \u0027____cacheline_aligned_in_smp\u0027\ninclude/net/dst_ops.h: In function \u0027dst_entries_get_fast\u0027:\ninclude/net/dst_ops.h:33: error: \u0027struct dst_ops\u0027 has no member named\n   \u0027pcpuc_entries\u0027\ninclude/net/dst_ops.h: In function \u0027dst_entries_get_slow\u0027:\ninclude/net/dst_ops.h:41: error: \u0027struct dst_ops\u0027 has no member named\n   \u0027pcpuc_entries\u0027\ninclude/net/dst_ops.h: In function \u0027dst_entries_add\u0027:\ninclude/net/dst_ops.h:49: error: \u0027struct dst_ops\u0027 has no member named\n   \u0027pcpuc_entries\u0027\ninclude/net/dst_ops.h: In function \u0027dst_entries_init\u0027:\ninclude/net/dst_ops.h:55: error: \u0027struct dst_ops\u0027 has no member named\n   \u0027pcpuc_entries\u0027\ninclude/net/dst_ops.h: In function \u0027dst_entries_destroy\u0027:\ninclude/net/dst_ops.h:60: error: \u0027struct dst_ops\u0027 has no member named\n   \u0027pcpuc_entries\u0027\nmake[4]: *** [drivers/net/wireless/b43legacy/xmit.o] Error 1\nmake[3]: *** [drivers/net/wireless/b43legacy] Error 2\nmake[2]: *** [drivers/net/wireless] Error 2\nmake[1]: *** [drivers/net] Error 2\nmake: *** [drivers] Error 2\n\nThe cause is a missing include of \u003clinux/cache.h\u003e, which is present for\ni386 and x86_64 architectures, but not for arm.\n\nSigned-off-by: Arnd Hannemann \u003carnd@arndnet.de\u003e\nSigned-off-by: Larry Finger \u003cLarry.Finger@lwfinger.net\u003e\nCc: Stable \u003cstable@kernel.org\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "749b527b21465fb079796c03ffb4302584dc31c1",
      "tree": "07269dcd8f82d163c3d7195d536f61b768da6c58",
      "parents": [
        "7ca43d03b1291481bdf894bbaec5d580e7684e7d"
      ],
      "author": {
        "name": "Luis R. Rodriguez",
        "email": "lrodriguez@atheros.com",
        "time": "Wed Oct 20 10:18:54 2010 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Nov 15 13:24:09 2010 -0500"
      },
      "message": "cfg80211: fix allowing country IEs for WIPHY_FLAG_STRICT_REGULATORY\n\nWe should be enabling country IE hints for WIPHY_FLAG_STRICT_REGULATORY\neven if we haven\u0027t yet recieved regulatory domain hint for the driver\nif it needed one. Without this Country IEs are not passed on to drivers\nthat have set WIPHY_FLAG_STRICT_REGULATORY, today this is just all\nAtheros chipset drivers: ath5k, ath9k, ar9170, carl9170.\n\nThis was part of the original design, however it was completely\noverlooked...\n\nCc: Easwar Krishnan \u003ceaswar.krishnan@atheros.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Luis R. Rodriguez \u003clrodriguez@atheros.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "1840897ab5d39b2e510c610ee262ded79919e718",
      "tree": "0b7fe95e3eda357d35b0d017f2b678b652307827",
      "parents": [
        "d56f84e7e317c69adefb2454a3d538a6d7e11e4b",
        "a4765fa7bfb92d5b9de19a503674b6624f95a7ae"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 29 14:17:12 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 29 14:17:12 2010 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (34 commits)\n  b43: Fix warning at drivers/mmc/core/core.c:237 in mmc_wait_for_cmd\n  mac80211: fix failure to check kmalloc return value in key_key_read\n  libertas: Fix sd8686 firmware reload\n  ath9k: Fix incorrect access of rate flags in RC\n  netfilter: xt_socket: Make tproto signed in socket_mt6_v1().\n  stmmac: enable/disable rx/tx in the core with a single write.\n  net: atarilance - flags should be unsigned long\n  netxen: fix kdump\n  pktgen: Limit how much data we copy onto the stack.\n  net: Limit socket I/O iovec total length to INT_MAX.\n  USB: gadget: fix ethernet gadget crash in gether_setup\n  fib: Fix fib zone and its hash leak on namespace stop\n  cxgb3: Fix panic in free_tx_desc()\n  cxgb3: fix crash due to manipulating queues before registration\n  8390: Don\u0027t oops on starting dev queue\n  dccp ccid-2: Stop polling\n  dccp: Refine the wait-for-ccid mechanism\n  dccp: Extend CCID packet dequeueing interface\n  dccp: Return-value convention of hc_tx_send_packet()\n  igbvf: fix panic on load\n  ...\n"
    },
    {
      "commit": "4aa2c466a7733af093a526e9d1cdd0b3b90d47e9",
      "tree": "093d99b6c728867a8eb9548463d94661e3d0799e",
      "parents": [
        "b1424ed91076db0b19ba4141856150df9b717dde"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@parallels.com",
        "time": "Thu Oct 28 02:00:43 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 28 10:27:03 2010 -0700"
      },
      "message": "fib: Fix fib zone and its hash leak on namespace stop\n\nWhen we stop a namespace we flush the table and free one, but the\nadded fn_zone-s (and their hashes if grown) are leaked. Need to free.\nTries releases all its stuff in the flushing code.\n\nShame on us - this bug exists since the very first make-fib-per-net\npatches in 2.6.27 :(\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b165d60145b717261a0234f989c442c2b68b6ec0",
      "tree": "024f9f2c71ff85a806ed47cbbf451edeaa7111a5",
      "parents": [
        "7b3bb3fe166702b504f1068359c9550d3b277eaf"
      ],
      "author": {
        "name": "Venkateswararao Jujjuri (JV)",
        "email": "jvrao@linux.vnet.ibm.com",
        "time": "Fri Oct 22 10:13:12 2010 -0700"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Thu Oct 28 09:08:49 2010 -0500"
      },
      "message": "9p: Add datasync to client side TFSYNC/RFSYNC for dotl\n\nSYNOPSIS\n    size[4] Tfsync tag[2] fid[4] datasync[4]\n\n    size[4] Rfsync tag[2]\n\nDESCRIPTION\n\n    The Tfsync transaction transfers (\"flushes\") all modified in-core data of\n    file identified by fid to the disk device (or other  permanent  storage\n    device)  where that  file  resides.\n\n    If datasync flag is specified data will be fleshed but does not flush\n    modified metadata unless  that  metadata  is  needed  in order to allow a\n    subsequent data retrieval to be correctly handled.\n\nSigned-off-by: Venkateswararao Jujjuri \u003cjvrao@linux.vnet.ibm.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "329176cc2c50e63c580ddaabb385876db5af1360",
      "tree": "c7a95364c6339f75d37e1b63890d94114cd1935e",
      "parents": [
        "368c09d2a303c39e9f37193b23e945e6754cf0a7"
      ],
      "author": {
        "name": "M. Mohan Kumar",
        "email": "mohan@in.ibm.com",
        "time": "Tue Sep 28 19:59:25 2010 +0530"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Thu Oct 28 09:08:48 2010 -0500"
      },
      "message": "9p: Implement TREADLINK operation for 9p2000.L\n\nSynopsis\n\n\tsize[4] TReadlink tag[2] fid[4]\n\tsize[4] RReadlink tag[2] target[s]\n\nDescription\n\tReadlink is used to return the contents of the symoblic link\n        referred by fid. Contents of symboic link is returned as a\n        response.\n\n\ttarget[s] - Contents of the symbolic link referred by fid.\n\nSigned-off-by: M. Mohan Kumar \u003cmohan@in.ibm.com\u003e\nReviewed-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Venkateswararao Jujjuri \u003cjvrao@linux.vnet.ibm.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "1d769cd192fc8c4097b1e2cd41fdee6ba3d1b2af",
      "tree": "16fd71ff9178bbfe144a28a2e168c85fb541a11b",
      "parents": [
        "a099027c779068b834f335cfdc3f2bf10f531dd9"
      ],
      "author": {
        "name": "M. Mohan Kumar",
        "email": "mohan@in.ibm.com",
        "time": "Mon Sep 27 12:22:13 2010 +0530"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Thu Oct 28 09:08:47 2010 -0500"
      },
      "message": "9p: Implement TGETLOCK\n\nSynopsis\n\n    size[4] TGetlock tag[2] fid[4] getlock[n]\n    size[4] RGetlock tag[2] getlock[n]\n\nDescription\n\nTGetlock is used to test for the existence of byte range posix locks on a file\nidentified by given fid. The reply contains getlock structure. If the lock could\nbe placed it returns F_UNLCK in type field of getlock structure.  Otherwise it\nreturns the details of the conflicting locks in the getlock structure\n\n    getlock structure:\n      type[1] - Type of lock: F_RDLCK, F_WRLCK\n      start[8] - Starting offset for lock\n      length[8] - Number of bytes to check for the lock\n             If length is 0, check for lock in all bytes starting at the location\n            \u0027start\u0027 through to the end of file\n      pid[4] - PID of the process that wants to take lock/owns the task\n               in case of reply\n      client[4] - Client id of the system that owns the process which\n                  has the conflicting lock\n\nSigned-off-by: M. Mohan Kumar \u003cmohan@in.ibm.com\u003e\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Venkateswararao Jujjuri \u003cjvrao@linux.vnet.ibm.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "a099027c779068b834f335cfdc3f2bf10f531dd9",
      "tree": "eee43443cce85a03c13b1cfdd25bf451445cf78f",
      "parents": [
        "920e65dc6911da28a58e17f4b683302636fc6d8e"
      ],
      "author": {
        "name": "M. Mohan Kumar",
        "email": "mohan@in.ibm.com",
        "time": "Mon Sep 27 11:34:24 2010 +0530"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Thu Oct 28 09:08:47 2010 -0500"
      },
      "message": "9p: Implement TLOCK\n\nSynopsis\n\n    size[4] TLock tag[2] fid[4] flock[n]\n    size[4] RLock tag[2] status[1]\n\nDescription\n\nTlock is used to acquire/release byte range posix locks on a file\nidentified by given fid. The reply contains status of the lock request\n\n    flock structure:\n        type[1] - Type of lock: F_RDLCK, F_WRLCK, F_UNLCK\n        flags[4] - Flags could be either of\n          P9_LOCK_FLAGS_BLOCK - Blocked lock request, if there is a\n            conflicting lock exists, wait for that lock to be released.\n          P9_LOCK_FLAGS_RECLAIM - Reclaim lock request, used when client is\n            trying to reclaim a lock after a server restrart (due to crash)\n        start[8] - Starting offset for lock\n        length[8] - Number of bytes to lock\n          If length is 0, lock all bytes starting at the location \u0027start\u0027\n          through to the end of file\n        pid[4] - PID of the process that wants to take lock\n        client_id[4] - Unique client id\n\n        status[1] - Status of the lock request, can be\n          P9_LOCK_SUCCESS(0), P9_LOCK_BLOCKED(1), P9_LOCK_ERROR(2) or\n          P9_LOCK_GRACE(3)\n          P9_LOCK_SUCCESS - Request was successful\n          P9_LOCK_BLOCKED - A conflicting lock is held by another process\n          P9_LOCK_ERROR - Error while processing the lock request\n          P9_LOCK_GRACE - Server is in grace period, it can\u0027t accept new lock\n            requests in this period (except locks with\n            P9_LOCK_FLAGS_RECLAIM flag set)\n\nSigned-off-by: M. Mohan Kumar \u003cmohan@in.ibm.com\u003e\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Venkateswararao Jujjuri \u003cjvrao@linux.vnet.ibm.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "920e65dc6911da28a58e17f4b683302636fc6d8e",
      "tree": "761280ee48576a45d13df5df685ea6b9da7fd775",
      "parents": [
        "b04faaf3717307cd976a15667c8c24161c1d24ef"
      ],
      "author": {
        "name": "Venkateswararao Jujjuri (JV)",
        "email": "jvrao@linux.vnet.ibm.com",
        "time": "Wed Sep 22 17:19:19 2010 -0700"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Thu Oct 28 09:08:47 2010 -0500"
      },
      "message": "[9p] Introduce client side TFSYNC/RFSYNC for dotl.\n\nSYNOPSIS\n    size[4] Tfsync tag[2] fid[4]\n\n    size[4] Rfsync tag[2]\n\nDESCRIPTION\n\nThe Tfsync transaction transfers (\"flushes\") all modified in-core data of\nfile identified by fid to the disk device (or other  permanent  storage\ndevice)  where that  file  resides.\n\nSigned-off-by: Venkateswararao Jujjuri \u003cjvrao@linux.vnet.ibm.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "4f7ebe807242898ee08ed732d56982874442c304",
      "tree": "25d8cec6b3a487fb9b44b3af20179a6f7b5db36d",
      "parents": [
        "7c7298cffc8f4417c95117c2a432f962c066499d"
      ],
      "author": {
        "name": "Arun R Bharadwaj",
        "email": "arun@linux.vnet.ibm.com",
        "time": "Wed Jul 28 14:17:26 2010 +0530"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Thu Oct 28 09:08:45 2010 -0500"
      },
      "message": "net/9p: This patch implements TLERROR/RLERROR on the 9P client.\n\nSigned-off-by: Arun R Bharadwaj \u003carun@linux.vnet.ibm.com\u003e\nSigned-off-by: Venkateswararao Jujjuri \u003cjvrao@linux.vnet.ibm.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "a10c02036f82b1fa30d69a62f7c7d9a927e8adbc",
      "tree": "c7435bd8023305fe708a91912aa6d49c68032e90",
      "parents": [
        "4101e976e0376a1820ae55adf8bca7dda5089a7d"
      ],
      "author": {
        "name": "Amarnath Revanna",
        "email": "amarnath.bangalore.revanna@stericsson.com",
        "time": "Wed Oct 27 08:34:39 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 27 12:29:51 2010 -0700"
      },
      "message": "caif-u5500: Adding shared memory include\n\nSigned-off-by: Sjur Braendeland \u003csjur.brandeland@stericsson.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b914c4ea929a4ba6fb97967800dc473c31552b98",
      "tree": "630f7c81d82e580e5aa5164c0e4cf1d0dadca3ba",
      "parents": [
        "7a2b03c5175e9ddcc2a2d48ca86dea8a88b68383"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Oct 25 23:55:38 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 27 11:37:33 2010 -0700"
      },
      "message": "inetpeer: __rcu annotations\n\nAdds __rcu annotations to inetpeer\n\t(struct inet_peer)-\u003eavl_left\n\t(struct inet_peer)-\u003eavl_right\n\nThis is a tedious cleanup, but removes one smp_wmb() from link_to_pool()\nsince we now use more self documenting rcu_assign_pointer().\n\nNote the use of RCU_INIT_POINTER() instead of rcu_assign_pointer() in\nall cases we dont need a memory barrier.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7a2b03c5175e9ddcc2a2d48ca86dea8a88b68383",
      "tree": "ccc580891d9d17e2482e2f3db2b2c8cf80bdf773",
      "parents": [
        "b33eab08445d86c3d0dec3111ce10df561328705"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Oct 26 09:24:55 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 27 11:37:32 2010 -0700"
      },
      "message": "fib_rules: __rcu annotates ctarget\n\nAdds __rcu annotation to (struct fib_rule)-\u003ectarget\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b33eab08445d86c3d0dec3111ce10df561328705",
      "tree": "381a37141d4da9cf6cb3a8c8c37c6363d856f8e4",
      "parents": [
        "e0ad61ec867fdd262804afa7a68e11fc9930c2b9"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Oct 25 21:01:26 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 27 11:37:32 2010 -0700"
      },
      "message": "tunnels: add __rcu annotations\n\nAdd __rcu annotations to :\n        (struct ip_tunnel)-\u003eprl\n        (struct ip_tunnel_prl_entry)-\u003enext\n        (struct xfrm_tunnel)-\u003enext\n\tstruct xfrm_tunnel *tunnel4_handlers\n\tstruct xfrm_tunnel *tunnel64_handlers\n\nAnd use appropriate rcu primitives to reduce sparse warnings if\nCONFIG_SPARSE_RCU_POINTER\u003dy\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e0ad61ec867fdd262804afa7a68e11fc9930c2b9",
      "tree": "f59451cdfa2086757e55b18b87167b0fef3de2c1",
      "parents": [
        "1c31720a74e19bb57f301350a3b03210fa2ba9e3"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Oct 25 21:02:28 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 27 11:37:31 2010 -0700"
      },
      "message": "net: add __rcu annotations to protocol\n\nAdd __rcu annotations to :\n        struct net_protocol *inet_protos\n        struct net_protocol *inet6_protos\n\nAnd use appropriate casts to reduce sparse warnings if\nCONFIG_SPARSE_RCU_POINTER\u003dy\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1c31720a74e19bb57f301350a3b03210fa2ba9e3",
      "tree": "053f29ffa53383eb003ac632971f31e1643ef1d9",
      "parents": [
        "c1b60092cf307fef12f793abf7cf8167e26a6ccf"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Oct 25 21:02:07 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 27 11:37:31 2010 -0700"
      },
      "message": "ipv4: add __rcu annotations to routes.c\n\nAdd __rcu annotations to :\n        (struct dst_entry)-\u003ert_next\n        (struct rt_hash_bucket)-\u003echain\n\nAnd use appropriate rcu primitives to reduce sparse warnings if\nCONFIG_SPARSE_RCU_POINTER\u003dy\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "43a951e9994fd218ab4e641f94a2fc53556c3675",
      "tree": "497fe39185131f1d729c980c264562ff5cab86e8",
      "parents": [
        "0d7da9ddd9a4eb7808698d04b98bf9d62d02649b"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Oct 25 03:32:44 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 25 14:18:28 2010 -0700"
      },
      "message": "ipv4: add __rcu annotations to ip_ra_chain\n\nAdd __rcu annotations to :\n        (struct ip_ra_chain)-\u003enext\n\tstruct ip_ra_chain *ip_ra_chain;\n\nAnd use appropriate rcu primitives.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0d7da9ddd9a4eb7808698d04b98bf9d62d02649b",
      "tree": "b170122c08d47be35a056782be54573ba19fe0b0",
      "parents": [
        "1c87733d0682547050ccccb400cdac425fa43b39"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Oct 25 03:47:05 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 25 14:18:28 2010 -0700"
      },
      "message": "net: add __rcu annotation to sk_filter\n\nAdd __rcu annotation to :\n        (struct sock)-\u003esk_filter\n\nAnd use appropriate rcu primitives to reduce sparse warnings if\nCONFIG_SPARSE_RCU_POINTER\u003dy\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1c87733d0682547050ccccb400cdac425fa43b39",
      "tree": "8ec9de7722a2be0e97d9ad6a04d12fb0d298b201",
      "parents": [
        "6e3f7faf3e8a3e226b1a6b955aac12abf2f2e1b6"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Oct 25 03:20:11 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 25 14:18:27 2010 -0700"
      },
      "message": "net_ns: add __rcu annotations\n\nadd __rcu annotation to (struct net)-\u003egen, and use\nrcu_dereference_protected() in net_assign_generic()\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6f0bcf152582e7403155627a38e07bf3ef7f3cf5",
      "tree": "0dafb9ea61fa01bb8850ee2bcce97b98c23a7c8f",
      "parents": [
        "3cc77ec74e1583b50b8405114cdbd6b8ebb8c474"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Sun Oct 24 21:33:16 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 25 13:09:45 2010 -0700"
      },
      "message": "tunnels: add _rcu annotations\n\n(struct ip6_tnl)-\u003enext is rcu protected :\n(struct ip_tunnel)-\u003enext is rcu protected :\n(struct xfrm6_tunnel)-\u003enext is rcu protected :\n\nadd __rcu annotation and proper rcu primitives.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3cc77ec74e1583b50b8405114cdbd6b8ebb8c474",
      "tree": "3f45e2ddfc224edd166b1cdc79ddff62532b4c7d",
      "parents": [
        "198caeca3eb4c81bbdbeb34a870868002f89b3d2"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Sun Oct 24 21:32:36 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 25 13:09:44 2010 -0700"
      },
      "message": "net/802: add __rcu annotations\n\n(struct net_device)-\u003egarp_port is rcu protected :\n(struct garp_port)-\u003eapplicants is rcu protected :\n\nadd __rcu annotation and proper rcu primitives.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5f05647dd81c11a6a165ccc8f0c1370b16f3bcb0",
      "tree": "7851ef1c93aa1aba7ef327ca4b75fd35e6d10f29",
      "parents": [
        "02f36038c568111ad4fc433f6fa760ff5e38fab4",
        "ec37a48d1d16c30b655ac5280209edf52a6775d4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Oct 23 11:47:02 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Oct 23 11:47:02 2010 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6: (1699 commits)\n  bnx2/bnx2x: Unsupported Ethtool operations should return -EINVAL.\n  vlan: Calling vlan_hwaccel_do_receive() is always valid.\n  tproxy: use the interface primary IP address as a default value for --on-ip\n  tproxy: added IPv6 support to the socket match\n  cxgb3: function namespace cleanup\n  tproxy: added IPv6 support to the TPROXY target\n  tproxy: added IPv6 socket lookup function to nf_tproxy_core\n  be2net: Changes to use only priority codes allowed by f/w\n  tproxy: allow non-local binds of IPv6 sockets if IP_TRANSPARENT is enabled\n  tproxy: added tproxy sockopt interface in the IPV6 layer\n  tproxy: added udp6_lib_lookup function\n  tproxy: added const specifiers to udp lookup functions\n  tproxy: split off ipv6 defragmentation to a separate module\n  l2tp: small cleanup\n  nf_nat: restrict ICMP translation for embedded header\n  can: mcp251x: fix generation of error frames\n  can: mcp251x: fix endless loop in interrupt handler if CANINTF_MERRF is set\n  can-raw: add msg_flags to distinguish local traffic\n  9p: client code cleanup\n  rds: make local functions/variables static\n  ...\n\nFix up conflicts in net/core/dev.c, drivers/net/pcmcia/smc91c92_cs.c and\ndrivers/net/wireless/ath/ath9k/debug.c as per David\n"
    },
    {
      "commit": "888a6f77e0418b049f83d37547c209b904d30af4",
      "tree": "42cdb9f781d2177e6b380e69a66a27ec7705f51f",
      "parents": [
        "31b7eab27a314b153d8fa07ba9e9ec00a98141e1",
        "6506cf6ce68d78a5470a8360c965dafe8e4b78e3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 21 12:54:12 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 21 12:54:12 2010 -0700"
      },
      "message": "Merge branch \u0027core-rcu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-rcu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (52 commits)\n  sched: fix RCU lockdep splat from task_group()\n  rcu: using ACCESS_ONCE() to observe the jiffies_stall/rnp-\u003eqsmask value\n  sched: suppress RCU lockdep splat in task_fork_fair\n  net: suppress RCU lockdep false positive in sock_update_classid\n  rcu: move check from rcu_dereference_bh to rcu_read_lock_bh_held\n  rcu: Add advice to PROVE_RCU_REPEATEDLY kernel config parameter\n  rcu: Add tracing data to support queueing models\n  rcu: fix sparse errors in rcutorture.c\n  rcu: only one evaluation of arg in rcu_dereference_check() unless sparse\n  kernel: Remove undead ifdef CONFIG_DEBUG_LOCK_ALLOC\n  rcu: fix _oddness handling of verbose stall warnings\n  rcu: performance fixes to TINY_PREEMPT_RCU callback checking\n  rcu: upgrade stallwarn.txt documentation for CPU-bound RT processes\n  vhost: add __rcu annotations\n  rcu: add comment stating that list_empty() applies to RCU-protected lists\n  rcu: apply TINY_PREEMPT_RCU read-side speedup to TREE_PREEMPT_RCU\n  rcu: combine duplicate code, courtesy of CONFIG_PREEMPT_RCU\n  rcu: Upgrade srcu_read_lock() docbook about SRCU grace periods\n  rcu: document ways of stalling updates in low-memory situations\n  rcu: repair code-duplication FIXMEs\n  ...\n"
    },
    {
      "commit": "9941fb62762253774cc6177d0b9172ece5133fe1",
      "tree": "641fc2b376e2f84c7023aa0cd8b9d76f954cc3a1",
      "parents": [
        "a5190b4eea1f1c53ee26b3d1176441cafa8e7f79",
        "3b1a1ce6f418cb7ab35eb55c8a6575987a524e30"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 21 08:21:34 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 21 08:21:34 2010 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/kaber/nf-next-2.6\n"
    },
    {
      "commit": "3b1a1ce6f418cb7ab35eb55c8a6575987a524e30",
      "tree": "a3ebee69d6370631746a348f5852eeb955df5bd3",
      "parents": [
        "cc6eb433856983e91071469c4ce57accb6947ccb",
        "b0aeef30433ea6854e985c2e9842fa19f51b95cc"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Oct 21 16:25:51 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Oct 21 16:25:51 2010 +0200"
      },
      "message": "Merge branch \u0027for-patrick\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/horms/lvs-test-2.6\n"
    },
    {
      "commit": "3b9afb29917f4ab08decf358ecfd354a72a91ac0",
      "tree": "fbc5b5d684ddb8ea276d93ad5890eab55001c896",
      "parents": [
        "0a513f6af962525ed4b3395f8c8d5daae8682aa9"
      ],
      "author": {
        "name": "Balazs Scheidler",
        "email": "bazsi@balabit.hu",
        "time": "Thu Oct 21 16:12:14 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Oct 21 16:12:14 2010 +0200"
      },
      "message": "tproxy: added IPv6 socket lookup function to nf_tproxy_core\n\nSigned-off-by: Balazs Scheidler \u003cbazsi@balabit.hu\u003e\nSigned-off-by: KOVACS Krisztian \u003chidden@balabit.hu\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "aa976fc011efa1f0e3290c6c9addf7c20757f885",
      "tree": "93e692330e1d8e3e366bb0fec71b394c5e79ee93",
      "parents": [
        "88440ae70eda83d0cc94148d404f4990c9f1289c"
      ],
      "author": {
        "name": "Balazs Scheidler",
        "email": "bazsi@balabit.hu",
        "time": "Thu Oct 21 16:05:41 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Oct 21 16:05:41 2010 +0200"
      },
      "message": "tproxy: added udp6_lib_lookup function\n\nJust like with IPv4, we need access to the UDP hash table to look up local\nsockets, but instead of exporting the global udp_table, export a lookup\nfunction.\n\nSigned-off-by: Balazs Scheidler \u003cbazsi@balabit.hu\u003e\nSigned-off-by: KOVACS Krisztian \u003chidden@balabit.hu\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "e97c3e278e951501c2f385de70c3ceacdea78c4a",
      "tree": "1794d174ef487cff2ff135f8ca4c795c847f41ed",
      "parents": [
        "093d282321daeb19c107e5f1f16d7f68484f3ade"
      ],
      "author": {
        "name": "Balazs Scheidler",
        "email": "bazsi@balabit.hu",
        "time": "Thu Oct 21 16:03:43 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Oct 21 16:03:43 2010 +0200"
      },
      "message": "tproxy: split off ipv6 defragmentation to a separate module\n\nLike with IPv4, TProxy needs IPv6 defragmentation but does not\nrequire connection tracking. Since defragmentation was coupled\nwith conntrack, I split off the two, creating an nf_defrag_ipv6 module,\nsimilar to the already existing nf_defrag_ipv4.\n\nSigned-off-by: Balazs Scheidler \u003cbazsi@balabit.hu\u003e\nSigned-off-by: KOVACS Krisztian \u003chidden@balabit.hu\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "32a875adcdcf5f470bf967250cfd01722e23844f",
      "tree": "3dbb0e3118de15d22c48df74ab5d953a2839102b",
      "parents": [
        "ff51bf841587c75b58d25ed77263158619784dd3"
      ],
      "author": {
        "name": "stephen hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Tue Oct 19 06:48:16 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 21 04:26:39 2010 -0700"
      },
      "message": "9p: client code cleanup\n\nMake p9_client_version static since only used in one file.\nRemove p9_client_auth because it is defined but never used.\nCompile tested only.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "093d282321daeb19c107e5f1f16d7f68484f3ade",
      "tree": "36e9eed23573068819bf67a91caac6ebf60d0d7c",
      "parents": [
        "6006db84a91838813cdad8a6622a4e39efe9ea47"
      ],
      "author": {
        "name": "Balazs Scheidler",
        "email": "bazsi@balabit.hu",
        "time": "Thu Oct 21 13:06:43 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Oct 21 13:06:43 2010 +0200"
      },
      "message": "tproxy: fix hash locking issue when using port redirection in __inet_inherit_port()\n\nWhen __inet_inherit_port() is called on a tproxy connection the wrong locks are\nheld for the inet_bind_bucket it is added to. __inet_inherit_port() made an\nimplicit assumption that the listener\u0027s port number (and thus its bind bucket).\nUnfortunately, if you\u0027re using the TPROXY target to redirect skbs to a\ntransparent proxy that assumption is not true anymore and things break.\n\nThis patch adds code to __inet_inherit_port() so that it can handle this case\nby looking up or creating a new bind bucket for the child socket and updates\ncallers of __inet_inherit_port() to gracefully handle __inet_inherit_port()\nfailing.\n\nReported by and original patch from Stephen Buck \u003cstephen.buck@exinda.com\u003e.\nSee http://marc.info/?t\u003d128169268200001\u0026r\u003d1\u0026w\u003d2 for the original discussion.\n\nSigned-off-by: KOVACS Krisztian \u003chidden@balabit.hu\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "6006db84a91838813cdad8a6622a4e39efe9ea47",
      "tree": "842b0a7efaf2d826c82e04ae5552e9b94c6de858",
      "parents": [
        "106e4c26b1529e559d1aae777f11b4f8f7bafc26"
      ],
      "author": {
        "name": "Balazs Scheidler",
        "email": "bazsi@balabit.hu",
        "time": "Thu Oct 21 12:47:34 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Oct 21 12:47:34 2010 +0200"
      },
      "message": "tproxy: add lookup type checks for UDP in nf_tproxy_get_sock_v4()\n\nAlso, inline this function as the lookup_type is always a literal\nand inlining removes branches performed at runtime.\n\nSigned-off-by: Balazs Scheidler \u003cbazsi@balabit.hu\u003e\nSigned-off-by: KOVACS Krisztian \u003chidden@balabit.hu\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "106e4c26b1529e559d1aae777f11b4f8f7bafc26",
      "tree": "e784c61379e767255bf941f9d78d9ef6e7c58640",
      "parents": [
        "d86bef73b4a24e59e7c1f896a72bbf38430ac2c6"
      ],
      "author": {
        "name": "Balazs Scheidler",
        "email": "bazsi@balabit.hu",
        "time": "Thu Oct 21 12:45:14 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Oct 21 12:45:14 2010 +0200"
      },
      "message": "tproxy: kick out TIME_WAIT sockets in case a new connection comes in with the same tuple\n\nWithout tproxy redirections an incoming SYN kicks out conflicting\nTIME_WAIT sockets, in order to handle clients that reuse ports\nwithin the TIME_WAIT period.\n\nThe same mechanism didn\u0027t work in case TProxy is involved in finding\nthe proper socket, as the time_wait processing code looked up the\nlistening socket assuming that the listener addr/port matches those\nof the established connection.\n\nThis is not the case with TProxy as the listener addr/port is possibly\nchanged with the tproxy rule.\n\nSigned-off-by: Balazs Scheidler \u003cbazsi@balabit.hu\u003e\nSigned-off-by: KOVACS Krisztian \u003chidden@balabit.hu\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "3511c9132f8b1e1b5634e41a3331c44b0c13be70",
      "tree": "fecff28f3bf8fbfdecd33d9b98253d60f1d45bf7",
      "parents": [
        "26d8ee75e08cfca8b65ade871d68c8cd96e4ea23"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Sat Oct 16 13:04:08 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 21 03:09:47 2010 -0700"
      },
      "message": "net_sched: remove the unused parameter of qdisc_create_dflt()\n\nThe first parameter dev isn\u0027t in use in qdisc_create_dflt().\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nAcked-by: Jamal Hadi Salim \u003chadi@cyberus.ca\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1c4c40c42da468ef02dc04940930c1926c964558",
      "tree": "3285bd36ab5ff41a24245e94e50016d5bf45bedf",
      "parents": [
        "8d8a0b1cc2a8f9794a3f1f747089b6a93774408d"
      ],
      "author": {
        "name": "stephen hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Fri Oct 15 05:14:19 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 21 03:09:46 2010 -0700"
      },
      "message": "xfrm: make xfrm_bundle_ok local\n\nOnly used in one place.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8d8a0b1cc2a8f9794a3f1f747089b6a93774408d",
      "tree": "4baab7706f18ceafb92a2fa953350ed7d9959f3a",
      "parents": [
        "6f747aca5e61778190d1e27bdc469f49149f0230"
      ],
      "author": {
        "name": "stephen hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Fri Oct 15 05:12:01 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 21 03:09:45 2010 -0700"
      },
      "message": "rtnetlink: remove rtnl_kill_links\n\nThe function rtnl_kill_links is defined but never used.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6f747aca5e61778190d1e27bdc469f49149f0230",
      "tree": "127de8b153a05437add3b959f10eea831466781e",
      "parents": [
        "191cc6877408348e90f4adb64726b60a93246b8b"
      ],
      "author": {
        "name": "stephen hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Fri Oct 15 05:15:59 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 21 03:09:45 2010 -0700"
      },
      "message": "xfrm6: make xfrm6_tunnel_free_spi local\n\nFunction only defined and used in one file.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0d79641a96d612aaa6d57a4d4f521d7ed9c9ccdd",
      "tree": "9783497ace4f8ff8eeac24524ecb93012166c60d",
      "parents": [
        "3233759be7eeca9998c514b8f49e8cf2b85e64d3"
      ],
      "author": {
        "name": "Julian Anastasov",
        "email": "ja@ssi.bg",
        "time": "Sun Oct 17 16:46:17 2010 +0300"
      },
      "committer": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Thu Oct 21 11:04:43 2010 +0200"
      },
      "message": "ipvs: provide address family for debugging\n\n \tAs skb-\u003eprotocol is not valid in LOCAL_OUT add\nparameter for address family in packet debugging functions.\nEven if ports are not present in AH and ESP change them to\nuse ip_vs_tcpudp_debug_packet to show at least valid addresses\nas before. This patch removes the last user of skb-\u003eprotocol\nin IPVS.\n\nSigned-off-by: Julian Anastasov \u003cja@ssi.bg\u003e\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\n"
    },
    {
      "commit": "fc604767613b6d2036cdc35b660bc39451040a47",
      "tree": "50177ff8f66e0f153b2f172f98290eae5fcaee24",
      "parents": [
        "f5a41847acc535e2e2018e397b1876ba7577d9d9"
      ],
      "author": {
        "name": "Julian Anastasov",
        "email": "ja@ssi.bg",
        "time": "Sun Oct 17 16:38:15 2010 +0300"
      },
      "committer": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Thu Oct 21 11:03:46 2010 +0200"
      },
      "message": "ipvs: changes for local real server\n\n \tThis patch deals with local real servers:\n\n- Add support for DNAT to local address (different real server port).\nIt needs ip_vs_out hook in LOCAL_OUT for both families because\nskb-\u003eprotocol is not set for locally generated packets and can not\nbe used to set \u0027af\u0027.\n\n- Skip packets in ip_vs_in marked with skb-\u003eipvs_property because\nip_vs_out processing can be executed in LOCAL_OUT but we still\nhave the conn_out_get check in ip_vs_in.\n\n- Ignore packets with inet-\u003enodefrag from local stack\n\n- Require skb_dst(skb) !\u003d NULL because we use it to get struct net\n\n- Add support for changing the route to local IPv4 stack after DNAT\ndepending on the source address type. Local client sets output\nroute and the remote client sets input route. It looks like\nIPv6 does not need such rerouting because the replies use\naddresses from initial incoming header, not from skb route.\n\n- All transmitters now have strict checks for the destination\naddress type: redirect from non-local address to local real\nserver requires NAT method, local address can not be used as\nsource address when talking to remote real server.\n\n- Now LOCALNODE is not set explicitly as forwarding\nmethod in real server to allow the connections to provide\ncorrect forwarding method to the backup server. Not sure if\nthis breaks tools that expect to see \u0027Local\u0027 real server type.\nIf needed, this can be supported with new flag IP_VS_DEST_F_LOCAL.\nNow it should be possible connections in backup that lost\ntheir fwmark information during sync to be forwarded properly\nto their daddr, even if it is local address in the backup server.\nBy this way backup could be used as real server for DR or TUN,\nfor NAT there are some restrictions because tuple collisions\nin conntracks can create problems for the traffic.\n\n- Call ip_vs_dst_reset when destination is updated in case\nsome real server IP type is changed between local and remote.\n\n[ horms@verge.net.au: removed trailing whitespace ]\nSigned-off-by: Julian Anastasov \u003cja@ssi.bg\u003e\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\n"
    },
    {
      "commit": "190ecd27cd7294105e3b26ca71663c7d940acbbb",
      "tree": "0dfc3569862e260a7c35c7dee14332de4345eeba",
      "parents": [
        "cf356d69db0afef692cd640917bc70f708c27f14"
      ],
      "author": {
        "name": "Julian Anastasov",
        "email": "ja@ssi.bg",
        "time": "Sun Oct 17 16:24:37 2010 +0300"
      },
      "committer": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Thu Oct 21 10:50:41 2010 +0200"
      },
      "message": "ipvs: do not schedule conns from real servers\n\n \tThis patch is needed to avoid scheduling of\npackets from local real server when we add ip_vs_in\nin LOCAL_OUT hook to support local client.\n\n \tCurrently, when ip_vs_in can not find existing\nconnection it tries to create new one by calling ip_vs_schedule.\n\n \tThe default indication from ip_vs_schedule was if\nconnection was scheduled to real server. If real server is\nnot available we try to use the bypass forwarding method\nor to send ICMP error. But in some cases we do not want to use\nthe bypass feature. So, add flag \u0027ignored\u0027 to indicate if\nthe scheduler ignores this packet.\n\n \tMake sure we do not create new connections from replies.\nWe can hit this problem for persistent services and local real\nserver when ip_vs_in is added to LOCAL_OUT hook to handle\nlocal clients.\n\n \tAlso, make sure ip_vs_schedule ignores SYN packets\nfor Active FTP DATA from local real server. The FTP DATA\nconnection should be created on SYN+ACK from client to assign\ncorrect connection daddr.\n\nSigned-off-by: Julian Anastasov \u003cja@ssi.bg\u003e\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\n"
    },
    {
      "commit": "cf356d69db0afef692cd640917bc70f708c27f14",
      "tree": "1c1e0a277ba783066e639524bbdef0c19996e8c0",
      "parents": [
        "8b27b10f5863a5b63e46304a71aa01463d1efac4"
      ],
      "author": {
        "name": "Julian Anastasov",
        "email": "ja@ssi.bg",
        "time": "Sun Oct 17 16:21:07 2010 +0300"
      },
      "committer": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Thu Oct 21 10:50:20 2010 +0200"
      },
      "message": "ipvs: switch to notrack mode\n\n \tChange skb-\u003eipvs_property semantic. This is preparation\nto support ip_vs_out processing in LOCAL_OUT. ipvs_property\u003d1\nwill be used to avoid expensive lookups for traffic sent by\ntransmitters. Now when conntrack support is not used we call\nip_vs_notrack method to avoid problems in OUTPUT and\nPOST_ROUTING hooks instead of exiting POST_ROUTING as before.\n\nSigned-off-by: Julian Anastasov \u003cja@ssi.bg\u003e\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\n"
    },
    {
      "commit": "8b27b10f5863a5b63e46304a71aa01463d1efac4",
      "tree": "89f5db8881b0297cda00cad3c2cdedf685e2757f",
      "parents": [
        "5bc9068e9d962ca6b8bec3f0eb6f60ab4dee1d04"
      ],
      "author": {
        "name": "Julian Anastasov",
        "email": "ja@ssi.bg",
        "time": "Sun Oct 17 16:17:20 2010 +0300"
      },
      "committer": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Thu Oct 21 10:50:02 2010 +0200"
      },
      "message": "ipvs: optimize checksums for apps\n\n \tAvoid full checksum calculation for apps that can provide\ninfo whether csum was broken after payload mangling. For now only\nip_vs_ftp mangles payload and it updates the csum, so the full\nrecalculation is avoided for all packets.\n\n \tAdd CHECKSUM_UNNECESSARY for snat_handler (TCP and UDP).\nIt is needed to support SNAT from local address for the case\nwhen csum is fully recalculated.\n\nSigned-off-by: Julian Anastasov \u003cja@ssi.bg\u003e\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\n"
    },
    {
      "commit": "5eeaa2db162f1f6d83e988d4d28f4ba7be600e44",
      "tree": "440e245201485fcfb7858bf57aae755c00b15651",
      "parents": [
        "c5e90f562047ff9713183cf5e18f5e8997bc7373",
        "c64557d666eb62eb5f296c6b93bd0a5525ed1e36"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 20 01:59:48 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 20 01:59:48 2010 -0700"
      },
      "message": "Merge branch \u0027for-davem\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6\n"
    },
    {
      "commit": "714f095f74582764d629785f03b459a3d0503624",
      "tree": "47f115c332227008d6d8a15d68594fdc126274d3",
      "parents": [
        "ebbf41df4aabb6d506fa18ea8cb4c2b4388a18b9"
      ],
      "author": {
        "name": "Hans Schillstrom",
        "email": "hans.schillstrom@ericsson.com",
        "time": "Tue Oct 19 10:38:48 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Oct 19 10:38:48 2010 +0200"
      },
      "message": "ipvs: IPv6 tunnel mode\n\nIPv6 encapsulation uses a bad source address for the tunnel.\ni.e. VIP will be used as local-addr and encap. dst addr.\nDecapsulation will not accept this.\n\nExample\nLVS (eth1 2003::2:0:1/96, VIP 2003::2:0:100)\n   (eth0 2003::1:0:1/96)\nRS  (ethX 2003::1:0:5/96)\n\ntcpdump\n2003::2:0:100 \u003e 2003::1:0:5: IP6 (hlim 63, next-header TCP (6) payload length: 40)  2003::3:0:10.50991 \u003e 2003::2:0:100.http: Flags [S], cksum 0x7312 (correct), seq 3006460279, win 5760, options [mss 1440,sackOK,TS val 1904932 ecr 0,nop,wscale 3], length 0\n\nIn Linux IPv6 impl. you can\u0027t have a tunnel with an any cast address\nreceiving packets (I have not tried to interpret RFC 2473)\nTo have receive capabilities the tunnel must have:\n - Local address set as multicast addr or an unicast addr\n - Remote address set as an unicast addr.\n - Loop back addres or Link local address are not allowed.\n\nThis causes us to setup a tunnel in the Real Server with the\nLVS as the remote address, here you can\u0027t use the VIP address since it\u0027s\nused inside the tunnel.\n\nSolution\nUse outgoing interface IPv6 address (match against the destination).\ni.e. use ip6_route_output() to look up the route cache and\nthen use ipv6_dev_get_saddr(...) to set the source address of the\nencapsulated packet.\n\nAdditionally, cache the results in new destination\nfields: dst_cookie and dst_saddr and properly check the\nreturned dst from ip6_route_output. We now add xfrm_lookup\ncall only for the tunneling method where the source address\nis a local one.\n\nSigned-off-by:Hans Schillstrom \u003chans.schillstrom@ericsson.com\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "ebbf41df4aabb6d506fa18ea8cb4c2b4388a18b9",
      "tree": "16ea6ca8a2382e399798a087fcbeb63380b21f03",
      "parents": [
        "43f974cdb4ab6d65f849610deb9ef738d62b2e65"
      ],
      "author": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Tue Oct 19 10:19:06 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Oct 19 10:19:06 2010 +0200"
      },
      "message": "netfilter: ctnetlink: add expectation deletion events\n\nThis patch allows to listen to events that inform about\nexpectations destroyed.\n\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "8e602ce2980fd6941dc0d3dda12e5095e8206f34",
      "tree": "1a0ea79a6db1b01660cc034c822d02c95e356388",
      "parents": [
        "c60ce4e265404ca42ba860401f4b0f1e97332a67"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Oct 14 05:56:18 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Oct 17 13:49:14 2010 -0700"
      },
      "message": "netns: reorder fields in struct net\n\nIn a network bench, I noticed an unfortunate false sharing between\n\u0027loopback_dev\u0027 and \u0027count\u0027 fields in \"struct net\".\n\n\u0027count\u0027 is written each time a socket is created or destroyed, while\nloopback_dev might be often read in routing code.\n\nMove loopback_dev in a read mostly section of \"struct net\"\n\nNote: struct netns_xfrm is cache line aligned on SMP.\n(It contains a \"struct dst_ops\")\nMove it at the end to avoid holes, and reduce sizeof(struct net) by 128\nbytes on ia32.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "31e3c3f6f1f9b154981a0e6620df700463db30ee",
      "tree": "5ed74529c528cc9a09d6f8c9a5083aaf4849b62e",
      "parents": [
        "15419227f773b6c1b5fae44bde876078a9204caa"
      ],
      "author": {
        "name": "stephen hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Wed Oct 13 13:20:35 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Oct 16 11:13:24 2010 -0700"
      },
      "message": "tipc: cleanup function namespace\n\nDo some cleanups of TIPC based on make namespacecheck\n  1. Don\u0027t export unused symbols\n  2. Eliminate dead code\n  3. Make functions and variables local\n  4. Rename buf_acquire to tipc_buf_acquire since it is used in several files\n\nCompile tested only.\nThis make break out of tree kernel modules that depend on TIPC routines.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nAcked-by: Jon Maloy \u003cjon.maloy@ericsson.com\u003e\nAcked-by: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c64557d666eb62eb5f296c6b93bd0a5525ed1e36",
      "tree": "1e25cc32521d06ae876de18bb8e48b3cf9d30808",
      "parents": [
        "1a63c353c856c9f6d44a533afb6ad6dbbcdea683",
        "0d91f22b75347d9503b17a42b6c74d3f7750acd6"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Oct 15 16:11:56 2010 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Oct 15 16:11:56 2010 -0400"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem\n"
    },
    {
      "commit": "1a63c353c856c9f6d44a533afb6ad6dbbcdea683",
      "tree": "a51c18f01c031a21f07ec3be07ffae210bb9adc7",
      "parents": [
        "7662ff46b7b3678162ce125903115e4ab0607a2d",
        "b3c0598952e02f1f1f6d003574549d940ecbf31a"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Oct 15 16:00:02 2010 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Oct 15 16:00:02 2010 -0400"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/padovan/bluetooth-next-2.6 into for-davem\n"
    },
    {
      "commit": "b3d6255388de0680a14f0907deb7b7f4fa0d25d5",
      "tree": "8eaefeadef047a8bc6fcc269669ac4288e41ef64",
      "parents": [
        "7368ddf144afd79456fd853fa25f33e31da003a9"
      ],
      "author": {
        "name": "Kumar Sanghvi",
        "email": "kumar.sanghvi@stericsson.com",
        "time": "Tue Oct 12 20:14:43 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 13 14:40:34 2010 -0700"
      },
      "message": "Phonet: \u0027connect\u0027 socket implementation for Pipe controller\n\nBased on suggestion by Rémi Denis-Courmont to implement \u0027connect\u0027\nfor Pipe controller logic,  this patch implements \u0027connect\u0027 socket\ncall for the Pipe controller logic.\nThe patch does following:-\n- Removes setsockopts for PNPIPE_CREATE and PNPIPE_DESTROY\n- Adds setsockopt for setting the Pipe handle value\n- Implements connect socket call\n- Updates the Pipe controller logic\n\nUser-space should now follow below sequence with Pipe controller:-\n-socket\n-bind\n-setsockopt for PNPIPE_PIPE_HANDLE\n-connect\n-setsockopt for PNPIPE_ENCAP_IP\n-setsockopt for PNPIPE_ENABLE\n\nGPRS/3G data has been tested working fine with this.\n\nSigned-off-by: Kumar Sanghvi \u003ckumar.sanghvi@stericsson.com\u003e\nAcked-by: Rémi Denis-Courmont \u003cremi.denis-courmont@nokia.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7be5086d4cb7cceb71d724a9524d5e927785d04f",
      "tree": "eaf0b7d527b9b91c704c8f339d855923c0a34571",
      "parents": [
        "271733cf844a2f5f186ef3b40c26d6397b71039a"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Wed Oct 13 12:06:24 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Oct 13 15:45:22 2010 -0400"
      },
      "message": "mac80211: add probe request filter flag\n\nUsing the frame registration notification, we\ncan see when probe requests are requested and\nnotify the low-level driver via filtering. The\nflag is also set in AP and IBSS modes.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "271733cf844a2f5f186ef3b40c26d6397b71039a",
      "tree": "6b674540afe189b48599ae423c2174ebd48a8ffe",
      "parents": [
        "7a8266524af7ec70d1b3d10f964ce911d922d466"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Wed Oct 13 12:06:23 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Oct 13 15:45:22 2010 -0400"
      },
      "message": "cfg80211: notify drivers about frame registrations\n\nDrivers may need to adjust their filters according\nto frame registrations, so notify them about them.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "534c92fde74c8d2143fc15b5f1d957f42cb43570",
      "tree": "1f6fe4dcf8bebd4b8313357036614900f289aab2",
      "parents": [
        "ab3e571564a5d8fa4923e2e858e574c931a014c7"
      ],
      "author": {
        "name": "Andrei Emeltchenko",
        "email": "andrei.emeltchenko@nokia.com",
        "time": "Fri Oct 01 12:05:11 2010 +0300"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Tue Oct 12 12:44:53 2010 -0300"
      },
      "message": "Bluetooth: clean up rfcomm code\n\nRemove dead code and unused rfcomm thread events\n\nSigned-off-by: Andrei Emeltchenko \u003candrei.emeltchenko@nokia.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "796c86eec84ddfd02281c5071838ed1fefda6b90",
      "tree": "5b6c705846e46c39b4ddc233e5a1604d9fb9476d",
      "parents": [
        "0fba2558cbb3fae3a09147b7d6e18a6204204e0e"
      ],
      "author": {
        "name": "Mat Martineau",
        "email": "mathewm@codeaurora.org",
        "time": "Wed Sep 08 10:05:27 2010 -0700"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Tue Oct 12 12:44:51 2010 -0300"
      },
      "message": "Bluetooth: Add common code for stream-oriented recvmsg()\n\nThis commit adds a bt_sock_stream_recvmsg() function for use by any\nBluetooth code that uses SOCK_STREAM sockets.  This code is copied\nfrom rfcomm_sock_recvmsg() with minimal modifications to remove\nRFCOMM-specific functionality and improve readability.\n\nL2CAP (with the SOCK_STREAM socket type) and RFCOMM have common needs\nwhen it comes to reading data.  Proper stream read semantics require\nthat applications can read from a stream one byte at a time and not\nlose any data.  The RFCOMM code already operated on and pulled data\nfrom the underlying L2CAP socket, so very few changes were required to\nmake the code more generic for use with non-RFCOMM data over L2CAP.\n\nApplications that need more awareness of L2CAP frame boundaries are\nstill free to use SOCK_SEQPACKET sockets, and may verify that they\nconnection did not fall back to basic mode by calling getsockopt().\n\nSigned-off-by: Mat Martineau \u003cmathewm@codeaurora.org\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "8f1e1742233cd1c3444dfc6c945a2efb2814e157",
      "tree": "252563ff2af556132d23f0edfd6bfa92a8a97dc5",
      "parents": [
        "29b4433d991c88d86ca48a4c1cc33c671475be4b"
      ],
      "author": {
        "name": "David Vrabel",
        "email": "david.vrabel@csr.com",
        "time": "Mon Aug 09 17:38:10 2010 -0400"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Tue Oct 12 12:44:51 2010 -0300"
      },
      "message": "Bluetooth: HCI devices are either BR/EDR or AMP radios\n\nHCI transport drivers may not know what type of radio an AMP device has\nso only say whether they\u0027re BR/EDR or AMP devices.\n\nSigned-off-by: David Vrabel \u003cdavid.vrabel@csr.com\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "e37ef961e50d74f55e9edb48e54dd2e7963aad39",
      "tree": "ac069f1c0fa4eaf54b28d712d05f7e483d165b19",
      "parents": [
        "fc66f95c68b6d4535a0ea2ea15d5cf626e310956"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Oct 11 12:20:54 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 11 16:09:14 2010 -0700"
      },
      "message": "neigh: reorder struct neighbour fields\n\nLe mardi 12 octobre 2010 à 00:02 +0200, Eric Dumazet a écrit :\n\u003e Here is the followup patch.\n\u003e\n\u003e Thanks !\n\u003e\n\nOops, this was an old version, the up2date ones also took care of \"used\"\nfield.\n\nI guess its time for a sleep, sorry again.\n\n[PATCH net-next V2] neigh: reorder struct neighbour fields\n\n(refcnt) and (ha_lock, ha, used, dev, output, ops, primary_key) should\nbe placed on a separate cache lines.\n\nrefcnt can be often written, while other fields are mostly read.\n\nThis gave me good result on stress test :\n\nbefore:\n\nreal    0m45.570s\nuser    0m15.525s\nsys     9m56.669s\n\nAfter:\n\nreal    0m41.841s\nuser    0m15.261s\nsys     8m45.949s\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fc66f95c68b6d4535a0ea2ea15d5cf626e310956",
      "tree": "ac3a7f08ad741a67ff683bf93e5669ddcae95ed7",
      "parents": [
        "0ed8ddf4045fcfcac36bad753dc4046118c603ec"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Fri Oct 08 06:37:34 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 11 13:06:53 2010 -0700"
      },
      "message": "net dst: use a percpu_counter to track entries\n\nstruct dst_ops tracks number of allocated dst in an atomic_t field,\nsubject to high cache line contention in stress workload.\n\nSwitch to a percpu_counter, to reduce number of time we need to dirty a\ncentral location. Place it on a separate cache line to avoid dirtying\nread only fields.\n\nStress test :\n\n(Sending 160.000.000 UDP frames,\nIP route cache disabled, dual E5540 @2.53GHz,\n32bit kernel, FIB_TRIE, SLUB/NUMA)\n\nBefore:\n\nreal    0m51.179s\nuser    0m15.329s\nsys     10m15.942s\n\nAfter:\n\nreal\t0m45.570s\nuser\t0m15.525s\nsys\t9m56.669s\n\nWith a small reordering of struct neighbour fields, subject of a\nfollowing patch, (to separate refcnt from other read mostly fields)\n\nreal\t0m41.841s\nuser\t0m15.261s\nsys\t8m45.949s\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0ed8ddf4045fcfcac36bad753dc4046118c603ec",
      "tree": "cf1d9eb14668c4d2257b3519ed7deec8c5cb396d",
      "parents": [
        "d122179a3c0fdc71b88cb9e3605f372b1651a9ff"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Oct 07 10:44:07 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 11 12:54:04 2010 -0700"
      },
      "message": "neigh: Protect neigh-\u003eha[] with a seqlock\n\nAdd a seqlock in struct neighbour to protect neigh-\u003eha[], and avoid\ndirtying neighbour in stress situation (many different flows / dsts)\n\nDirtying takes place because of read_lock(\u0026n-\u003elock) and n-\u003eused writes.\n\nSwitching to a seqlock, and writing n-\u003eused only on jiffies changes\npermits less dirtying.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d122179a3c0fdc71b88cb9e3605f372b1651a9ff",
      "tree": "63a48b333e7565967b6d7c9e246557bfcb9f225f",
      "parents": [
        "419c20465d6319274e7286f0966e2390540e6e0a",
        "b00916b189d13a615ff05c9242201135992fcda3"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 11 12:30:34 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 11 12:30:34 2010 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tnet/core/ethtool.c\n"
    },
    {
      "commit": "8610c29a2c9f273886b1c31ae4d92c69d4326262",
      "tree": "c0424e55a67e0a2a1c7f1d72a9d807c442da5a9c",
      "parents": [
        "15943a72c7d2031c9150917ca9161a9f891d455a"
      ],
      "author": {
        "name": "Felix Fietkau",
        "email": "nbd@openwrt.org",
        "time": "Sat Oct 09 02:39:29 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Oct 11 15:04:20 2010 -0400"
      },
      "message": "cfg80211: add channel utilization stats to the survey command\n\nUsing these, user space can calculate a relative channel utilization\nwith arbitrary intervals by regularly taking snapshots of the survey\nresults.\n\nSigned-off-by: Felix Fietkau \u003cnbd@openwrt.org\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "5a5c731aa59cc2c44ca20f45b1a577cd4f5435e2",
      "tree": "c5f45cd0e014bbaf600fe172ebbd117ca2737bbb",
      "parents": [
        "b38afa87698375179026224522c2e48dcbf17e65"
      ],
      "author": {
        "name": "Ben Greear",
        "email": "greearb@candelatech.com",
        "time": "Thu Oct 07 16:39:20 2010 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Oct 11 15:04:19 2010 -0400"
      },
      "message": "wireless: Set some stats used by /proc/net/wireless (wext)\n\nSome stats for /proc/net/wireless (and wext in general) are not\nbeing set.  This patch addresses a few of those with values easily\nobtained from mac80211 core.\n\nSigned-off-by: Ben Greear \u003cgreearb@candelatech.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "e9a68707d736f4f73d7e209885d7b4c5c452b1dc",
      "tree": "d9f76964c77c1059483b08436ed060b702b8e25d",
      "parents": [
        "dd53df265b1ee7a1fbbc76bb62c3bec2383bbd44",
        "15a6321d1c0f8db561932cd99e1b9897981da71f"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Oct 08 15:39:28 2010 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Oct 08 15:39:28 2010 -0400"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem\n\nConflicts:\n\tDocumentation/feature-removal-schedule.txt\n\tdrivers/net/wireless/ipw2x00/ipw2200.c\n"
    },
    {
      "commit": "388ac775be95e510c2095ed6cd59422a5183a9fb",
      "tree": "bbdb6f1b5aa46ec8ebb5c1eccdd4934082a66094",
      "parents": [
        "43b19952de54b0fccfcdc5968891ebe550367fe8"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Oct 07 13:11:09 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Oct 07 14:41:28 2010 -0400"
      },
      "message": "cfg80211: constify WDS address\n\nThere\u0027s no need for the WDS peer address\nto not be const, so make it const.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "556ef63255f1a6f82910a637c4164dbf7d3d1af2",
      "tree": "ae209fe4959e0837bf4eb72abc6e02c8a82179a1",
      "parents": [
        "d4f8f217b8a5d5bd02af979650418dca4caec472",
        "cb655d0f3d57c23db51b981648e452988c0223f9"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 07 09:43:38 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 07 09:43:45 2010 +0200"
      },
      "message": "Merge commit \u0027v2.6.36-rc7\u0027 into core/rcu\n\nMerge reason: Update from -rc3 to -rc7.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d4f8f217b8a5d5bd02af979650418dca4caec472",
      "tree": "af047bfa9729c975e24cb7624107574e884d3a57",
      "parents": [
        "2dfbf4dfbe47a484bae20456c12b40763b9b6af7",
        "773e3f93577ffb493fb7c39b1a6ecf39b5748e87"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 07 09:43:11 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 07 09:43:11 2010 +0200"
      },
      "message": "Merge branch \u0027rcu/urgent\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-2.6-rcu into core/rcu\n"
    },
    {
      "commit": "767e97e1e0db0d0f3152cd2f3bd3403596aedbad",
      "tree": "cda6089e75f98fc3c9812993cf790fccac98b67a",
      "parents": [
        "546add79468183f266c75c632c96e4b0029e0d96"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Oct 06 17:49:21 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 06 18:01:33 2010 -0700"
      },
      "message": "neigh: RCU conversion of struct neighbour\n\nThis is the second step for neighbour RCU conversion.\n\n(first was commit d6bf7817 : RCU conversion of neigh hash table)\n\nneigh_lookup() becomes lockless, but still take a reference on found\nneighbour. (no more read_lock()/read_unlock() on tbl-\u003elock)\n\nstruct neighbour gets an additional rcu_head field and is freed after an\nRCU grace period.\n\nFuture work would need to eventually not take a reference on neighbour\nfor temporary dst (DST_NOCACHE), but this would need dst-\u003e_neighbour to\nuse a noref bit like we did for skb-\u003e_dst.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b206b4ef062d83c0875a085672ed50e8c8b01521",
      "tree": "f182cc272055f7b646bc62a5d37fb097a8fd07cc",
      "parents": [
        "09be251e9005ebd67e5eabcaad904edb7ecacc55"
      ],
      "author": {
        "name": "Bruno Randolf",
        "email": "br1@einfach.org",
        "time": "Wed Oct 06 18:34:12 2010 +0900"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Oct 06 16:30:43 2010 -0400"
      },
      "message": "nl80211/mac80211: Add retry and failed transmission count to station info\n\nThis information is already available in mac80211, we just need to export it\nvia cfg80211 and nl80211.\n\nSigned-off-by: Bruno Randolf \u003cbr1@einfach.org\u003e\nAcked-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "e31b82136d1adc7a599b6e99d3321e5831841f5a",
      "tree": "c72d78d4cccfd08587e909c7efe59956f1cbc23e",
      "parents": [
        "53f73c09d64f1fa7d7e6e8b6bb7468d42eddc92d"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Tue Oct 05 19:39:30 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Oct 06 16:30:40 2010 -0400"
      },
      "message": "cfg80211/mac80211: allow per-station GTKs\n\nThis adds API to allow adding per-station GTKs,\nupdates mac80211 to support it, and also allows\ndrivers to remove a key from hwaccel again when\nthis may be necessary due to multiple GTKs.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "ebc0ffae5dfb4447e0a431ffe7fe1d467c48bbb9",
      "tree": "395e50547ffccc6b73e04a44190eb4b4f2d2316b",
      "parents": [
        "c2952c314b4fe61820ba8fd6c949eed636140d52"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Oct 05 10:41:36 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Oct 05 20:39:38 2010 -0700"
      },
      "message": "fib: RCU conversion of fib_lookup()\n\nfib_lookup() converted to be called in RCU protected context, no\nreference taken and released on a contended cache line (fib_clntref)\n\nfib_table_lookup() and fib_semantic_match() get an additional parameter.\n\nstruct fib_info gets an rcu_head field, and is freed after an rcu grace\nperiod.\n\nStress test :\n(Sending 160.000.000 UDP frames on same neighbour,\nIP route cache disabled, dual E5540 @2.53GHz,\n32bit kernel, FIB_HASH) (about same results for FIB_TRIE)\n\nBefore patch :\n\nreal\t1m31.199s\nuser\t0m13.761s\nsys\t23m24.780s\n\nAfter patch:\n\nreal\t1m5.375s\nuser\t0m14.997s\nsys\t15m50.115s\n\nBefore patch Profile :\n\n13044.00 15.4% __ip_route_output_key vmlinux\n 8438.00 10.0% dst_destroy           vmlinux\n 5983.00  7.1% fib_semantic_match    vmlinux\n 5410.00  6.4% fib_rules_lookup      vmlinux\n 4803.00  5.7% neigh_lookup          vmlinux\n 4420.00  5.2% _raw_spin_lock        vmlinux\n 3883.00  4.6% rt_set_nexthop        vmlinux\n 3261.00  3.9% _raw_read_lock        vmlinux\n 2794.00  3.3% fib_table_lookup      vmlinux\n 2374.00  2.8% neigh_resolve_output  vmlinux\n 2153.00  2.5% dst_alloc             vmlinux\n 1502.00  1.8% _raw_read_lock_bh     vmlinux\n 1484.00  1.8% kmem_cache_alloc      vmlinux\n 1407.00  1.7% eth_header            vmlinux\n 1406.00  1.7% ipv4_dst_destroy      vmlinux\n 1298.00  1.5% __copy_from_user_ll   vmlinux\n 1174.00  1.4% dev_queue_xmit        vmlinux\n 1000.00  1.2% ip_output             vmlinux\n\nAfter patch Profile :\n\n13712.00 15.8% dst_destroy             vmlinux\n 8548.00  9.9% __ip_route_output_key   vmlinux\n 7017.00  8.1% neigh_lookup            vmlinux\n 4554.00  5.3% fib_semantic_match      vmlinux\n 4067.00  4.7% _raw_read_lock          vmlinux\n 3491.00  4.0% dst_alloc               vmlinux\n 3186.00  3.7% neigh_resolve_output    vmlinux\n 3103.00  3.6% fib_table_lookup        vmlinux\n 2098.00  2.4% _raw_read_lock_bh       vmlinux\n 2081.00  2.4% kmem_cache_alloc        vmlinux\n 2013.00  2.3% _raw_spin_lock          vmlinux\n 1763.00  2.0% __copy_from_user_ll     vmlinux\n 1763.00  2.0% ip_output               vmlinux\n 1761.00  2.0% ipv4_dst_destroy        vmlinux\n 1631.00  1.9% eth_header              vmlinux\n 1440.00  1.7% _raw_read_unlock_bh     vmlinux\n\nReference results, if IP route cache is enabled :\n\nreal\t0m29.718s\nuser\t0m10.845s\nsys\t7m37.341s\n\n25213.00 29.5% __ip_route_output_key   vmlinux\n 9011.00 10.5% dst_release             vmlinux\n 4817.00  5.6% ip_push_pending_frames  vmlinux\n 4232.00  5.0% ip_finish_output        vmlinux\n 3940.00  4.6% udp_sendmsg             vmlinux\n 3730.00  4.4% __copy_from_user_ll     vmlinux\n 3716.00  4.4% ip_route_output_flow    vmlinux\n 2451.00  2.9% __xfrm_lookup           vmlinux\n 2221.00  2.6% ip_append_data          vmlinux\n 1718.00  2.0% _raw_spin_lock_bh       vmlinux\n 1655.00  1.9% __alloc_skb             vmlinux\n 1572.00  1.8% sock_wfree              vmlinux\n 1345.00  1.6% kfree                   vmlinux\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    }
  ],
  "next": "d6bf781712a1d25cc8987036b3a48535b331eb91"
}
