)]}'
{
  "log": [
    {
      "commit": "0191b625ca5a46206d2fb862bb08f36f2fcb3b31",
      "tree": "454d1842b1833d976da62abcbd5c47521ebe9bd7",
      "parents": [
        "54a696bd07c14d3b1192d03ce7269bc59b45209a",
        "eb56092fc168bf5af199d47af50c0d84a96db898"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Dec 28 12:49:40 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Dec 28 12:49:40 2008 -0800"
      },
      "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: (1429 commits)\n  net: Allow dependancies of FDDI \u0026 Tokenring to be modular.\n  igb: Fix build warning when DCA is disabled.\n  net: Fix warning fallout from recent NAPI interface changes.\n  gro: Fix potential use after free\n  sfc: If AN is enabled, always read speed/duplex from the AN advertising bits\n  sfc: When disabling the NIC, close the device rather than unregistering it\n  sfc: SFT9001: Add cable diagnostics\n  sfc: Add support for multiple PHY self-tests\n  sfc: Merge top-level functions for self-tests\n  sfc: Clean up PHY mode management in loopback self-test\n  sfc: Fix unreliable link detection in some loopback modes\n  sfc: Generate unique names for per-NIC workqueues\n  802.3ad: use standard ethhdr instead of ad_header\n  802.3ad: generalize out mac address initializer\n  802.3ad: initialize ports LACPDU from const initializer\n  802.3ad: remove typedef around ad_system\n  802.3ad: turn ports is_individual into a bool\n  802.3ad: turn ports is_enabled into a bool\n  802.3ad: make ntt bool\n  ixgbe: Fix set_ringparam in ixgbe to use the same memory pools.\n  ...\n\nFixed trivial IPv4/6 address printing conflicts in fs/cifs/connect.c due\nto the conversion to %pI (in this networking merge) and the addition of\ndoing IPv6 addresses (from the earlier merge of CIFS).\n"
    },
    {
      "commit": "1db2a5c11e495366bff35cf7445d494703f7febe",
      "tree": "3347dd1cab0a2a96a4333524298a62132eb22336",
      "parents": [
        "a39b863342b8aba52390092be95db58f6ed56061",
        "cef7125def4dd104769f400c941199614da0aca1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Dec 28 12:33:21 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Dec 28 12:33:21 2008 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git390.osdl.marist.edu/pub/scm/linux-2.6\n\n* \u0027for-linus\u0027 of git://git390.osdl.marist.edu/pub/scm/linux-2.6: (85 commits)\n  [S390] provide documentation for hvc_iucv kernel parameter.\n  [S390] convert ctcm printks to dev_xxx and pr_xxx macros.\n  [S390] convert zfcp printks to pr_xxx macros.\n  [S390] convert vmlogrdr printks to pr_xxx macros.\n  [S390] convert zfcp dumper printks to pr_xxx macros.\n  [S390] convert cpu related printks to pr_xxx macros.\n  [S390] convert qeth printks to dev_xxx and pr_xxx macros.\n  [S390] convert sclp printks to pr_xxx macros.\n  [S390] convert iucv printks to dev_xxx and pr_xxx macros.\n  [S390] convert ap_bus printks to pr_xxx macros.\n  [S390] convert dcssblk and extmem printks messages to pr_xxx macros.\n  [S390] convert monwriter printks to pr_xxx macros.\n  [S390] convert s390 debug feature printks to pr_xxx macros.\n  [S390] convert monreader printks to pr_xxx macros.\n  [S390] convert appldata printks to pr_xxx macros.\n  [S390] convert setup printks to pr_xxx macros.\n  [S390] convert hypfs printks to pr_xxx macros.\n  [S390] convert time printks to pr_xxx macros.\n  [S390] convert cpacf printks to pr_xxx macros.\n  [S390] convert cio printks to pr_xxx macros.\n  ...\n"
    },
    {
      "commit": "619e803d3c1b7bcc17c45e81f309d0b9b3df2d5d",
      "tree": "c2c279dd155e07e96c7a2f483cce6c48c1640cd6",
      "parents": [
        "64ff3b938ec6782e6585a83d5459b98b0c3f6eb8"
      ],
      "author": {
        "name": "Vegard Nossum",
        "email": "vegard.nossum@gmail.com",
        "time": "Thu Dec 25 17:21:17 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Dec 25 17:21:17 2008 -0800"
      },
      "message": "netlink: fix (theoretical) overrun in message iteration\n\nSee commit 1045b03e07d85f3545118510a587035536030c1c (\"netlink: fix\noverrun in attribute iteration\") for a detailed explanation of why\nthis patch is necessary.\n\nIn short, nlmsg_next() can make \"remaining\" go negative, and the\nremaining \u003e\u003d sizeof(...) comparison will promote \"remaining\" to an\nunsigned type, which means that the expression will evaluate to\ntrue for negative numbers, even though it was not intended.\n\nI put \"theoretical\" in the title because I have no evidence that\nthis can actually happen, but I suspect that a crafted netlink\npacket can trigger some badness.\n\nNote that the last test, which seemingly has the exact same\nproblem (also true for nla_ok()), is perfectly OK, since we\nalready know that remaining is positive.\n\nSigned-off-by: Vegard Nossum \u003cvegard.nossum@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "aea3c5c05d2c409e93bfa80dcedc06af7da6c13b",
      "tree": "2ee271efa68ef7677c94b1c9daaa33b9ad6a2531",
      "parents": [
        "ea686a2653c5586b1c7192958b9d521abde66e92"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Thu Dec 25 16:57:24 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Dec 25 16:57:24 2008 -0800"
      },
      "message": "sctp: Implement socket option SCTP_GET_ASSOC_NUMBER\n\nImplement socket option SCTP_GET_ASSOC_NUMBER of the latest ietf socket\nextensions API draft.\n\n  8.2.5.  Get the Current Number of Associations (SCTP_GET_ASSOC_NUMBER)\n\n   This option gets the current number of associations that are attached\n   to a one-to-many style socket.  The option value is an uint32_t.\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "91d5d45ee0a8978870fd12e5c3fe394a530ec2ed",
      "tree": "2849fa4ce5110341627f76ac1fe36289fff27154",
      "parents": [
        "44a01d5ba8a4d543694461cd3e178cfa6b3f221b"
      ],
      "author": {
        "name": "Hendrik Brueckner",
        "email": "brueckner@linux.vnet.ibm.com",
        "time": "Thu Dec 25 13:38:58 2008 +0100"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Thu Dec 25 13:39:04 2008 +0100"
      },
      "message": "[S390] iucv: Locking free version of iucv_message_(receive|send)\n\nProvide a locking free version of iucv_message_receive and iucv_message_send\nthat do not call local_bh_enable in a spin_lock_(bh|irqsave)() context.\n\nSigned-off-by: Hendrik Brueckner \u003cbrueckner@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "cbacc2c7f066a1e01b33b0e27ae5efbf534bc2db",
      "tree": "90d1093131d2a3543a8b3b1f3364e7c6f4081a93",
      "parents": [
        "4a6908a3a050aacc9c3a2f36b276b46c0629ad91",
        "74192246910ff4fb95309ba1a683215644beeb62"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Dec 25 11:40:09 2008 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Dec 25 11:40:09 2008 +1100"
      },
      "message": "Merge branch \u0027next\u0027 into for-linus\n"
    },
    {
      "commit": "6332178d91ca1a9dbd99bd97cabbcf965d178e9f",
      "tree": "d98af2cbc7ff0e9e4d00b6cc8c79b05ca7815a5f",
      "parents": [
        "908a7a16b852ffd618a9127be8d62432182d81b4",
        "739840d529eb7505d3cbfe9d468bf1440c9a8e27"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 23 17:56:23 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 23 17:56:23 2008 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\n\tdrivers/net/ppp_generic.c\n"
    },
    {
      "commit": "1486a61ebcd2711532f8163d30babc40e11e7b40",
      "tree": "49fb6ba4e4f6ade0f1db0f6c86d0feb207857e65",
      "parents": [
        "c2da953a46b18b7515ad476c1c1686640a12e93a"
      ],
      "author": {
        "name": "Don Skidmore",
        "email": "donald.c.skidmore@intel.com",
        "time": "Sun Dec 21 20:09:50 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Dec 21 20:09:50 2008 -0800"
      },
      "message": "net: fix DCB setstate to return success/failure\n\nData Center Bridging (DCB) had no way to know if setstate had failed in the\ndriver.  This patch enables dcb netlink code to handle the status for the DCB\nsetstate interface.  Likewise it allows the driver to return a failed status\nif MSI-X isn\u0027t enabled.\n\nSigned-off-by: Don Skidmore \u003cdonald.c.skidmore@intel.com\u003e\nSigned-off-by: Eric W Multanen \u003ceric.w.multanen@intel.com\u003e\nSigned-off-by: Jeff Kirsher \u003cjeffrey.t.kirsher@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "520eb82076993b7f55ef9b80771d264272e5127b",
      "tree": "f98b74dbe404d4c3a55b5f649c25ca24958e62ba",
      "parents": [
        "ce7c9111a97492d04c504f40736a669c235d664a"
      ],
      "author": {
        "name": "Kalle Valo",
        "email": "kalle.valo@nokia.com",
        "time": "Thu Dec 18 23:35:27 2008 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Dec 19 15:24:00 2008 -0500"
      },
      "message": "mac80211: implement dynamic power save\n\nThis patch implements dynamic power save for mac80211. Basically it\nmeans enabling power save mode after an idle period. Implementing it\ndynamically gives a good compromise of low power consumption and low\nlatency. Some hardware have support for this in firmware, but some\nrequire the host to do it.\n\nThe dynamic power save is implemented by adding an timeout to\nieee80211_subif_start_xmit(). The timeout can be enabled from userspace\nwith Wireless Extensions. For example, the command below enables the\ndynamic power save and sets the time timeout to 500 ms:\n\niwconfig wlan0 power timeout 500m\n\nPower save now only works with devices which handle power save in firmware.\nIt\u0027s also disabled by default and the heuristics when and how to enable is\nconsidered as a policy decision and will be left for the userspace to handle.\nIn case the firmware has support for this, drivers can disable this feature\nwith IEEE80211_HW_NO_STACK_DYNAMIC_PS.\n\nBig thanks to Johannes Berg for the help with the design and code.\n\nSigned-off-by: Kalle Valo \u003ckalle.valo@nokia.com\u003e\nAcked-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "0fb8ca45eb164c405eef8978f26829f9348b4d4d",
      "tree": "1fc5728b225e7d5a0d06bb0700c83d64bde44f82",
      "parents": [
        "9d8eed12dbc04f8ed70090da14211c808b5a8d81"
      ],
      "author": {
        "name": "Jouni Malinen",
        "email": "jouni.malinen@atheros.com",
        "time": "Fri Dec 12 14:38:33 2008 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Dec 19 15:23:04 2008 -0500"
      },
      "message": "mac80211: Add HT rates into RX status reporting\n\nThis patch adds option for HT-enabled drivers to report HT rates\n(HT20/HT40, short GI, MCS index) to mac80211. These rates are\ncurrently not in the rate table, so the rate_idx is used to indicate\nMCS index.\n\nSigned-off-by: Jouni Malinen \u003cjouni.malinen@atheros.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "094d05dc32fc2930e381189a942016e5561775d9",
      "tree": "4deedbcbe196f88cb8d9fe0cd0755775a7ff0939",
      "parents": [
        "420e7fabd9c6d907280ed6b3e40eef425c5d8d8d"
      ],
      "author": {
        "name": "Sujith",
        "email": "Sujith.Manoharan@atheros.com",
        "time": "Fri Dec 12 11:57:43 2008 +0530"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Dec 19 15:22:54 2008 -0500"
      },
      "message": "mac80211: Fix HT channel selection\n\nHT management is done differently for AP and STA modes, unify\nto just the -\u003econfig() callback since HT is fundamentally a\nPHY property and cannot be per-BSS.\n\nRename enum nl80211_sec_chan_offset as nl80211_channel_type to denote\nthe channel type ( NO_HT, HT20, HT40+, HT40- ).\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: Sujith \u003cSujith.Manoharan@atheros.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "420e7fabd9c6d907280ed6b3e40eef425c5d8d8d",
      "tree": "6effc9f9386746d1aeb953e32fe82b0a5a5fdf18",
      "parents": [
        "221b3d60cbb2740ec7d46a4f1ea6d3318a112e51"
      ],
      "author": {
        "name": "Henning Rogge",
        "email": "hrogge@googlemail.com",
        "time": "Thu Dec 11 22:04:19 2008 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Dec 19 15:04:54 2008 -0500"
      },
      "message": "nl80211: Add signal strength and bandwith to nl80211station info\n\nThis patch adds signal strength and transmission bitrate\nto the station_info of nl80211.\n\nSigned-off-by: Henning Rogge \u003crogge@fgan.de\u003e\nAcked-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "be677730a0ccb6bedced6f65f2ba8f57a3c607ba",
      "tree": "3885b6ed60b72696a8b0102f7f1b85d0dd27617e",
      "parents": [
        "57c81fffc863fb4c1804bc963bcbfb82d736c6df"
      ],
      "author": {
        "name": "Rémi Denis-Courmont",
        "email": "remi.denis-courmont@nokia.com",
        "time": "Wed Dec 17 15:48:31 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 17 15:48:31 2008 -0800"
      },
      "message": "Phonet: use atomic for packet TX window\n\nGPRS TX flow control won\u0027t need to lock the underlying socket anymore.\n\nSigned-off-by: Rémi Denis-Courmont \u003cremi.denis-courmont@nokia.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "69c30e1e7492192f882a3fc11888b320fde5206a",
      "tree": "6181c8b6f516c2274d78983062b4da821fa71ffb",
      "parents": [
        "2fccd2814f8ebc8f1bd325dc46e11c333fc76ab3"
      ],
      "author": {
        "name": "Samuel Ortiz",
        "email": "samuel@sortiz.org",
        "time": "Wed Dec 17 15:44:58 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 17 15:44:58 2008 -0800"
      },
      "message": "irda: Add irda_skb_cb qdisc related padding\n\nWe need to pad irda_skb_cb in order to keep it safe accross dev_queue_xmit()\ncalls. This is some ugly and temporary hack triggered by recent qisc code\nchanges.\nEven though it fixes bugzilla.kernel.org bug #11795, it will be replaced by a\nproper fix before 2.6.29 is released.\n\nSigned-off-by: Samuel Ortiz \u003csamuel@sortiz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bf296b125b21b8d558ceb6ec30bb4eba2730cd6b",
      "tree": "5a06714c4001ccf1b217b888121f30d57fceea6d",
      "parents": [
        "71d93b39e52e92aea35f1058d957cf12250d0b75"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon Dec 15 23:43:36 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Dec 15 23:43:36 2008 -0800"
      },
      "message": "tcp: Add GRO support\n\nThis patch adds the TCP-specific portion of GRO.  The criterion for\nmerging is extremely strict (the TCP header must match exactly apart\nfrom the checksum) so as to allow refragmentation.  Otherwise this\nis pretty much identical to LRO, except that we support the merging\nof ECN packets.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "73cc19f1556b95976934de236fd9043f7208844f",
      "tree": "4ebe390a9b328bba32d149b9f83e998836806f5d",
      "parents": [
        "d565b0a1a9b6ee7dff46e1f68b26b526ac11ae50"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon Dec 15 23:41:09 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Dec 15 23:41:09 2008 -0800"
      },
      "message": "ipv4: Add GRO infrastructure\n\nThis patch adds GRO support for IPv4.\n\nThe criteria for merging is more stringent than LRO, in particular,\nwe require all fields in the IP header to be identical except for\nthe length, ID and checksum.  In addition, the ID must form an\narithmetic sequence with a difference of one.\n\nThe ID requirement might seem overly strict, however, most hardware\nTSO solutions already obey this rule.  Linux itself also obeys this\nwhether GSO is in use or not.\n\nIn future we could relax this rule by storing the IDs (or rather\nmaking sure that we don\u0027t drop them when pulling the aggregate\nskb\u0027s tail).\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "89fad578a61810b7fdf8edd294890f3c0cde4390",
      "tree": "7f8c3f45f83e3c1934b447a54d9971fcb4364eaa",
      "parents": [
        "dd397dc9dddfa2149a1bbc9e52ac7d5630737cec"
      ],
      "author": {
        "name": "Christian Lamparter",
        "email": "chunkeey@web.de",
        "time": "Tue Dec 09 16:28:06 2008 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Dec 12 14:01:42 2008 -0500"
      },
      "message": "mac80211: integrate sta_notify_ps cmds into sta_notify\n\nThis patch replaces the newly introduced sta_notify_ps function,\nwhich can be used to notify the driver about every power state\ntransition for all associated stations, by integrating its functionality\nback into the original sta_notify callback.\n\nSigned-off-by: Christian Lamparter \u003cchunkeey@web.de\u003e\nAcked-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "f546638c3f809fdacddc03fe765669c3042e0d9d",
      "tree": "2f5936ca90d2774ce33c03f96065ef561443af51",
      "parents": [
        "e4f2a3458f451d5fb6aa55aac6aaadcf220d0da1"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Dec 09 12:30:03 2008 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Dec 12 14:01:33 2008 -0500"
      },
      "message": "mac80211: remove fragmentation offload functionality\n\nThere\u0027s no driver that actually does fragmentation on the\ndevice, and the callback is buggy (when it returns an error,\nmac80211\u0027s fragmentation status is changed so reading the\nfrag threshold from userspace reads the new value despite\nthe error). Let\u0027s just remove it, if we really find some\nhardware supporting it we can add it back later.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "0f202aa2e1e1db1d20da9bcc3f5ad43c5a22d2d5",
      "tree": "fb125a7aa26de707a24c243f3032024cab4eb147",
      "parents": [
        "8aa15e1506bb0b6b643be12baf1f2d4d2f115931"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Dec 08 14:51:41 2008 -0500"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Dec 12 13:48:30 2008 -0500"
      },
      "message": "ieee80211_security: correct warning about width of auth_mode\n\nAlso remove auth_algo which is unused.\n\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "7ba1c04ed727a70df2dc63464232c0ec906ad67d",
      "tree": "c146057793701b7b828d3bf726984ca94ee0b80c",
      "parents": [
        "8ee5afbc9d2162f0919dd089023fb690f7cf8134"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Mon Dec 08 11:18:32 2008 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Dec 12 13:48:25 2008 -0500"
      },
      "message": "mac80211: improve sta_notify documentation\n\nMention more possible STA entries and document the atomic requirement.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "950d5704e5daa1f90bcd75b99163491e7b249169",
      "tree": "c46302160f4364dfc6e66c73c0c9910a9329810a",
      "parents": [
        "a21f3f997c73ced682129aedd372bb6b53041510"
      ],
      "author": {
        "name": "Benjamin Thery",
        "email": "benjamin.thery@bull.net",
        "time": "Wed Dec 10 16:29:24 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 10 16:29:24 2008 -0800"
      },
      "message": "netns: ip6mr: declare reg_vif_num per-namespace\n\nPreliminary work to make IPv6 multicast forwarding netns-aware.\n\nDeclare variable \u0027reg_vif_num\u0027 per-namespace, moves into struct netns_ipv6.\n\nAt the moment, this variable is only referenced in init_net.\n\nSigned-off-by: Benjamin Thery \u003cbenjamin.thery@bull.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a21f3f997c73ced682129aedd372bb6b53041510",
      "tree": "f236a2ef74036df4929f99350316096c6603a3ae",
      "parents": [
        "4045e57c19bee150370390545ee8a933b3f7a18d"
      ],
      "author": {
        "name": "Benjamin Thery",
        "email": "benjamin.thery@bull.net",
        "time": "Wed Dec 10 16:28:44 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 10 16:28:44 2008 -0800"
      },
      "message": "netns: ip6mr: declare mroute_do_assert and mroute_do_pim per-namespace\n\nPreliminary work to make IPv6 multicast forwarding netns-aware.\n\nDeclare IPv6 multicast forwarding variables \u0027mroute_do_assert\u0027 and\n\u0027mroute_do_pim\u0027 per-namespace in struct netns_ipv6.\n\nAt the moment, these variables are only referenced in init_net.\n\nSigned-off-by: Benjamin Thery \u003cbenjamin.thery@bull.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4045e57c19bee150370390545ee8a933b3f7a18d",
      "tree": "a4744efeed6819eff5acd9c13ca0fafe71df144d",
      "parents": [
        "4a6258a0e33d042e4c84d9dec25d45ddb40a70b3"
      ],
      "author": {
        "name": "Benjamin Thery",
        "email": "benjamin.thery@bull.net",
        "time": "Wed Dec 10 16:27:21 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 10 16:27:21 2008 -0800"
      },
      "message": "netns: ip6mr: declare counter cache_resolve_queue_len per-namespace\n\nPreliminary work to make IPv6 multicast forwarding netns-aware.\n\nDeclare variable cache_resolve_queue_len per-namespace: moves it into\nstruct netns_ipv6.\n\nThis variable counts the number of unresolved cache entries queued in the\nlist mfc_unres_queue. This list is kept global to all netns as the number\nof entries per namespace is limited to 10 (hardcoded in routine \nip6mr_cache_unresolved).\nEntries belonging to different namespaces in mfc_unres_queue will be\nidentified by matching the mfc_net member introduced previously in \nstruct mfc6_cache.\n\nKeeping this list global to all netns, also allows us to keep a single\ntimer (ipmr_expire_timer) to handle their expiration.\nIn some places cache_resolve_queue_len value was tested for arming \nor deleting the timer. These tests were equivalent to testing \nmfc_unres_queue value instead and are replaced in this patch.\n\nAt the moment, cache_resolve_queue_len is only referenced in init_net.\n\nSigned-off-by: Benjamin Thery \u003cbenjamin.thery@bull.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4a6258a0e33d042e4c84d9dec25d45ddb40a70b3",
      "tree": "5cc24a8d367593b039c32a0d1fa4a64730673542",
      "parents": [
        "58701ad41105638baa0b38ffe9ac5b10469c1fd3"
      ],
      "author": {
        "name": "Benjamin Thery",
        "email": "benjamin.thery@bull.net",
        "time": "Wed Dec 10 16:24:07 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 10 16:24:07 2008 -0800"
      },
      "message": "netns: ip6mr: dynamically allocate mfc6_cache_array\n\nPreliminary work to make IPv6 multicast forwarding netns-aware.\n\nDynamically allocates IPv6 multicast forwarding cache, mfc6_cache_array,\nand moves it to struct netns_ipv6. \n\nAt the moment, mfc6_cache_array is only referenced in init_net.\n\nReplace \u0027ARRAY_SIZE(mfc6_cache_array)\u0027 with mfc6_cache_array size: MFC6_LINES.\n\nSigned-off-by: Benjamin Thery \u003cbenjamin.thery@bull.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4e16880cb4225bfa68878ad5b2a9ded53657d054",
      "tree": "6a8c15e47fe33edede4c4bd79c05dabc5ca2f79c",
      "parents": [
        "bd91b8bf372911c1e4d66d6bb44fe409349a6791"
      ],
      "author": {
        "name": "Benjamin Thery",
        "email": "benjamin.thery@bull.net",
        "time": "Wed Dec 10 16:15:08 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 10 16:15:08 2008 -0800"
      },
      "message": "netns: ip6mr: dynamically allocates vif6_table\n\nPreliminary work to make IPv6 multicast forwarding netns-aware.\n\nDynamically allocates interface table vif6_table and moves it to \nstruct netns_ipv6, and updates MIF_EXISTS() macro. \n\nAt the moment, vif6_table is only referenced in init_net.\n\nSigned-off-by: Benjamin Thery \u003cbenjamin.thery@bull.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bd91b8bf372911c1e4d66d6bb44fe409349a6791",
      "tree": "18a79fc3c86ad833523562d7b73a9a557207b51b",
      "parents": [
        "5eaa65b240c5eb7bf2235eb9dd177c83e6e3832c"
      ],
      "author": {
        "name": "Benjamin Thery",
        "email": "benjamin.thery@bull.net",
        "time": "Wed Dec 10 16:07:08 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 10 16:07:08 2008 -0800"
      },
      "message": "netns: ip6mr: allocate mroute6_socket per-namespace.\n\nPreliminary work to make IPv6 multicast forwarding netns-aware.\n\nMake IPv6 multicast forwarding mroute6_socket per-namespace,\nmoves it into struct netns_ipv6.\n\nAt the moment, mroute6_socket is only referenced in init_net.\n\nSigned-off-by: Benjamin Thery \u003cbenjamin.thery@bull.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8bef7a10014c4579c66579ab47fc1bb9563ac42a",
      "tree": "d446d570f9bc3e2f3a9bf946e235e12f8cfb0757",
      "parents": [
        "02e37ba1298359baa123cf71ffa03d92abd259b2"
      ],
      "author": {
        "name": "Kalle Valo",
        "email": "kalle.valo@nokia.com",
        "time": "Sun Nov 30 20:56:28 2008 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Dec 05 09:35:45 2008 -0500"
      },
      "message": "mac80211: document ieee80211_tx_info.pad\n\nFixes htmldocs warning:\n\nWarning(mac80211.h:379): No description found for parameter \u0027pad[2]\u0027\n\nSigned-off-by: Kalle Valo \u003ckalle.valo@nokia.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "4571d3bf87b76eae875283ff9f7243984b5ddcae",
      "tree": "7c621ac727de783f9446765208470a53aeafb184",
      "parents": [
        "2a163c6de452c0b321396caceac5d163949b4cf2"
      ],
      "author": {
        "name": "Christian Lamparter",
        "email": "chunkeey@web.de",
        "time": "Sun Nov 30 00:48:41 2008 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Dec 05 09:35:43 2008 -0500"
      },
      "message": "mac80211: add sta_notify_ps callback\n\nThis patch is necessary in order to provide a proper Access point support for p54.\nUnfortunately for us, there is no documented way to disable the interfering\npower save buffering mechanism in firmware completely.\n\nTherefore we give in and notify the driver through our new sta_notify_ps callback,\nso that we can update the filter state.\n\nSigned-off-by: Christian Lamparter \u003cchunkeey@web.de\u003e\nAcked-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "007e5ddddfed4ba039899754936e89b27d5cb551",
      "tree": "80b99e46a0a3b82be8dc87701512a738d0142f79",
      "parents": [
        "e11602b7813502bf363c40cdb5a8c4b96d4bbc96"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu Nov 27 23:13:38 2008 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Dec 05 09:32:59 2008 -0500"
      },
      "message": "wireless: clean up radiotap a bit\n\nNo need to pad the header so no constant needed for that,\nno need to carry any version number from netbsd nor CVS\nIDs from them.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "e60c7744f8aa77bcbcb0b294596d6c87445d1200",
      "tree": "7039c0906d825b035595a826cd117fd08242d0ad",
      "parents": [
        "fee52678dbda2099a25243e79da98dc390e1939a"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Nov 26 23:31:40 2008 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Dec 05 09:32:58 2008 -0500"
      },
      "message": "cfg80211: handle SIOCGIWMODE/SIOCSIWMODE\n\nfurther reducing wext code in mac80211.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "fee52678dbda2099a25243e79da98dc390e1939a",
      "tree": "4bf459c869e89cf2bb0be2869be3e6a720f9a218",
      "parents": [
        "f650470a8f506bc33a15778432ebb8cdcf89175b"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Nov 26 22:36:31 2008 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Dec 05 09:32:13 2008 -0500"
      },
      "message": "cfg80211: handle SIOCGIWNAME\n\nThis patch moves the SIOCGIWNAME handling from mac80211 to cfg80211.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "72bdcf34380917260da41e3c49e10edee04bc5cd",
      "tree": "cbfb8e389f58514febf47ea62781517a9df42f25",
      "parents": [
        "72eaa43a532b4156966444779829a986a4432f11"
      ],
      "author": {
        "name": "Jouni Malinen",
        "email": "j@w1.fi",
        "time": "Wed Nov 26 16:15:24 2008 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Dec 05 09:32:11 2008 -0500"
      },
      "message": "nl80211: Add frequency configuration (including HT40)\n\nThis patch adds new NL80211_CMD_SET_WIPHY attributes\nNL80211_ATTR_WIPHY_FREQ and NL80211_ATTR_WIPHY_SEC_CHAN_OFFSET to allow\nuserspace to set the operating channel (e.g., hostapd for AP mode).\n\nSigned-off-by: Jouni Malinen \u003cjouni.malinen@atheros.com\u003e\nAcked-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "ec98ce480ada787f2cfbd696980ff3564415505b",
      "tree": "1a4d644b38f9f1e4b4e086fde0b195df4a92cf84",
      "parents": [
        "3496f92beb9aa99ef21fccc154a36c7698e9c538",
        "feaf3848a813a106f163013af6fcf6c4bfec92d9"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Dec 04 17:16:36 2008 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Dec 04 17:16:36 2008 +1100"
      },
      "message": "Merge branch \u0027master\u0027 into next\n\nConflicts:\n\tfs/nfsd/nfs4recover.c\n\nManually fixed above to use new creds API functions, e.g.\nnfs4_save_creds().\n\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "52404881984e2d447f920a23e3bb63262dfc77f3",
      "tree": "531b4ac50fe372d26bf950c77d31f2ddcb40153c",
      "parents": [
        "d81d228567f55af517796638075dbbce9b40d7af"
      ],
      "author": {
        "name": "Rémi Denis-Courmont",
        "email": "remi.denis-courmont@nokia.com",
        "time": "Wed Dec 03 15:42:56 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 03 15:42:56 2008 -0800"
      },
      "message": "Phonet: basic net namespace support\n\nSigned-off-by: Rémi Denis-Courmont \u003cremi.denis-courmont@nokia.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3f8c6c9c7739d18e4b75902fdcbf6c3ba98dc123",
      "tree": "628bc741d82a85f4c93190d38df5633d9c508b58",
      "parents": [
        "aa2ba5f1082dc705745899584aac8416d710c056",
        "9a5df92374d65e2886b92e98dd7d873c533a83ff"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 02 22:38:02 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 02 22:38:02 2008 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/holtmann/bluetooth-next-2.6\n"
    },
    {
      "commit": "aa2ba5f1082dc705745899584aac8416d710c056",
      "tree": "bde0bf4aff036c6bac19a0212194ae1092afb3c9",
      "parents": [
        "68024541e2e5a8f35e281daaa5068a29e2a538a5",
        "f6f7b52e2f6149d2ee365717afff315b05720162"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 02 19:50:27 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 02 19:50:27 2008 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\n\tdrivers/net/ixgbe/ixgbe_main.c\n\tdrivers/net/smc91x.c\n"
    },
    {
      "commit": "a418b893a6af11ae73c762ed5b76c1bad6dc19d8",
      "tree": "a24f9192988e4d55077d77420b90dc3cfd647a06",
      "parents": [
        "5ddd4a60683f819982b7bd3d1aee972f931c11a3"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Sun Nov 30 12:17:28 2008 +0100"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Sun Nov 30 12:17:28 2008 +0100"
      },
      "message": "Bluetooth: Enable per-module dynamic debug messages\n\nWith the introduction of CONFIG_DYNAMIC_PRINTK_DEBUG it is possible to\nallow debugging without having to recompile the kernel. This patch turns\nall BT_DBG() calls into pr_debug() to support dynamic debug messages.\n\nAs a side effect all CONFIG_BT_*_DEBUG statements are now removed and\nsome broken debug entries have been fixed.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "7a9d4020533b5c0c615b6de3be154c9ff30b8cc9",
      "tree": "7d2957eb96f87f9ba8fcaf8c28aa7f4e93740fb6",
      "parents": [
        "12421b40b81d101d7535e03f1af197365adc932b"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Sun Nov 30 12:17:26 2008 +0100"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Sun Nov 30 12:17:26 2008 +0100"
      },
      "message": "Bluetooth: Send HCI Reset command by default on device initialization\n\nThe Bluetooth subsystem was not using the HCI Reset command when doing\ndevice initialization. The Bluetooth 1.0b specification was ambiguous\non how the device firmware was suppose to handle it. Almost every device\nwas triggering a transport reset at the same time. In case of USB this\nended up in disconnects from the bus.\n\nAll modern Bluetooth dongles handle this perfectly fine and a lot of\nthem actually require that HCI Reset is sent. If not then they are\neither stuck in their HID Proxy mode or their internal structures for\ninquiry and paging are not correctly setup.\n\nTo handle old and new devices smoothly the Bluetooth subsystem contains\na quirk to force the HCI Reset on initialization. However maintaining\nsuch a quirk becomes more and more complicated. This patch turns the\nlogic around and lets the old devices disable the HCI Reset command.\n\nThe only device where the HCI_QUIRK_NO_RESET is still needed are the\noriginal Digianswer devices and dongles with an early CSR firmware.\n\nCSR reported that they fixed this for version 12 firmware. The last\nofficial release of version 11 firmware is build ID 115. The first\nversion 12 candidate was build ID 117.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "ed77a89c30fa03dcb234a84ddea710b3fb7b62da",
      "tree": "69f3e2c2bbf2fdd4f742e891441f01307d1d1f49",
      "parents": [
        "475ad8e2172d7f8b73af5532a8dad265b51339c2",
        "d6e8cc6cc7ac77b0f9118f78c453a2e834e62709"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Nov 28 02:19:15 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Nov 28 02:19:15 2008 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/kaber/nf-next-2.6\n\nConflicts:\n\n\tnet/netfilter/nf_conntrack_netlink.c\n"
    },
    {
      "commit": "475ad8e2172d7f8b73af5532a8dad265b51339c2",
      "tree": "f99d99118e8e8f4a514de9d14140474359438bc4",
      "parents": [
        "feea6a574d432e08cebf66d993a6ed1f310e0e5d"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Thu Nov 27 23:04:13 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 27 23:04:13 2008 -0800"
      },
      "message": "decnet: compile fix for removal of byteorder wrapper\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c4106aa88a440430d387e022f2ad6dc1e0d52e98",
      "tree": "09064e6e767301ca28357ed5125e99123f5beaca",
      "parents": [
        "5b9ab2ec04ec1e1e53939768805612ac191d7ba2"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Thu Nov 27 00:12:47 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 27 00:12:47 2008 -0800"
      },
      "message": "decnet: remove private wrappers of endian helpers\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nReviewed-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5b9ab2ec04ec1e1e53939768805612ac191d7ba2",
      "tree": "22d29905c148d2d743b3eccb585fbe60fb91e25a",
      "parents": [
        "851fd7bd88524bb4e20f3def3127cd9167d6d0cf",
        "3ec192559033ed457f0d7856838654c100fc659f"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 26 23:48:40 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 26 23:48:40 2008 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\n\tdrivers/net/hp-plus.c\n\tdrivers/net/wireless/ath5k/base.c\n\tdrivers/net/wireless/ath9k/recv.c\n\tnet/wireless/reg.c\n"
    },
    {
      "commit": "5f23b734963ec7eaa3ebcd9050da0c9b7d143dd3",
      "tree": "f82c2265540dd5d32d64f08976cd9b6216842544",
      "parents": [
        "efbbced361f3ff4ff9e85310ccff894185c4d904"
      ],
      "author": {
        "name": "dann frazier",
        "email": "dannf@hp.com",
        "time": "Wed Nov 26 15:32:27 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 26 15:32:27 2008 -0800"
      },
      "message": "net: Fix soft lockups/OOM issues w/ unix garbage collector\n\nThis is an implementation of David Miller\u0027s suggested fix in:\n  https://bugzilla.redhat.com/show_bug.cgi?id\u003d470201\n\nIt has been updated to use wait_event() instead of\nwait_event_interruptible().\n\nParaphrasing the description from the above report, it makes sendmsg()\nblock while UNIX garbage collection is in progress. This avoids a\nsituation where child processes continue to queue new FDs over a\nAF_UNIX socket to a parent which is in the exit path and running\ngarbage collection on these FDs. This contention can result in soft\nlockups and oom-killing of unrelated processes.\n\nSigned-off-by: dann frazier \u003cdannf@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b5ddedc9cc01b1d86015af08c5f1694191804530",
      "tree": "db08f24da9ef4dcec0976ee4de4d77e5e596057e",
      "parents": [
        "244e6c2d0724bc4908a1995804704bdee3b31528",
        "b235507cc5e552b9e75678d596727249e8fba01b"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 26 15:28:40 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 26 15:28:40 2008 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6\n"
    },
    {
      "commit": "244e6c2d0724bc4908a1995804704bdee3b31528",
      "tree": "e208a765607733401302bf8582b37d1adab63c08",
      "parents": [
        "3d4cd60ed0533d3b33832e298530c7b021da982b"
      ],
      "author": {
        "name": "Jarek Poplawski",
        "email": "jarkao2@gmail.com",
        "time": "Wed Nov 26 15:24:32 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 26 15:24:32 2008 -0800"
      },
      "message": "pkt_sched: gen_estimator: Optimize gen_estimator_active()\n\nSince all other gen_estimator functions use bstats and rate_est params\ntogether, and searching for them is optimized now, let\u0027s use this also\nin gen_estimator_active(). The return type of gen_estimator_active()\nis changed to bool, and gen_find_node() parameters to const, btw.\n\nIn tcf_act_police_locate() a check for ACT_P_CREATED is added before\ncalling gen_estimator_active().\n\nSigned-off-by: Jarek Poplawski \u003cjarkao2@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "dd24c00191d5e4a1ae896aafe33c6b8095ab4bd1",
      "tree": "e955c09e0b288e50c706b6ee409229d5a930c80c",
      "parents": [
        "1748376b6626acf59c24e9592ac67b3fe2a0e026"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Tue Nov 25 21:17:14 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 25 21:17:14 2008 -0800"
      },
      "message": "net: Use a percpu_counter for orphan_count\n\nInstead of using one atomic_t per protocol, use a percpu_counter\nfor \"orphan_count\", to reduce cache line contention on\nheavy duty network servers. \n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1748376b6626acf59c24e9592ac67b3fe2a0e026",
      "tree": "65a28205daf1ca92e31389440764fc407365014e",
      "parents": [
        "c1b56878fb68e9c14070939ea4537ad4db79ffae"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Tue Nov 25 21:16:35 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 25 21:16:35 2008 -0800"
      },
      "message": "net: Use a percpu_counter for sockets_allocated\n\nInstead of using one atomic_t per protocol, use a percpu_counter\nfor \"sockets_allocated\", to reduce cache line contention on\nheavy duty network servers. \n\nNote : We revert commit (248969ae31e1b3276fc4399d67ce29a5d81e6fd9\nnet: af_unix can make unix_nr_socks visbile in /proc),\nsince it is not anymore used after sock_prot_inuse_add() addition\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c1b56878fb68e9c14070939ea4537ad4db79ffae",
      "tree": "589f890f81e075380493905509244a0970d942f8",
      "parents": [
        "71bcb09a57894fa35591ce93dd972065eeecb63a"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Tue Nov 25 21:14:06 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 25 21:14:06 2008 -0800"
      },
      "message": "tc: policing requires a rate estimator\n\nFound that while trying average rate policing, it was possible to\nrequest average rate policing without a rate estimator. This results\nin no policing which is harmless but incorrect.\n\nSince policing could be setup in two steps, need to check\nin the kernel.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b27aeadb5948d400df83db4d29590fb9862ba49d",
      "tree": "f76cc43150164facbb890e4d5c619a99fe6ce303",
      "parents": [
        "c68cd1a01ba56995d85a4a62b195b2b3f6415c64"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Nov 25 18:00:48 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 25 18:00:48 2008 -0800"
      },
      "message": "netns xfrm: per-netns sysctls\n\nMake\n\tnet.core.xfrm_aevent_etime\n\tnet.core.xfrm_acq_expires\n\tnet.core.xfrm_aevent_rseqth\n\tnet.core.xfrm_larval_drop\n\nsysctls per-netns.\n\nFor that make net_core_path[] global, register it to prevent two\n/proc/net/core antries and change initcall position -- xfrm_init() is called\nfrom fs_initcall, so this one should be fs_initcall at least.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c68cd1a01ba56995d85a4a62b195b2b3f6415c64",
      "tree": "69351005622aced7acf9085fa5c54134419286ba",
      "parents": [
        "59c9940ed0ef026673cac52f2eaed77af7d486da"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Nov 25 18:00:14 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 25 18:00:14 2008 -0800"
      },
      "message": "netns xfrm: /proc/net/xfrm_stat in netns\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "59c9940ed0ef026673cac52f2eaed77af7d486da",
      "tree": "d7d4e38e693178f16000eaa5ae03f415f3197f7a",
      "parents": [
        "4fb236bac9fc7d51e2267866de6d4c30e549d2f8"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Nov 25 17:59:52 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 25 17:59:52 2008 -0800"
      },
      "message": "netns xfrm: per-netns MIBs\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fbda33b2b85941c1ae3a0d89522dec5c1b1bd98c",
      "tree": "f35036a6faf4fa549e45ff2b0407344e17cf9455",
      "parents": [
        "c5b3cf46eabe6e7459125fc6e2033b4222665017"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Nov 25 17:56:49 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 25 17:56:49 2008 -0800"
      },
      "message": "netns xfrm: -\u003eget_saddr in netns\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c5b3cf46eabe6e7459125fc6e2033b4222665017",
      "tree": "a968ad567906d7b45270b9e91d534493f8a1a38d",
      "parents": [
        "db983c1144884cab10d6397532f4bf05eb0c01d2"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Nov 25 17:51:25 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 25 17:51:25 2008 -0800"
      },
      "message": "netns xfrm: -\u003edst_lookup in netns\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "db983c1144884cab10d6397532f4bf05eb0c01d2",
      "tree": "ebb86abdaeb916191424407881d52635019502cf",
      "parents": [
        "7067802e262457a9737521e5669b622028b2283a"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Nov 25 17:51:01 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 25 17:51:01 2008 -0800"
      },
      "message": "netns xfrm: KM reporting in netns\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7067802e262457a9737521e5669b622028b2283a",
      "tree": "f6f94b1429700979cb1407fc1f96de487f6bf085",
      "parents": [
        "fc34acd36eecdec95171b98ef2516e3d4daa5c41"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Nov 25 17:50:36 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 25 17:50:36 2008 -0800"
      },
      "message": "netns xfrm: pass netns with KM notifications\n\nSA and SPD flush are executed with NULL SA and SPD respectively, for\nthese cases pass netns explicitly from userspace socket.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a6483b790f8efcd8db190c1c0ff93f9d9efe919a",
      "tree": "e05ba1d3e7014409a69d878bf9f24c5eb93365e4",
      "parents": [
        "bd235e3cfff617ff91677da553714051866ba55f"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Nov 25 17:38:20 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 25 17:38:20 2008 -0800"
      },
      "message": "netns xfrm: per-netns NETLINK_XFRM socket\n\nStub senders to init_net\u0027s one temporarily.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ddcfd79680c1dc74eb5f24aa70785c11bf7eec8f",
      "tree": "f1d762f6b1cf6bcec289fe558a26dcb4e37ffb29",
      "parents": [
        "3dd0b4997a1d4f3a3666e400cc75b0279ce96849"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Nov 25 17:37:23 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 25 17:37:23 2008 -0800"
      },
      "message": "netns xfrm: dst garbage-collecting in netns\n\nPass netns pointer to struct xfrm_policy_afinfo::garbage_collect()\n\n\t[This needs more thoughts on what to do with dst_ops]\n\t[Currently stub to init_net]\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "99a66657b2f62ae8b2b1e6ffc6abed051e4561ca",
      "tree": "ce3d720da709565e427ad805ba8b50a4bbb2b5d3",
      "parents": [
        "f6e1e25d703c0a9ba1863384a16851dec52f8e3a"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Nov 25 17:36:13 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 25 17:36:13 2008 -0800"
      },
      "message": "netns xfrm: xfrm_route_forward() in netns\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f6e1e25d703c0a9ba1863384a16851dec52f8e3a",
      "tree": "cd89a1a4f3d4f6c54448d922347f4054ea6e04a0",
      "parents": [
        "52479b623d3d41df84c499325b6a8c7915413032"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Nov 25 17:35:44 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 25 17:35:44 2008 -0800"
      },
      "message": "netns xfrm: xfrm_policy_check in netns\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "52479b623d3d41df84c499325b6a8c7915413032",
      "tree": "196f303f296b53dc89a05954d9c03226a9b4158b",
      "parents": [
        "cdcbca7c1f1946758cfacb69bc1c7eeaccb11e2d"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Nov 25 17:35:18 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 25 17:35:18 2008 -0800"
      },
      "message": "netns xfrm: lookup in netns\n\nPass netns to xfrm_lookup()/__xfrm_lookup(). For that pass netns\nto flow_cache_lookup() and resolver callback.\n\nTake it from socket or netdevice. Stub DECnet to init_net.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cdcbca7c1f1946758cfacb69bc1c7eeaccb11e2d",
      "tree": "1ee0f5edf7fb9e50f7f70c680044be33d41a0d41",
      "parents": [
        "8d1211a6aaea43ea36151c17b0193eb763ff2d7e"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Nov 25 17:34:49 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 25 17:34:49 2008 -0800"
      },
      "message": "netns xfrm: policy walking in netns\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8d1211a6aaea43ea36151c17b0193eb763ff2d7e",
      "tree": "8e58601a897ec0e2afb3b2b1df695560b0d76ed4",
      "parents": [
        "33ffbbd52c327225a3e28485c39dc5746d81be03"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Nov 25 17:34:20 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 25 17:34:20 2008 -0800"
      },
      "message": "netns xfrm: finding policy in netns\n\nAdd netns parameter to xfrm_policy_bysel_ctx(), xfrm_policy_byidx().\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "33ffbbd52c327225a3e28485c39dc5746d81be03",
      "tree": "ae11b5bbc1651fa5bb53c6c9764128ad7a8a574a",
      "parents": [
        "1121994c803f4a4f471d617443ff2a09515725e7"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Nov 25 17:33:32 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 25 17:33:32 2008 -0800"
      },
      "message": "netns xfrm: policy flushing in netns\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "284fa7da300adcb700b44df2f64a536b434d4650",
      "tree": "382f31cff91d68085b03bd4df639fd7ad3c78051",
      "parents": [
        "5447c5e401c49aba0c36bb1066f2d25b152553b7"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Nov 25 17:32:14 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 25 17:32:14 2008 -0800"
      },
      "message": "netns xfrm: state walking in netns\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5447c5e401c49aba0c36bb1066f2d25b152553b7",
      "tree": "5a5b4e0736368a70a266bd04075d174310aa5f80",
      "parents": [
        "12604d8aaa38ac4e24299c9803fefdb301a16421"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Nov 25 17:31:51 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 25 17:31:51 2008 -0800"
      },
      "message": "netns xfrm: finding states in netns\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "221df1ed33c9284fc7a6f6e47ca7f8d5f3665d43",
      "tree": "1961ab9f9061b595e10449a24e7275d91f422de2",
      "parents": [
        "0e6024519b4da2d9413b97be1de8122d5709ccc1"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Nov 25 17:30:50 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 25 17:30:50 2008 -0800"
      },
      "message": "netns xfrm: state lookup in netns\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0e6024519b4da2d9413b97be1de8122d5709ccc1",
      "tree": "169bb5b6b763dbb63ccb23decd36441daa8398ca",
      "parents": [
        "98806f75ba2afc716e4d2f915d3ac7687546f9c0"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Nov 25 17:30:18 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 25 17:30:18 2008 -0800"
      },
      "message": "netns xfrm: state flush in netns\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "66caf628c3b634c57b14a1a104dcd57e4fab2e3b",
      "tree": "d5a967f7c22e55208bc536c540efb85f26b9b483",
      "parents": [
        "dc2caba7b321289e7d02e63d7216961ccecfa103"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Nov 25 17:28:57 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 25 17:28:57 2008 -0800"
      },
      "message": "netns xfrm: per-netns policy hash resizing work\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "dc2caba7b321289e7d02e63d7216961ccecfa103",
      "tree": "639c3da4e2a2b35af3b4dfe980994ce7f9a27c0e",
      "parents": [
        "a35f6c5de32664d82c072a7e2c7d5c5234de4158"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Nov 25 17:24:15 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 25 17:24:15 2008 -0800"
      },
      "message": "netns xfrm: per-netns policy counts\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a35f6c5de32664d82c072a7e2c7d5c5234de4158",
      "tree": "4eae7591e4bacb4ce4700eae2399c5622f4f4ffa",
      "parents": [
        "8b18f8eaf9207d53ba3e69f2b98d7290f4dec227"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Nov 25 17:23:48 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 25 17:23:48 2008 -0800"
      },
      "message": "netns xfrm: per-netns xfrm_policy_bydst hash\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8b18f8eaf9207d53ba3e69f2b98d7290f4dec227",
      "tree": "b4f323ac9aa6f1956c3ad4398a2230fc7a01d3e4",
      "parents": [
        "8100bea7d619e8496ad8e545d1b41f536e076cd5"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Nov 25 17:23:26 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 25 17:23:26 2008 -0800"
      },
      "message": "netns xfrm: per-netns inexact policies\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8100bea7d619e8496ad8e545d1b41f536e076cd5",
      "tree": "f0f6163bcfec148cb32941bea908737486896bc0",
      "parents": [
        "93b851c1c93c7d5cd8d94cd3f3a268b2d5460e9e"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Nov 25 17:22:58 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 25 17:22:58 2008 -0800"
      },
      "message": "netns xfrm: per-netns xfrm_policy_byidx hashmask\n\nPer-netns hashes are independently resizeable.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "93b851c1c93c7d5cd8d94cd3f3a268b2d5460e9e",
      "tree": "b641247bb4ca596de9c19ef6a785256902fc17b3",
      "parents": [
        "adfcf0b27e87d16a6a8c364daa724653d4d8930b"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Nov 25 17:22:35 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 25 17:22:35 2008 -0800"
      },
      "message": "netns xfrm: per-netns xfrm_policy_byidx hash\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "adfcf0b27e87d16a6a8c364daa724653d4d8930b",
      "tree": "568da73362373cf293e94eceddbfc4bebe43d2bb",
      "parents": [
        "0331b1f383e1fa4049f8e75cafeea8f006171c64"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Nov 25 17:22:11 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 25 17:22:11 2008 -0800"
      },
      "message": "netns xfrm: per-netns policy list\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0331b1f383e1fa4049f8e75cafeea8f006171c64",
      "tree": "69409ab7c17e1527ed063bb4f2eda440e2cb4ea2",
      "parents": [
        "50a30657fd7ee77a94a6bf0ad86eba7c37c3032e"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Nov 25 17:21:45 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 25 17:21:45 2008 -0800"
      },
      "message": "netns xfrm: add struct xfrm_policy::xp_net\n\nAgain, to avoid complications with passing netns when not necessary.\nAgain, -\u003exp_net is set-once field, once set it never changes.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "50a30657fd7ee77a94a6bf0ad86eba7c37c3032e",
      "tree": "7eb9165881b9082588eb2c373e9ed2ebc013321e",
      "parents": [
        "c78371441c0d957f54c9f8a35b3ee5a378d14808"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Nov 25 17:21:01 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 25 17:21:01 2008 -0800"
      },
      "message": "netns xfrm: per-netns km_waitq\n\nDisallow spurious wakeups in __xfrm_lookup().\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c78371441c0d957f54c9f8a35b3ee5a378d14808",
      "tree": "660b55bc3d85aa04a72bbff6c7d357f82dc5494d",
      "parents": [
        "b8a0ae20b0eecd4b86a113d2abe2fa5a582b30a6"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Nov 25 17:20:36 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 25 17:20:36 2008 -0800"
      },
      "message": "netns xfrm: per-netns state GC work\n\nState GC is per-netns, and this is part of it.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b8a0ae20b0eecd4b86a113d2abe2fa5a582b30a6",
      "tree": "7425a504250c79c86c69293772a4a4271ed74237",
      "parents": [
        "630827338585022b851ec0a6335df8e436c900e4"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Nov 25 17:20:11 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 25 17:20:11 2008 -0800"
      },
      "message": "netns xfrm: per-netns state GC list\n\nkm_waitq is going to be made per-netns to disallow spurious wakeups\nin __xfrm_lookup().\n\nTo not wakeup after every garbage-collected xfrm_state (which potentially\ncan be from different netns) make state GC list per-netns.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "630827338585022b851ec0a6335df8e436c900e4",
      "tree": "d40fcd9a94157171f14b481e7571ae255c6aab8f",
      "parents": [
        "0bf7c5b019518d3fe9cb96b9c97bf44d251472c3"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Nov 25 17:19:07 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 25 17:19:07 2008 -0800"
      },
      "message": "netns xfrm: per-netns xfrm_hash_work\n\nAll of this is implicit passing which netns\u0027s hashes should be resized.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0bf7c5b019518d3fe9cb96b9c97bf44d251472c3",
      "tree": "9deba01a0f6a5e3bbe88f568be2d984e08254af3",
      "parents": [
        "529983ecabeae3d8e61c9e27079154b1b8544dcd"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Nov 25 17:18:39 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 25 17:18:39 2008 -0800"
      },
      "message": "netns xfrm: per-netns xfrm_state counts\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "529983ecabeae3d8e61c9e27079154b1b8544dcd",
      "tree": "eb440806ba098ed3abf629bcb57c53e5a61e7b17",
      "parents": [
        "b754a4fd8f58d245c9b5e92914cce09c4309cb67"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Nov 25 17:18:12 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 25 17:18:12 2008 -0800"
      },
      "message": "netns xfrm: per-netns xfrm_state_hmask\n\nSince hashtables are per-netns, they can be independently resized.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b754a4fd8f58d245c9b5e92914cce09c4309cb67",
      "tree": "b4b98f60c8be664723106a6ef91cdab669c29657",
      "parents": [
        "d320bbb306f2085892bc958781e8fcaf5d491589"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Nov 25 17:17:47 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 25 17:17:47 2008 -0800"
      },
      "message": "netns xfrm: per-netns xfrm_state_byspi hash\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d320bbb306f2085892bc958781e8fcaf5d491589",
      "tree": "b86290122569b7201be6df4632eeca4fd4483ef9",
      "parents": [
        "73d189dce486cd6693fa29169b1aac0872efbcea"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Nov 25 17:17:24 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 25 17:17:24 2008 -0800"
      },
      "message": "netns xfrm: per-netns xfrm_state_bysrc hash\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "73d189dce486cd6693fa29169b1aac0872efbcea",
      "tree": "1c82e87feef2d99d3644f98b66bc90006259d86e",
      "parents": [
        "9d4139c76905833afcb77fe8ccc17f302a0eb9ab"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Nov 25 17:16:58 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 25 17:16:58 2008 -0800"
      },
      "message": "netns xfrm: per-netns xfrm_state_bydst hash\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9d4139c76905833afcb77fe8ccc17f302a0eb9ab",
      "tree": "40cb6b05eeffd0478f6d767effaa5d346aa3df82",
      "parents": [
        "673c09be457bb23aa0eaaa79804cbb342210d195"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Nov 25 17:16:11 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 25 17:16:11 2008 -0800"
      },
      "message": "netns xfrm: per-netns xfrm_state_all list\n\nThis is done to get\na) simple \"something leaked\" check\nb) cover possible DoSes when other netns puts many, many xfrm_states\n   onto a list.\nc) not miss \"alien xfrm_state\" check in some of list iterators in future.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "673c09be457bb23aa0eaaa79804cbb342210d195",
      "tree": "9948d1859bbcd07316f5cea239b86845d6061570",
      "parents": [
        "d62ddc21b674b5ac1466091ff3fbf7baa53bc92c"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Nov 25 17:15:16 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 25 17:15:16 2008 -0800"
      },
      "message": "netns xfrm: add struct xfrm_state::xs_net\n\nTo avoid unnecessary complications with passing netns around.\n\n* set once, very early after allocating\n* once set, never changes\n\nFor a while create every xfrm_state in init_net.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d62ddc21b674b5ac1466091ff3fbf7baa53bc92c",
      "tree": "13e57abe023b5258b168e7f9108015a78493e481",
      "parents": [
        "c95839693d2a6612af7f75ad877012eba2f69757"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Nov 25 17:14:31 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 25 17:14:31 2008 -0800"
      },
      "message": "netns xfrm: add netns boilerplate\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8eecaba900e89643029fd2c253ad8ebb60761165",
      "tree": "0b26268a6e0e97e9e859c25d2367cec0bff837f1",
      "parents": [
        "2f9889a20cd2854bc6305198255c617b0b4eb719"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Tue Nov 25 13:45:29 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 25 13:45:29 2008 -0800"
      },
      "message": "tcp: tcp_limit_reno_sacked can become static\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "14b9815af3f4fe0e171ee0c4325c31d2a2c1570b",
      "tree": "4666e3bac9367e0b3cd07d6237de44bcc27274df",
      "parents": [
        "3f2355cb9111ac04e7ae06a4d7044da2ae813863"
      ],
      "author": {
        "name": "Luis R. Rodriguez",
        "email": "lrodriguez@atheros.com",
        "time": "Wed Nov 12 14:22:03 2008 -0800"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Nov 25 16:41:27 2008 -0500"
      },
      "message": "cfg80211: add support for custom firmware regulatory solutions\n\nThis adds API to cfg80211 to allow wireless drivers to inform\nus if their firmware can handle regulatory considerations *and*\nthey cannot map these regulatory domains to an ISO / IEC 3166\nalpha2. In these cases we skip the first regulatory hint instead\nof expecting the driver to build their own regulatory structure,\nproviding us with an alpha2, or using the reg_notifier().\n\nSigned-off-by: Luis R. Rodriguez \u003clrodriguez@atheros.com\u003e\nAcked-by: Zhu Yi \u003cyi.zhu@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "3f2355cb9111ac04e7ae06a4d7044da2ae813863",
      "tree": "11f5594b7d48281a12a2116ad7af1d20d5947455",
      "parents": [
        "88dc1c3f7f9058cd5ceae1e4b53453484c7b0364"
      ],
      "author": {
        "name": "Luis R. Rodriguez",
        "email": "lrodriguez@atheros.com",
        "time": "Wed Nov 12 14:22:02 2008 -0800"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Nov 25 16:41:26 2008 -0500"
      },
      "message": "cfg80211/mac80211: Add 802.11d support\n\nThis adds country IE parsing to mac80211 and enables its usage\nwithin the new regulatory infrastructure in cfg80211. We parse\nthe country IEs only on management beacons for the BSSID you are\nassociated to and disregard the IEs when the country and environment\n(indoor, outdoor, any) matches the already processed country IE.\n\nTo avoid following misinformed or outdated APs we build and use\na regulatory domain out of the intersection between what the AP\nprovides us on the country IE and what CRDA is aware is allowed\non the same country.\n\nA secondary device is allowed to follow only the same country IE\nas it make no sense for two devices on a system to be in two\ndifferent countries.\n\nIn the case the AP is using country IEs for an incorrect country\nthe user may help compliance further by setting the regulatory\ndomain before or after the IE is parsed and in that case another\nintersection will be performed.\n\nCONFIG_WIRELESS_OLD_REGULATORY is supported but requires CRDA\npresent.\n\nSigned-off-by: Luis R. Rodriguez \u003clrodriguez@atheros.com\u003e\nAcked-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "65f233fb1669e6c990cd1d7fd308ac7dc66dc207",
      "tree": "85cd37f374d21873bc134952f2de4d20100296e6",
      "parents": [
        "9f40ac713c49fb6ca655550b620edc85c445d743"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Nov 25 18:20:13 2008 +0100"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Nov 25 18:20:13 2008 +0100"
      },
      "message": "netfilter: fix warning in net/netfilter/nf_conntrack_proto_tcp.c\n\nfix this warning:\n\n  net/netfilter/nf_conntrack_proto_tcp.c: In function \\u2018tcp_in_window\\u2019:\n  net/netfilter/nf_conntrack_proto_tcp.c:491: warning: unused variable \\u2018net\\u2019\n  net/netfilter/nf_conntrack_proto_tcp.c: In function \\u2018tcp_packet\\u2019:\n  net/netfilter/nf_conntrack_proto_tcp.c:812: warning: unused variable \\u2018net\\u2019\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "832d11c5cd076abc0aa1eaf7be96c81d1a59ce41",
      "tree": "95b22ad16d1ff414cab39578ed8c927c2ce08723",
      "parents": [
        "f58b22fd3c16444edc393a217a74208f1894b601"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Mon Nov 24 21:20:15 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 24 21:20:15 2008 -0800"
      },
      "message": "tcp: Try to restore large SKBs while SACK processing\n\nDuring SACK processing, most of the benefits of TSO are eaten by\nthe SACK blocks that one-by-one fragment SKBs to MSS sized chunks.\nThen we\u0027re in problems when cleanup work for them has to be done\nwhen a large cumulative ACK comes. Try to return back to pre-split\nstate already while more and more SACK info gets discovered by\ncombining newly discovered SACK areas with the previous skb if\nthat\u0027s SACKed as well.\n\nThis approach has a number of benefits:\n\n1) The processing overhead is spread more equally over the RTT\n2) Write queue has less skbs to process (affect everything\n   which has to walk in the queue past the sacked areas)\n3) Write queue is consistent whole the time, so no other parts\n   of TCP has to be aware of this (this was not the case with\n   some other approach that was, well, quite intrusive all\n   around).\n4) Clean_rtx_queue can release most of the pages using single\n   put_page instead of previous PAGE_SIZE/mss+1 calls\n\nIn case a hole is fully filled by the new SACK block, we attempt\nto combine the next skb too which allows construction of skbs\nthat are even larger than what tso split them to and it handles\nhole per on every nth patterns that often occur during slow start\novershoot pretty nicely. Though this to be really useful also\na retransmission would have to get lost since cumulative ACKs\nadvance one hole at a time in the most typical case.\n\nTODO: handle upwards only merging. That should be rather easy\nwhen segment is fully sacked but I\u0027m leaving that as future\nwork item (it won\u0027t make very large difference anyway since\nthis current approach already covers quite a lot of normal\ncases).\n\nI was earlier thinking of some sophisticated way of tracking\ntimestamps of the first and the last segment but later on\nrealized that it won\u0027t be that necessary at all to store the\ntimestamp of the last segment. The cases that can occur are\nbasically either:\n  1) ambiguous \u003d\u003e no sensible measurement can be taken anyway\n  2) non-ambiguous is due to reordering \u003d\u003e having the timestamp\n     of the last segment there is just skewing things more off\n     than does some good since the ack got triggered by one of\n     the holes (besides some substle issues that would make\n     determining right hole/skb even harder problem). Anyway,\n     it has nothing to do with this change then.\n\nI choose to route some abnormal looking cases with goto noop,\nsome could be handled differently (eg., by stopping the\nwalking at that skb but again). In general, they either\nshouldn\u0027t happen at all or are rare enough to make no difference\nin practice.\n\nIn theory this change (as whole) could cause some macroscale\nregression (global) because of cache misses that are taken over\nthe round-trip time but it gets very likely better because of much\nless (local) cache misses per other write queue walkers and the\nbig recovery clearing cumulative ack.\n\nWorth to note that these benefits would be very easy to get also\nwithout TSO/GSO being on as long as the data is in pages so that\nwe can merge them. Currently I won\u0027t let that happen because\nDSACK splitting at fragment that would mess up pcounts due to\nsk_can_gso in tcp_set_skb_tso_segs. Once DSACKs fragments gets\navoided, we have some conditions that can be made less strict.\n\nTODO: I will probably have to convert the excessive pointer\npassing to struct sacktag_state... :-)\n\nMy testing revealed that considerable amount of skbs couldn\u0027t\nbe shifted because they were cloned (most likely still awaiting\ntx reclaim)...\n\n[The rest is considering future work instead since I got\nrepeatably EFAULT to tcpdump\u0027s recvfrom when I added\npskb_expand_head to deal with clones, so I separated that\ninto another, later patch]\n\n...To counter that, I gave up on the fifth advantage:\n\n5) When growing previous SACK block, less allocs for new skbs\n   are done, basically a new alloc is needed only when new hole\n   is detected and when the previous skb runs out of frags space\n\n...which now only happens of if reclaim is fast enough to dispose\nthe clone before the SACK block comes in (the window is RTT long),\notherwise we\u0027ll have to alloc some.\n\nWith clones being handled I got these numbers (will be somewhat\nworse without that), taken with fine-grained mibs:\n\n                  TCPSackShifted 398\n                   TCPSackMerged 877\n            TCPSackShiftFallback 320\n      TCPSACKCOLLAPSEFALLBACKGSO 0\n  TCPSACKCOLLAPSEFALLBACKSKBBITS 0\n  TCPSACKCOLLAPSEFALLBACKSKBDATA 0\n    TCPSACKCOLLAPSEFALLBACKBELOW 0\n    TCPSACKCOLLAPSEFALLBACKFIRST 1\n TCPSACKCOLLAPSEFALLBACKPREVBITS 318\n      TCPSACKCOLLAPSEFALLBACKMSS 1\n   TCPSACKCOLLAPSEFALLBACKNOHEAD 0\n    TCPSACKCOLLAPSEFALLBACKSHIFT 0\n          TCPSACKCOLLAPSENOOPSEQ 0\n  TCPSACKCOLLAPSENOOPSMALLPCOUNT 0\n     TCPSACKCOLLAPSENOOPSMALLLEN 0\n             TCPSACKCOLLAPSEHOLE 12\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e1aa680fa40e7492260a09cb57d94002245cc8fe",
      "tree": "67afc8d71c9de6f76036942cd442d628ae26a4f3",
      "parents": [
        "4a17fc3add594fcc1c778e93a95b6ecf47f630e5"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Mon Nov 24 21:11:55 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 24 21:11:55 2008 -0800"
      },
      "message": "tcp: move tcp_simple_retransmit to tcp_input\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2e77d89b2fa8e3f8325b8ce7893ec3645f41aff5",
      "tree": "ae40aa75449f705bd166630f9bcb5f41373d8248",
      "parents": [
        "4db0acf3c0afbbbb2ae35a65f8896ca6655a47ec"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Mon Nov 24 15:52:46 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 24 15:52:46 2008 -0800"
      },
      "message": "net: avoid a pair of dst_hold()/dst_release() in ip_append_data()\n\nWe can reduce pressure on dst entry refcount that slowdown UDP transmit\npath on SMP machines. This pressure is visible on RTP servers when\ndelivering content to mediagateways, especially big ones, handling\nthousand of streams. Several cpus send UDP frames to the same\ndestination, hence use the same dst entry.\n\nThis patch makes ip_append_data() eventually steal the refcount its\ncallers had to take on the dst entry.\n\nThis doesnt avoid all refcounting, but still gives speedups on SMP,\non UDP/RAW transmit path\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c25eb3bfb97294d0543a81230fbc237046b4b84c",
      "tree": "6c9deabfb12f4d31f280cfcfe7e7580a2089931c",
      "parents": [
        "8c862c23e2563e6aedfc6c4aa6827cadb83f2414"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Sun Nov 23 17:22:55 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 23 17:22:55 2008 -0800"
      },
      "message": "net: Convert TCP/DCCP listening hash tables to use RCU\n\nThis is the last step to be able to perform full RCU lookups\nin __inet_lookup() : After established/timewait tables, we\nadd RCU lookups to listening hash table.\n\nThe only trick here is that a socket of a given type (TCP ipv4,\nTCP ipv6, ...) can now flight between two different tables\n(established and listening) during a RCU grace period, so we\nmust use different \u0027nulls\u0027 end-of-chain values for two tables.\n\nWe define a large value :\n\n#define LISTENING_NULLS_BASE (1U \u003c\u003c 29)\n\nSo that slots in listening table are guaranteed to have different\nend-of-chain values than slots in established table. A reader can\nstill detect it finished its lookup in the right chain.\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "72364706c3b7c09a658e356218a918c5f92dcad0",
      "tree": "3d03826adf0fdb2a049fa5af8018590883b533ad",
      "parents": [
        "e022c2f07ae52bfbd92faa273db0db2f34eb28e8"
      ],
      "author": {
        "name": "Krzysztof Hałasa",
        "email": "khc@pm.waw.pl",
        "time": "Thu Aug 14 19:18:17 2008 +0200"
      },
      "committer": {
        "name": "Krzysztof Hałasa",
        "email": "khc@pm.waw.pl",
        "time": "Sat Nov 22 02:49:48 2008 +0100"
      },
      "message": "WAN: syncppp.c is no longer used by any kernel code. Remove it.\n\nSigned-off-by: Krzysztof Hałasa \u003ckhc@pm.waw.pl\u003e\n"
    },
    {
      "commit": "6c0bce37ffc8f000a516fadf6dee84579c4c8f9b",
      "tree": "273af34d6f777b1ecb0fce7b2685e868064e6cf9",
      "parents": [
        "e243455d345ef62751723671bc2605a2f6032ceb",
        "a1eb5fe319beb9e181aa52c8adf75ad9aab56a89"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Nov 21 17:05:11 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Nov 21 17:05:11 2008 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6\n"
    },
    {
      "commit": "7e56b5d698707a9934833c47b24d78fb0bcaf764",
      "tree": "949d9320501fa64e3710acda83487d4c74e52247",
      "parents": [
        "33cf71cee14743185305c61625c4544885055733"
      ],
      "author": {
        "name": "Catalin Marinas",
        "email": "catalin.marinas@arm.com",
        "time": "Fri Nov 21 16:45:22 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Nov 21 16:45:22 2008 -0800"
      },
      "message": "net: Fix memory leak in the proto_register function\n\nIf the slub allocator is used, kmem_cache_create() may merge two or more\nkmem_cache\u0027s into one but the cache name pointer is not updated and\nkmem_cache_name() is no longer guaranteed to return the pointer passed\nto the former function. This patch stores the kmalloc\u0027ed pointers in the\ncorresponding request_sock_ops and timewait_sock_ops structures.\n\nSigned-off-by: Catalin Marinas \u003ccatalin.marinas@arm.com\u003e\nAcked-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nReviewed-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f757fec4b0d45dfcb52f9a914a12225a6a0a3e05",
      "tree": "d8fbf1095f723f8ad19014910a92a44ff2058c16",
      "parents": [
        "98aa9c80f1fee01e98dfdc484ab7316af45f8f17"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Fri Nov 21 15:49:19 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Nov 21 15:49:19 2008 -0800"
      },
      "message": "net: use net_eq() in INET_MATCH and INET_TW_MATCH\n\nWe can avoid some useless instructions if !CONFIG_NET_NS\n\nBecause of RCU, we use INET_MATCH or INET_TW_MATCH twice for the found\nsocket, so thats six instructions less per incoming TCP packet.\n\nYet another tbench speedup :)\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a1eb5fe319beb9e181aa52c8adf75ad9aab56a89",
      "tree": "779aa91d24bd658b0e0e801462c49826c94f1cc7",
      "parents": [
        "3461fc12a423c09169c6bb350319808ca4ec4b86"
      ],
      "author": {
        "name": "Rami Rosen",
        "email": "roszenrami@gmail.com",
        "time": "Wed Nov 19 09:37:43 2008 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Nov 21 11:42:55 2008 -0500"
      },
      "message": "wireless: missing include in lib80211.h\n\nThis patch adds #include \u003clinux/timer.h\u003e in lib80211.h to avoid\nthese compilation erros.\n\n\u003e In file included from /work/src/wireless-testing/net/wireless/lib80211.c:24:\n\u003e /work/src/wireless-testing/include/net/lib80211.h:113: error: field\n\u003e \u0027crypt_deinit_timer\u0027 has incomplete type\n\u003e /work/src/wireless-testing/net/wireless/lib80211.c: In function\n\u003e \u0027lib80211_crypt_info_init\u0027:\n\u003e /work/src/wireless-testing/net/wireless/lib80211.c:83: error: implicit\n\u003e declaration of function \u0027setup_timer\u0027\n\u003e /work/src/wireless-testing/net/wireless/lib80211.c: In function\n\u003e \u0027lib80211_crypt_info_free\u0027:\n\u003e /work/src/wireless-testing/net/wireless/lib80211.c:95: error: implicit\n\u003e declaration of function \u0027del_timer_sync\u0027\n\u003e /work/src/wireless-testing/net/wireless/lib80211.c: In function\n\u003e \u0027lib80211_crypt_deinit_handler\u0027:\n\u003e /work/src/wireless-testing/net/wireless/lib80211.c:157: error:\n\u003e implicit declaration of function \u0027add_timer\u0027\n\u003e /work/src/wireless-testing/net/wireless/lib80211.c: In function\n\u003e \u0027lib80211_crypt_delayed_deinit\u0027:\n\u003e /work/src/wireless-testing/net/wireless/lib80211.c:182: error:\n\u003e implicit declaration of function \u0027timer_pending\u0027\n\u003e make[3]: *** [net/wireless/lib80211.o] Error 1\n\u003e make[2]: *** [net/wireless] Error 2\n\u003e make[1]: *** [net] Error 2\n\u003e make: *** [sub-make] Error 2\n\nSigned-off-by: Rami Rosen \u003cramirose@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    }
  ],
  "next": "627271018df75c8861b9e75b39d5995842e6ec95"
}
