)]}'
{
  "log": [
    {
      "commit": "03606895cd98c0a628b17324fd7b5ff15db7e3cd",
      "tree": "26aab95243f23a5d0cff45ee0d6afd1608afe5df",
      "parents": [
        "4a2258ddddefeef3291c0fc66437c73d84261a1e"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Feb 23 10:55:02 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Feb 23 16:50:45 2012 -0500"
      },
      "message": "ipsec: be careful of non existing mac headers\n\nNiccolo Belli reported ipsec crashes in case we handle a frame without\nmac header (atm in his case)\n\nBefore copying mac header, better make sure it is present.\n\nBugzilla reference:  https://bugzilla.kernel.org/show_bug.cgi?id\u003d42809\n\nReported-by: Niccolò Belli \u003cdarkbasic@linuxsystems.it\u003e\nTested-by: Niccolò Belli \u003cdarkbasic@linuxsystems.it\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9f42f126154786e6e76df513004800c8c633f020",
      "tree": "0f6247b0a7d804fbbace2d12429b7d80c3e7470e",
      "parents": [
        "eeca6688d6599c28bc449a45facb67d7f203be74"
      ],
      "author": {
        "name": "Ian Campbell",
        "email": "Ian.Campbell@citrix.com",
        "time": "Thu Jan 05 07:13:39 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 05 14:01:21 2012 -0500"
      },
      "message": "net: pack skb_shared_info more efficiently\n\nnr_frags can be 8 bits since 256 is plenty of fragments. This allows it to be\npacked with tx_flags.\n\nAlso by moving ip6_frag_id and dataref (both 4 bytes) next to each other we can\navoid a hole between ip6_frag_id and frag_list on 64 bit systems.\n\nSigned-off-by: Ian Campbell \u003cian.campbell@citrix.com\u003e\nAcked-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9d4dde5215779f4099730194ad30624fdba3d8b2",
      "tree": "5f0faa91f3359f3335f9063ebb1246db29c8289a",
      "parents": [
        "f87ce5b254d4eb5b5ec2bfcc78d714fa0e249288"
      ],
      "author": {
        "name": "Ian Campbell",
        "email": "Ian.Campbell@citrix.com",
        "time": "Thu Dec 22 23:39:14 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 23 16:51:18 2011 -0500"
      },
      "message": "net: only use a single page of slop in MAX_SKB_FRAGS\n\nIn order to accommodate a 64K buffer we need 64K/PAGE_SIZE plus one more page\nin order to allow for a buffer which does not start on a page boundary.\n\nSigned-off-by: Ian Campbell \u003cian.campbell@citrix.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "117632e64d2a5f464e491fe221d7169a3814a77b",
      "tree": "88f3a036305da54a62835d900553dda9bc846a8f",
      "parents": [
        "c2e4e25afcc8ae1835a6100089f1f9fd3a362430"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Sat Dec 03 21:39:53 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Dec 04 13:20:39 2011 -0500"
      },
      "message": "tcp: take care of misalignments\n\nWe discovered that TCP stack could retransmit misaligned skbs if a\nmalicious peer acknowledged sub MSS frame. This currently can happen\nonly if output interface is non SG enabled : If SG is enabled, tcp\nbuilds headless skbs (all payload is included in fragments), so the tcp\ntrimming process only removes parts of skb fragments, header stay\naligned.\n\nSome arches cant handle misalignments, so force a head reallocation and\nshrink headroom to MAX_TCP_HEADER.\n\nDont care about misaligments on x86 and PPC (or other arches setting\nNET_IP_ALIGN to 0)\n\nThis patch introduces __pskb_copy() which can specify the headroom of\nnew head, and pskb_copy() becomes a wrapper on top of __pskb_copy()\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1f2149c1df50c8c712950872675f46e6e44629f0",
      "tree": "a33a556696e27611b6b38cdcbb6de9315f483bd4",
      "parents": [
        "84b405011166e663fe9ef56c29b1d76f59b35568"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Nov 22 10:57:41 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 22 16:43:32 2011 -0500"
      },
      "message": "net: remove netdev_alloc_page and use __GFP_COLD\n\nGiven we dont use anymore the struct net_device *dev argument, and this\ninterface brings litle benefit, remove netdev_{alloc|free}_page(), to\ndebloat include/linux/skbuff.h a bit.\n\n(Some drivers used a mix of these interfaces and alloc_pages())\n\nWhen allocating a page given to device for DMA transfer (device to\nmemory), it makes sense to use a cold one (__GFP_COLD)\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCC: Jeff Kirsher \u003cjeffrey.t.kirsher@intel.com\u003e\nCC: Dimitris Michailidis \u003cdm@chelsio.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e11c259f745889b55bc5596ca78271f2f5cf08d2",
      "tree": "5025f0bf9093e84d0643beb9097249c176dbbea7",
      "parents": [
        "8d26784cf0d04c1238e906efdd5de76439cb0a1e",
        "b4487c2d0edaf1332d7a9f11b5661044955ef5e2"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Nov 17 13:11:43 2011 -0500"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Nov 17 13:11:43 2011 -0500"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next into for-davem\n\nConflicts:\n\tinclude/net/bluetooth/bluetooth.h\n"
    },
    {
      "commit": "34324dc2bf27c1773045fea63cb11f7e2a6ad2b9",
      "tree": "47cd1f4ea5590c405dc60aee70b49fb14f56859b",
      "parents": [
        "a861a8b233e9024303fb8e73e465e81ad7119d5a"
      ],
      "author": {
        "name": "Michał Mirosław",
        "email": "mirq-linux@rere.qmqm.pl",
        "time": "Tue Nov 15 15:29:55 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 16 17:43:12 2011 -0500"
      },
      "message": "net: remove NETIF_F_NO_CSUM feature bit\n\nOnly distinct use is checking if NETIF_F_NOCACHE_COPY should be\nenabled by default. The check heuristics is altered a bit here,\nso it hits other people than before. The default shouldn\u0027t be\ntrusted for performance-critical cases anyway.\n\nFor all other uses NETIF_F_NO_CSUM is equivalent to NETIF_F_HW_CSUM.\n\nSigned-off-by: Michał Mirosław \u003cmirq-linux@rere.qmqm.pl\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c8f44affb7244f2ac3e703cab13d55ede27621bb",
      "tree": "62e7aea2916a8d7cab825fe500670c5113854c0f",
      "parents": [
        "a59e2ecb859f2ab03bb2e230709f8039472ad2c3"
      ],
      "author": {
        "name": "Michał Mirosław",
        "email": "mirq-linux@rere.qmqm.pl",
        "time": "Tue Nov 15 15:29:55 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 16 17:43:10 2011 -0500"
      },
      "message": "net: introduce and use netdev_features_t for device features sets\n\nv2:\tadd couple missing conversions in drivers\n\tsplit unexporting netdev_fix_features()\n\timplemented %pNF\n\tconvert sock::sk_route_(no?)caps\n\nSigned-off-by: Michał Mirosław \u003cmirq-linux@rere.qmqm.pl\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b2b5ce9d1ccf1c45f8ac68e5d901112ab76ba199",
      "tree": "60839b87de74c617f417eaccbbac98c770c9fc90",
      "parents": [
        "c3e072f8a6c5625028531c40ec65f7e301531be2"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Nov 14 06:03:34 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 14 14:13:30 2011 -0500"
      },
      "message": "net: introduce build_skb()\n\nOne of the thing we discussed during netdev 2011 conference was the idea\nto change some network drivers to allocate/populate their skb at RX\ncompletion time, right before feeding the skb to network stack.\n\nIn old days, we allocated skbs when populating the RX ring.\n\nThis means bringing into cpu cache sk_buff and skb_shared_info cache\nlines (since we clear/initialize them), then \u0027queue\u0027 skb-\u003edata to NIC.\n\nBy the time NIC fills a frame in skb-\u003edata buffer and host can process\nit, cpu probably threw away the cache lines from its caches, because lot\nof things happened between the allocation and final use.\n\nSo the deal would be to allocate only the data buffer for the NIC to\npopulate its RX ring buffer. And use build_skb() at RX completion to\nattach a data buffer (now filled with an ethernet frame) to a new skb,\ninitialize the skb_shared_info portion, and give the hot skb to network\nstack.\n\nbuild_skb() is the function to allocate an skb, caller providing the\ndata buffer that should be attached to it. Drivers are expected to call\nskb_reserve() right after build_skb() to adjust skb-\u003edata to the\nEthernet frame (usually skipping NET_SKB_PAD and NET_IP_ALIGN, but some\ndrivers might add a hardware provided alignment)\n\nData provided to build_skb() MUST have been allocated by a prior\nkmalloc() call, with enough room to add SKB_DATA_ALIGN(sizeof(struct\nskb_shared_info)) bytes at the end of the data without corrupting\nincoming frame.\n\ndata \u003d kmalloc(NET_SKB_PAD + NET_IP_ALIGN + 1536 +\n               SKB_DATA_ALIGN(sizeof(struct skb_shared_info)),\n\t       GFP_ATOMIC);\n...\nskb \u003d build_skb(data);\nif (!skb) {\n\trecycle_data(data);\n} else {\n\tskb_reserve(skb, NET_SKB_PAD + NET_IP_ALIGN);\n\t...\n}\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCC: Eilon Greenstein \u003ceilong@broadcom.com\u003e\nCC: Ben Hutchings \u003cbhutchings@solarflare.com\u003e\nCC: Tom Herbert \u003ctherbert@google.com\u003e\nCC: Jamal Hadi Salim \u003chadi@mojatatu.com\u003e\nCC: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nCC: Thomas Graf \u003ctgraf@infradead.org\u003e\nCC: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nCC: Jeff Kirsher \u003cjeffrey.t.kirsher@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6e3e939f3b1bf8534b32ad09ff199d88800835a0",
      "tree": "78ec0638efbade2fdb0bebb7bad71410ded2e6c6",
      "parents": [
        "4fdbff0770bea059621bc4906fb7c7f5879f3ae1"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Wed Nov 09 10:15:42 2011 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Nov 09 16:01:02 2011 -0500"
      },
      "message": "net: add wireless TX status socket option\n\nThe 802.1X EAPOL handshake hostapd does requires\nknowing whether the frame was ack\u0027ed by the peer.\nCurrently, we fudge this pretty badly by not even\ntransmitting the frame as a normal data frame but\ninjecting it with radiotap and getting the status\nout of radiotap monitor as well. This is rather\ncomplex, confuses users (mon.wlan0 presence) and\ndoesn\u0027t work with all hardware.\n\nTo get rid of that hack, introduce a real wifi TX\nstatus option for data frame transmissions.\n\nThis works similar to the existing TX timestamping\nin that it reflects the SKB back to the socket\u0027s\nerror queue with a SCM_WIFI_STATUS cmsg that has\nan int indicating ACK status (0/1).\n\nSince it is possible that at some point we will\nwant to have TX timestamping and wifi status in a\nsingle errqueue SKB (there\u0027s little point in not\ndoing that), redefine SO_EE_ORIGIN_TIMESTAMPING\nto SO_EE_ORIGIN_TXSTATUS which can collect more\nthan just the timestamp; keep the old constant\nas an alias of course. Currently the internal APIs\ndon\u0027t make that possible, but it wouldn\u0027t be hard\nto split them up in a way that makes it possible.\n\nThanks to Neil Horman for helping me figure out\nthe functions that add the control messages.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "f83347df57113e54e999aa2491be3f685c0c262d",
      "tree": "999374e037cfbdcd2838cced24377c2933514d29",
      "parents": [
        "23e049442b7b4f87f802470b4fd46a0e50b2fbdd"
      ],
      "author": {
        "name": "Marcos Paulo de Souza",
        "email": "marcos.mage@gmail.com",
        "time": "Mon Oct 31 15:11:45 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 01 00:55:48 2011 -0400"
      },
      "message": "include: linux: skbuf.h: Fix parameter documentation\n\nFixes parameter name of skb_frag_dmamap function to silence warning on\nmake htmldocs.\n\nSigned-off-by: Marcos Paulo de Souza \u003cmarcos.mage@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1805b2f04855f07afe3a71d620a68f483b0ed74f",
      "tree": "b823b90f37f5404fcaef70f785c70112ca74a329",
      "parents": [
        "78d81d15b74246c7cedf84894434890b33da3907",
        "f42af6c486aa5ca6ee62800cb45c5b252020509d"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 24 18:18:09 2011 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 24 18:18:09 2011 -0400"
      },
      "message": "Merge branch \u0027master\u0027 of ra.kernel.org:/pub/scm/linux/kernel/git/davem/net\n"
    },
    {
      "commit": "da92b194cc36b5dc1fbd85206aeeffd80bee0c39",
      "tree": "375ead604156d8a8afc5ecef8d76415e999ce903",
      "parents": [
        "f7ff19871bb4a3451e1ca2cf660bf633018cfbec"
      ],
      "author": {
        "name": "Richard Cochran",
        "email": "richardcochran@gmail.com",
        "time": "Fri Oct 21 00:49:15 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 24 02:54:50 2011 -0400"
      },
      "message": "net: hold sock reference while processing tx timestamps\n\nThe pair of functions,\n\n * skb_clone_tx_timestamp()\n * skb_complete_tx_timestamp()\n\nwere designed to allow timestamping in PHY devices. The first\nfunction, called during the MAC driver\u0027s hard_xmit method, identifies\nPTP protocol packets, clones them, and gives them to the PHY device\ndriver. The PHY driver may hold onto the packet and deliver it at a\nlater time using the second function, which adds the packet to the\nsocket\u0027s error queue.\n\nAs pointed out by Johannes, nothing prevents the socket from\ndisappearing while the cloned packet is sitting in the PHY driver\nawaiting a timestamp. This patch fixes the issue by taking a reference\non the socket for each such packet. In addition, the comments\nregarding the usage of these function are expanded to highlight the\nrule that PHY drivers must use skb_complete_tx_timestamp() to release\nthe packet, in order to release the socket reference, too.\n\nThese functions first appeared in v2.6.36.\n\nReported-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: Richard Cochran \u003crichard.cochran@omicron.at\u003e\nCc: \u003cstable@vger.kernel.org\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nReviewed-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a8605c6063f785858c1bc431d0bfe66c41e71cfa",
      "tree": "42ce7ce9a1679f09b54353dd1ea05a6581abe754",
      "parents": [
        "6a39a16a5ac07a156de91cfb9422bde574e59fa6"
      ],
      "author": {
        "name": "Ian Campbell",
        "email": "Ian.Campbell@citrix.com",
        "time": "Wed Oct 19 23:01:49 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Oct 21 02:52:53 2011 -0400"
      },
      "message": "net: add opaque struct around skb frag page\n\nI\u0027ve split this bit out of the skb frag destructor patch since it helps enforce\nthe use of the fragment API.\n\nSigned-off-by: Ian Campbell \u003cian.campbell@citrix.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "05bdd2f14351176d368e8ddc67993690a2d1bfb6",
      "tree": "06c00c0af56add8602fba296490b4c598418082f",
      "parents": [
        "20c4cb792de2b5839537a99a469f4529ef1047f5"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Oct 20 17:45:43 2011 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 20 17:45:43 2011 -0400"
      },
      "message": "net: constify skbuff and Qdisc elements\n\nPreliminary patch before tcp constification\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a0bec1cd8f7ac966f2885f7e56ec44df87bab738",
      "tree": "8c2c255b1a1d4b77ebc10e4bbb3835e7d7bf95ec",
      "parents": [
        "e049f28883126c689cf95859480d9ee4ab23b7fa"
      ],
      "author": {
        "name": "Ian Campbell",
        "email": "Ian.Campbell@citrix.com",
        "time": "Tue Oct 18 22:55:11 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 19 19:40:39 2011 -0400"
      },
      "message": "net: do not take an additional reference in skb_frag_set_page\n\nI audited all of the callers in the tree and only one of them (pktgen) expects\nit to do so. Taking this reference is pretty obviously confusing and error\nprone.\n\nIn particular I looked at the following commits which switched callers of\n(__)skb_frag_set_page to the skb paged fragment api:\n\n6a930b9f163d7e6d9ef692e05616c4ede65038ec cxgb3: convert to SKB paged frag API.\n5dc3e196ea21e833128d51eb5b788a070fea1f28 myri10ge: convert to SKB paged frag API.\n0e0634d20dd670a89af19af2a686a6cce943ac14 vmxnet3: convert to SKB paged frag API.\n86ee8130a46769f73f8f423f99dbf782a09f9233 virtionet: convert to SKB paged frag API.\n4a22c4c919c201c2a7f4ee09e672435a3072d875 sfc: convert to SKB paged frag API.\n18324d690d6a5028e3c174fc1921447aedead2b8 cassini: convert to SKB paged frag API.\nb061b39e3ae18ad75466258cf2116e18fa5bbd80 benet: convert to SKB paged frag API.\nb7b6a688d217936459ff5cf1087b2361db952509 bnx2: convert to SKB paged frag API.\n804cf14ea5ceca46554d5801e2817bba8116b7e5 net: xfrm: convert to SKB frag APIs\nea2ab69379a941c6f8884e290fdd28c93936a778 net: convert core to skb paged frag APIs\n\nSigned-off-by: Ian Campbell \u003cian.campbell@citrix.com\u003e\nAcked-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3d153a7c8b23031df35e61377c0600a6c96a8b0b",
      "tree": "f5c7f622331728ba12f40c2ebb66666ce3d924fd",
      "parents": [
        "1e5c22cde3b85737921d3ec6ecf2c356e5b64ea7"
      ],
      "author": {
        "name": "Andy Fleming",
        "email": "afleming@freescale.com",
        "time": "Thu Oct 13 04:33:54 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 19 15:59:45 2011 -0400"
      },
      "message": "net: Allow skb_recycle_check to be done in stages\n\nskb_recycle_check resets the skb if it\u0027s eligible for recycling.\nHowever, there are times when a driver might want to optionally\nmanipulate the skb data with the skb before resetting the skb,\nbut after it has determined eligibility.  We do this by splitting the\neligibility check from the skb reset, creating two inline functions to\naccomplish that task.\n\nSigned-off-by: Andy Fleming \u003cafleming@freescale.com\u003e\nAcked-by: David Daney \u003cdavid.daney@cavium.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9e903e085262ffbf1fc44a17ac06058aca03524a",
      "tree": "4acefc97ba38c1733474d25c0b2053b56af97db1",
      "parents": [
        "dd767856a36e00b631d65ebc4bb81b19915532d6"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Oct 18 21:00:24 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 19 03:10:46 2011 -0400"
      },
      "message": "net: add skb frag size accessors\n\nTo ease skb-\u003etruesize sanitization, its better to be able to localize\nall references to skb frags size.\n\nDefine accessors : skb_frag_size() to fetch frag size, and\nskb_frag_size_{set|add|sub}() to manipulate it.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "87fb4b7b533073eeeaed0b6bf7c2328995f6c075",
      "tree": "be4b37f08d7fe2d018ae68bae4577b1b2bafd0fc",
      "parents": [
        "97ba0eb64ca690165f945a83e609102fcefa99cb"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Oct 13 07:28:54 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 13 16:05:07 2011 -0400"
      },
      "message": "net: more accurate skb truesize\n\nskb truesize currently accounts for sk_buff struct and part of skb head.\nkmalloc() roundings are also ignored.\n\nConsidering that skb_shared_info is larger than sk_buff, its time to\ntake it into account for better memory accounting.\n\nThis patch introduces SKB_TRUESIZE(X) macro to centralize various\nassumptions into a single place.\n\nAt skb alloc phase, we put skb_shared_info struct at the exact end of\nskb head, to allow a better use of memory (lowering number of\nreallocations), since kmalloc() gives us power-of-two memory blocks.\n\nUnless SLUB/SLUB debug is active, both skb-\u003ehead and skb_shared_info are\naligned to cache lines, as before.\n\nNote: This patch might trigger performance regressions because of\nmisconfigured protocol stacks, hitting per socket or global memory\nlimits that were previously not reached. But its a necessary step for a\nmore accurate memory accounting.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCC: Andi Kleen \u003cak@linux.intel.com\u003e\nCC: Ben Hutchings \u003cbhutchings@solarflare.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8decf868790b48a727d7e7ca164f2bcd3c1389c0",
      "tree": "b759a5f861f842af7ea76f9011b579d06e9d5508",
      "parents": [
        "3fc72370186be2f9d4d6ef06d99e1caa5d92c564",
        "d93dc5c4478c1fd5de85a3e8aece9aad7bbae044"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 22 03:23:13 2011 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 22 03:23:13 2011 -0400"
      },
      "message": "Merge branch \u0027master\u0027 of github.com:davem330/net\n\nConflicts:\n\tMAINTAINERS\n\tdrivers/net/Kconfig\n\tdrivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c\n\tdrivers/net/ethernet/broadcom/tg3.c\n\tdrivers/net/wireless/iwlwifi/iwl-pci.c\n\tdrivers/net/wireless/iwlwifi/iwl-trans-tx-pcie.c\n\tdrivers/net/wireless/rt2x00/rt2800usb.c\n\tdrivers/net/wireless/wl12xx/main.c\n"
    },
    {
      "commit": "48c830120f2a20b44220aa26feda9ed15f49eaab",
      "tree": "5a9bfdf7493cf53e59350b82d5c3c9017fe403a5",
      "parents": [
        "0542b69e2c57fc9668ce6a03155bea6e1f557901"
      ],
      "author": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Wed Aug 31 08:03:29 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 15 14:49:44 2011 -0400"
      },
      "message": "net: copy userspace buffers on device forwarding\n\ndev_forward_skb loops an skb back into host networking\nstack which might hang on the memory indefinitely.\nIn particular, this can happen in macvtap in bridged mode.\nCopy the userspace fragments to avoid blocking the\nsender in that case.\n\nAs this patch makes skb_copy_ubufs extern now,\nI also added some documentation and made it clear\nthe SKBTX_DEV_ZEROCOPY flag automatically instead\nof doing it in all callers. This can be made into a separate\npatch if people feel it\u0027s worth it.\n\nSigned-off-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ea2ab69379a941c6f8884e290fdd28c93936a778",
      "tree": "c02aa9c5ed66b1640b54bb6b763d131b9419be29",
      "parents": [
        "15133fbbb91ae695f153fb48daa6a1a8af4a5032"
      ],
      "author": {
        "name": "Ian Campbell",
        "email": "Ian.Campbell@citrix.com",
        "time": "Mon Aug 22 23:44:58 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 24 17:52:11 2011 -0700"
      },
      "message": "net: convert core to skb paged frag APIs\n\nSigned-off-by: Ian Campbell \u003cian.campbell@citrix.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: \"Michał Mirosław\" \u003cmirq-linux@rere.qmqm.pl\u003e\nCc: netdev@vger.kernel.org\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "131ea6675c761f655d43b808dd0fe83d15d5cdd3",
      "tree": "0d8cb6a3ea524f216d846f172c218fababead4a0",
      "parents": [
        "7ae9ed8d3221c9f7dd4bc2773ff58797487d5ed8"
      ],
      "author": {
        "name": "Ian Campbell",
        "email": "Ian.Campbell@citrix.com",
        "time": "Fri Aug 19 06:25:00 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 22 16:59:54 2011 -0700"
      },
      "message": "net: add APIs for manipulating skb page fragments.\n\nThe primary aim is to add skb_frag_(ref|unref) in order to remove the use of\nbare get/put_page on SKB pages fragments and to isolate users from subsequent\nchanges to the skb_frag_t data structure.\n\nSigned-off-by: Ian Campbell \u003cian.campbell@citrix.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: \"Michał Mirosław\" \u003cmirq-linux@rere.qmqm.pl\u003e\nCc: netdev@vger.kernel.org\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4ca2462e94b3b0a2fdd3b777ff2bd9bcd82c6096",
      "tree": "462f96b65cf6ce7bf4e6aaca5beb011a6c1dfe80",
      "parents": [
        "ae1511bf769cafeae5ab61aaf9947a16a22cbd10"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Fri Aug 19 07:26:44 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Aug 19 07:26:44 2011 -0700"
      },
      "message": "net: add the comment for skb-\u003el4_rxhash\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bdeab991918663aed38757904219e8398214334c",
      "tree": "bc6c02da7ed88e3e568677b4a35fb4e55de363de",
      "parents": [
        "792df22cd0499b4e662d4618b0008fdcfef8b04e"
      ],
      "author": {
        "name": "Tom Herbert",
        "email": "therbert@google.com",
        "time": "Sun Aug 14 19:45:55 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 17 20:06:03 2011 -0700"
      },
      "message": "rps: Add flag to skb to indicate rxhash is based on L4 tuple\n\nThe l4_rxhash flag was added to the skb structure to indicate\nthat the rxhash value was computed over the 4 tuple for the\npacket which includes the port information in the encapsulated\ntransport packet.  This is used by the stack to preserve the\nrxhash value in __skb_rx_tunnel.\n\nSigned-off-by: Tom Herbert \u003ctherbert@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "60063497a95e716c9a689af3be2687d261f115b4",
      "tree": "6ce0d68db76982c53df46aee5f29f944ebf2c320",
      "parents": [
        "148817ba092f9f6edd35bad3c6c6b8e8f90fe2ed"
      ],
      "author": {
        "name": "Arun Sharma",
        "email": "asharma@fb.com",
        "time": "Tue Jul 26 16:09:06 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 26 16:49:47 2011 -0700"
      },
      "message": "atomic: use \u003clinux/atomic.h\u003e\n\nThis allows us to move duplicated code in \u003casm/atomic.h\u003e\n(atomic_inc_not_zero() for now) to \u003clinux/atomic.h\u003e\n\nSigned-off-by: Arun Sharma \u003casharma@fb.com\u003e\nReviewed-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nCc: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nAcked-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4915a0de43c3e9aef92005c1f94a8ff3a6cfced5",
      "tree": "8c387b4248593430418083c9ea4f2f7416abdd54",
      "parents": [
        "039f02ebd9c2f3f3cb95c00b763fb70870c9116e"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Jul 11 20:08:34 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 11 20:08:34 2011 -0700"
      },
      "message": "net: introduce __netdev_alloc_skb_ip_align\n\nRX rings should use GFP_KERNEL allocations if possible, add\n__netdev_alloc_skb_ip_align() helper to ease this.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d84e0bd7971eb8357c700151ee4e8e4101ee65fa",
      "tree": "e4334ddf51372d979fafbc1543f35e9163a61488",
      "parents": [
        "42c8b11e284fe3186e27555d1adb7d4b77398e1b"
      ],
      "author": {
        "name": "Daniel Baluta",
        "email": "dbaluta@ixiacom.com",
        "time": "Sun Jul 10 07:04:04 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jul 10 07:04:04 2011 -0700"
      },
      "message": "skbuff: update struct sk_buff members comments\n\nRearrange struct sk_buff members comments to follow their\ndefinition order. Also, add missing comments for ooo_okay\nand dropcount members.\n\nSigned-off-by: Daniel Baluta \u003cdbaluta@ixiacom.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a6686f2f382b13f8a7253401a66690c3633b6a74",
      "tree": "36a9a4546163a3c5b9a9ab3daa3b6bbe34af55aa",
      "parents": [
        "1cdebb423202e255366a321814fc6df079802a0d"
      ],
      "author": {
        "name": "Shirley Ma",
        "email": "mashirle@us.ibm.com",
        "time": "Wed Jul 06 12:22:12 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 07 04:41:13 2011 -0700"
      },
      "message": "skbuff: skb supports zero-copy buffers\n\nThis patch adds userspace buffers support in skb shared info. A new\nstruct skb_ubuf_info is needed to maintain the userspace buffers\nargument and index, a callback is used to notify userspace to release\nthe buffers once lower device has done DMA (Last reference to that skb\nhas gone).\n\nIf there is any userspace apps to reference these userspace buffers,\nthen these userspaces buffers will be copied into kernel. This way we\ncan prevent userspace apps from holding these userspace buffers too long.\n\nUse destructor_arg to point to the userspace buffer info; a new tx flags\nSKBTX_DEV_ZEROCOPY is added for zero-copy buffer check.\n\nSigned-off-by: Shirley Ma \u003cxma@...ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9f6ec8d697c08963d83880ccd35c13c5ace716ea",
      "tree": "ad8d93cf6fcdd09b86ade09f5fcbbc66cdb1cca2",
      "parents": [
        "4aa3a715551c93eda32d79bd52042ce500bd5383",
        "56299378726d5f2ba8d3c8cbbd13cb280ba45e4f"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 20 22:29:08 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 20 22:29:08 2011 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tdrivers/net/wireless/iwlwifi/iwl-agn-rxon.c\n\tdrivers/net/wireless/rtlwifi/pci.c\n\tnet/netfilter/ipvs/ip_vs_core.c\n"
    },
    {
      "commit": "4ff75b7cf3b06efb72a50e26008d09b259b1231b",
      "tree": "f82bd4ee7ff91bbf66de846a4f601c26b549a3f9",
      "parents": [
        "fd112f2e15ba85d387de446a81aeb11e46ecc55d"
      ],
      "author": {
        "name": "Richard Cochran",
        "email": "richardcochran@gmail.com",
        "time": "Sun Jun 19 03:31:39 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jun 19 16:35:30 2011 -0700"
      },
      "message": "net: correct comment on where to place transmit time stamp hook.\n\nThe comment for the skb_tx_timestamp() function suggests calling it just\nafter a buffer is released to the hardware for transmission. However,\nfor drivers that free the buffer in an ISR, this produces a race between\nthe time stamp code and the ISR. This commit changes the comment to advise\nplacing the call just before handing the buffer over to the hardware.\n\nSigned-off-by: Richard Cochran \u003crichard.cochran@omicron.at\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0b5c9db1b11d3175bb42b80663a9f072f801edf5",
      "tree": "555113c578a8c4372902512514f323128c494278",
      "parents": [
        "06866bf5c5ad8989119a145fdb54a9fbcafa702d"
      ],
      "author": {
        "name": "Jiri Pirko",
        "email": "jpirko@redhat.com",
        "time": "Fri Jun 10 06:56:58 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jun 11 16:15:50 2011 -0700"
      },
      "message": "vlan: Fix the ingress VLAN_FLAG_REORDER_HDR check\n\nTesting of VLAN_FLAG_REORDER_HDR does not belong in vlan_untag\nbut rather in vlan_do_receive.  Otherwise the vlan header\nwill not be properly put on the packet in the case of\nvlan header accelleration.\n\nAs we remove the check from vlan_check_reorder_header\nrename it vlan_reorder_header to keep the naming clean.\n\nFix up the skb-\u003epkt_type early so we don\u0027t look at the packet\nafter adding the vlan tag, which guarantees we don\u0027t goof\nand look at the wrong field.\n\nUse a simple if statement instead of a complicated switch\nstatement to decided that we need to increment rx_stats\nfor a multicast packet.\n\nHopefully at somepoint we will just declare the case where\nVLAN_FLAG_REORDER_HDR is cleared as unsupported and remove\nthe code.  Until then this keeps it working correctly.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Jiri Pirko \u003cjpirko@redhat.com\u003e\nAcked-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "53ee7569ce8beb3fd3fc0817116c29298d72353f",
      "tree": "f3dcce10508c2126347e40b468fd6d3c3cc7006a",
      "parents": [
        "4d9dec4db2efbd7edb549bd02373995b67496983",
        "1b6e2ceb4745b5838cb94463131d19dbea6cf0e3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 23 08:39:24 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 23 08:39:24 2011 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (27 commits)\n  bnx2x: allow device properly initialize after hotplug\n  bnx2x: fix DMAE timeout according to hw specifications\n  bnx2x: properly handle CFC DEL in cnic flow\n  bnx2x: call dev_kfree_skb_any instead of dev_kfree_skb\n  net: filter: move forward declarations to avoid compile warnings\n  pktgen: refactor pg_init() code\n  pktgen: use vzalloc_node() instead of vmalloc_node() + memset()\n  net: skb_trim explicitely check the linearity instead of data_len\n  ipv4: Give backtrace in ip_rt_bug().\n  net: avoid synchronize_rcu() in dev_deactivate_many\n  net: remove synchronize_net() from netdev_set_master()\n  rtnetlink: ignore NETDEV_RELEASE and NETDEV_JOIN event\n  net: rename NETDEV_BONDING_DESLAVE to NETDEV_RELEASE\n  bridge: call NETDEV_JOIN notifiers when add a slave\n  netpoll: disable netpoll when enslave a device\n  macvlan: Forward unicast frames in bridge mode to lowerdev\n  net: Remove linux/prefetch.h include from linux/skbuff.h\n  ipv4: Include linux/prefetch.h in fib_trie.c\n  netlabel: Remove prefetches from list handlers.\n  drivers/net: add prefetch header for prefetch users\n  ...\n\nFixed up prefetch parts: removed a few duplicate prefetch.h includes,\nfixed the location of the igb prefetch.h, took my version of the\nskbuff.h code without the extra parentheses etc.\n"
    },
    {
      "commit": "a1e4891fd48d298870b704c6eb48cba0da5ed6b1",
      "tree": "96fa29fd0c3803f1d1803e1b979c6ac8345fff5a",
      "parents": [
        "70c71606190e9115e5f8363bfcd164c582eb314a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 22 16:51:43 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 22 21:43:41 2011 -0700"
      },
      "message": "Remove prefetch() from \u003clinux/skbuff.h\u003e and \"netlabel_addrlist.h\"\n\nCommit e66eed651fd1 (\"list: remove prefetching from regular list\niterators\") removed the include of prefetch.h from list.h.  The skbuff\nlist traversal still had them.\n\nQuoth David Miller:\n  \"Please just remove the prefetches.\n\n  Those are modelled after list.h as I intend to eventually convert\n  SKB list handling to \"struct list_head\" but we\u0027re not there yet.\n\n  Therefore if we kill prefetches from list.h we should kill it from\n  these things in skbuff.h too.\"\n\nRequested-by: David Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c4264f27e83968ddfe3f0cfe7a33adfb320e1e42",
      "tree": "384806dfa9a6afe9e11d60bb82af2151323ec7be",
      "parents": [
        "c378a9c019cf5e017d1ed24954b54fae7bebd2bc"
      ],
      "author": {
        "name": "Emmanuel Grumbach",
        "email": "emmanuel.grumbach@intel.com",
        "time": "Sat May 21 19:46:09 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 22 21:01:21 2011 -0400"
      },
      "message": "net: skb_trim explicitely check the linearity instead of data_len\n\nThe purpose of the check on data_len is to check linearity, so use the inline\nhelper for this. No overhead and more explicit.\n\nSigned-off-by: Emmanuel Grumbach \u003cemmanuel.grumbach@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "67f11f4deda0818640decb19a28c537dbe5d429e",
      "tree": "c142b3410d1e6813fe87ba08e8c51e67df619487",
      "parents": [
        "120a3d5c7c1f37752e7956d296a4f031f38cb217"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 22 20:54:11 2011 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 22 20:54:11 2011 -0400"
      },
      "message": "net: Remove linux/prefetch.h include from linux/skbuff.h\n\nNo longer needed.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0fcbe742eaac14bd5032b369c09e9d94be9058ad",
      "tree": "c1a113525e4bb404065236f1c83e7c7952df5bb9",
      "parents": [
        "69c867c90c7fe0773d9aa4e8bbf777f574be13d2"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 22 20:35:29 2011 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 22 20:35:29 2011 -0400"
      },
      "message": "net: Remove prefetches from SKB list handlers.\n\nNoticed by Linus.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "34ea646c9f8c18fd2e4332ff3b2b509f878c56f1",
      "tree": "45aad71cee86ae3ca5cf3423aedcef24bbee6253",
      "parents": [
        "9ce6e0be0626a5de2aca8b769a4aa57086257156"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Sun May 22 18:55:10 2011 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 22 11:26:02 2011 -0700"
      },
      "message": "net: add missing prefetch.h include\n\nFixes build errors on s390 and probably other archs as well:\n\n  In file included from net/ipv4/ip_forward.c:32:0:\n  include/net/udp.h: In function \u0027udp_csum_outgoing\u0027:\n  include/net/udp.h:141:2: error: implicit declaration of function \u0027prefetch\u0027\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0a14842f5a3c0e88a1e59fac5c3025db39721f74",
      "tree": "4d0832c4c9ced2503e2d899eb56952f87511d4ab",
      "parents": [
        "b678027cb77b079bc8e5b94172995d173bdb494b"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Apr 20 09:27:32 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 27 23:05:08 2011 -0700"
      },
      "message": "net: filter: Just In Time compiler for x86-64\n\nIn order to speedup packet filtering, here is an implementation of a\nJIT compiler for x86_64\n\nIt is disabled by default, and must be enabled by the admin.\n\necho 1 \u003e/proc/sys/net/core/bpf_jit_enable\n\nIt uses module_alloc() and module_free() to get memory in the 2GB text\nkernel range since we call helpers functions from the generated code.\n\nEAX : BPF A accumulator\nEBX : BPF X accumulator\nRDI : pointer to skb   (first argument given to JIT function)\nRBP : frame pointer (even if CONFIG_FRAME_POINTER\u003dn)\nr9d : skb-\u003elen - skb-\u003edata_len (headlen)\nr8  : skb-\u003edata\n\nTo get a trace of generated code, use :\n\necho 2 \u003e/proc/sys/net/core/bpf_jit_enable\n\nExample of generated code :\n\n# tcpdump -p -n -s 0 -i eth1 host 192.168.20.0/24\n\nflen\u003d18 proglen\u003d147 pass\u003d3 image\u003dffffffffa00b5000\nJIT code: ffffffffa00b5000: 55 48 89 e5 48 83 ec 60 48 89 5d f8 44 8b 4f 60\nJIT code: ffffffffa00b5010: 44 2b 4f 64 4c 8b 87 b8 00 00 00 be 0c 00 00 00\nJIT code: ffffffffa00b5020: e8 24 7b f7 e0 3d 00 08 00 00 75 28 be 1a 00 00\nJIT code: ffffffffa00b5030: 00 e8 fe 7a f7 e0 24 00 3d 00 14 a8 c0 74 49 be\nJIT code: ffffffffa00b5040: 1e 00 00 00 e8 eb 7a f7 e0 24 00 3d 00 14 a8 c0\nJIT code: ffffffffa00b5050: 74 36 eb 3b 3d 06 08 00 00 74 07 3d 35 80 00 00\nJIT code: ffffffffa00b5060: 75 2d be 1c 00 00 00 e8 c8 7a f7 e0 24 00 3d 00\nJIT code: ffffffffa00b5070: 14 a8 c0 74 13 be 26 00 00 00 e8 b5 7a f7 e0 24\nJIT code: ffffffffa00b5080: 00 3d 00 14 a8 c0 75 07 b8 ff ff 00 00 eb 02 31\nJIT code: ffffffffa00b5090: c0 c9 c3\n\nBPF program is 144 bytes long, so native program is almost same size ;)\n\n(000) ldh      [12]\n(001) jeq      #0x800           jt 2    jf 8\n(002) ld       [26]\n(003) and      #0xffffff00\n(004) jeq      #0xc0a81400      jt 16   jf 5\n(005) ld       [30]\n(006) and      #0xffffff00\n(007) jeq      #0xc0a81400      jt 16   jf 17\n(008) jeq      #0x806           jt 10   jf 9\n(009) jeq      #0x8035          jt 10   jf 17\n(010) ld       [28]\n(011) and      #0xffffff00\n(012) jeq      #0xc0a81400      jt 16   jf 13\n(013) ld       [38]\n(014) and      #0xffffff00\n(015) jeq      #0xc0a81400      jt 16   jf 17\n(016) ret      #65535\n(017) ret      #0\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@infradead.org\u003e\nCc: Ben Hutchings \u003cbhutchings@solarflare.com\u003e\nCc: Hagen Paul Pfeifer \u003chagen@jauu.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "42933bac11e811f02200c944d8562a15f8ec4ff0",
      "tree": "fcdd9afe56eb0e746565ddd1f92f22d36678b843",
      "parents": [
        "2b9accbee563f535046ff2cd382d0acaa92e130c",
        "25985edcedea6396277003854657b5f3cb31a628"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 07 11:14:49 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 07 11:14:49 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus2\u0027 of git://git.profusion.mobi/users/lucas/linux-2.6\n\n* \u0027for-linus2\u0027 of git://git.profusion.mobi/users/lucas/linux-2.6:\n  Fix common misspellings\n"
    },
    {
      "commit": "25985edcedea6396277003854657b5f3cb31a628",
      "tree": "f026e810210a2ee7290caeb737c23cb6472b7c38",
      "parents": [
        "6aba74f2791287ec407e0f92487a725a25908067"
      ],
      "author": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@profusion.mobi",
        "time": "Wed Mar 30 22:57:33 2011 -0300"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@profusion.mobi",
        "time": "Thu Mar 31 11:26:23 2011 -0300"
      },
      "message": "Fix common misspellings\n\nFixes generated by \u0027codespell\u0027 and manually reviewed.\n\nSigned-off-by: Lucas De Marchi \u003clucas.demarchi@profusion.mobi\u003e\n"
    },
    {
      "commit": "eec009548e98f6b6d514ff5bb8a8627b8dd17a49",
      "tree": "bdce6d53b5a664234bea786aea9c0767377b04bd",
      "parents": [
        "0ce790e7d736cedc563e1fb4e998babf5a4dbc3d"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 29 23:34:08 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 29 23:34:08 2011 -0700"
      },
      "message": "net: Fix warnings caused by MAX_SKB_FRAGS change.\n\nAfter commit a715dea3c8e9ef2771c534e05ee1d36f65987e64 (\"net: Always\nallocate at least 16 skb frags regardless of page size\"), the value\nof MAX_SKB_FRAGS can now take on either an \"unsigned long\" or an\n\"int\" value.\n\nThis causes warnings like:\n\nnet/packet/af_packet.c: In function ‘tpacket_fill_skb’:\nnet/packet/af_packet.c:948: warning: format ‘%lu’ expects type ‘long unsigned int’, but argument 2 has type ‘int’\n\nFix by forcing the constant to be unsigned long, otherwise we have\na situation where the type of a system wide constant is variable.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a715dea3c8e9ef2771c534e05ee1d36f65987e64",
      "tree": "7734586473abed25f7ec4b8423adbdba3d829a61",
      "parents": [
        "4910ac6c526d2868adcb5893e0c428473de862b5"
      ],
      "author": {
        "name": "Anton Blanchard",
        "email": "anton@samba.org",
        "time": "Sun Mar 27 14:57:26 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 28 22:26:32 2011 -0700"
      },
      "message": "net: Always allocate at least 16 skb frags regardless of page size\n\nWhen analysing performance of the cxgb3 on a ppc64 box I noticed that\nwe weren\u0027t doing much GRO merging. It turns out we are limited by the\nnumber of SKB frags:\n\n#define MAX_SKB_FRAGS (65536/PAGE_SIZE + 2)\n\nWith a 4kB page size we have 18 frags, but with a 64kB page size we\nonly have 3 frags.\n\nI ran a single stream TCP bandwidth test to compare the performance of\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8a4eb5734e8d1dc60a8c28576bbbdfdcc643626d",
      "tree": "ed4cd2f9a2a04a30994a8f8964a81834c895c0c9",
      "parents": [
        "2d7011ca79f1a8792e04d131b8ea21db179ab917"
      ],
      "author": {
        "name": "Jiri Pirko",
        "email": "jpirko@redhat.com",
        "time": "Sat Mar 12 03:14:39 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 16 12:53:54 2011 -0700"
      },
      "message": "net: introduce rx_handler results and logic around that\n\nThis patch allows rx_handlers to better signalize what to do next to\nit\u0027s caller. That makes skb-\u003edeliver_no_wcard no longer needed.\n\nkernel-doc for rx_handler_result is taken from Nicolas\u0027 patch.\n\nSigned-off-by: Jiri Pirko \u003cjpirko@redhat.com\u003e\nReviewed-by: Nicolas de Pesloüan \u003cnicolas.2p.debian@free.fr\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "04ed3e741d0f133e02bed7fa5c98edba128f90e7",
      "tree": "3dde4ca8306e98536faa69bccf0e47a2549c088f",
      "parents": [
        "57422dc530115e427dff464cc0a32bcd0efb5008"
      ],
      "author": {
        "name": "Michał Mirosław",
        "email": "mirq-linux@rere.qmqm.pl",
        "time": "Mon Jan 24 15:32:47 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 24 15:32:47 2011 -0800"
      },
      "message": "net: change netdev-\u003efeatures to u32\n\nQuoting Ben Hutchings: we presumably won\u0027t be defining features that\ncan only be enabled on 64-bit architectures.\n\nOccurences found by `grep -r` on net/, drivers/net, include/\n\n[ Move features and vlan_features next to each other in\n  struct netdev, as per Eric Dumazet\u0027s suggestion -DaveM ]\n\nSigned-off-by: Michał Mirosław \u003cmirq-linux@rere.qmqm.pl\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "686a2955531312dab77bb6f1e8602787d85e47d8",
      "tree": "4209f28a17bbd4ba124484d2e57a1f52f22734cd",
      "parents": [
        "212bfb9e94e86b40684076f642b089b0565455d2"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 20 22:47:32 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 20 22:47:32 2011 -0800"
      },
      "message": "net: Add safe reverse SKB queue walkers.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2fc72c7b84002ffb3c66918e2a7b0ee607d8b5aa",
      "tree": "df97dadb97bf3c9b46b7c557d8ac14b9ab1c17b3",
      "parents": [
        "2f46e07995734a363608e974a82fd05d5b610750"
      ],
      "author": {
        "name": "KOVACS Krisztian",
        "email": "hidden@balabit.hu",
        "time": "Wed Jan 12 20:25:08 2011 +0100"
      },
      "committer": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Wed Jan 12 20:25:08 2011 +0100"
      },
      "message": "netfilter: fix compilation when conntrack is disabled but tproxy is enabled\n\nThe IPv6 tproxy patches split IPv6 defragmentation off of conntrack, but\nfailed to update the #ifdef stanzas guarding the defragmentation related\nfields and code in skbuff and conntrack related code in nf_defrag_ipv6.c.\n\nThis patch adds the required #ifdefs so that IPv6 tproxy can truly be used\nwithout connection tracking.\n\nOriginal report:\nhttp://marc.info/?l\u003dlinux-netdev\u0026m\u003d129010118516341\u0026w\u003d2\n\nReported-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nAcked-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: KOVACS Krisztian \u003chidden@balabit.hu\u003e\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\n"
    },
    {
      "commit": "04fb451eff978ca059399eab83d5594b073caf6f",
      "tree": "6ef0da9466839c475ab939d55504d57c62cd48c6",
      "parents": [
        "bc2ce894e113ed95b92541134b002fdc641e8080"
      ],
      "author": {
        "name": "Michał Mirosław",
        "email": "mirq-linux@rere.qmqm.pl",
        "time": "Tue Dec 14 15:24:08 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Dec 16 14:43:14 2010 -0800"
      },
      "message": "net: Introduce skb_checksum_start_offset()\n\nIntroduce skb_checksum_start_offset() to replace repetitive calculation.\n\nSigned-off-by: Michał Mirosław \u003cmirq-linux@rere.qmqm.pl\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a3d22a68d752ccc1a01bb0a64dd70b7a98bf9e23",
      "tree": "e51c231b29d8e285acb8196b6b893c718febd2b1",
      "parents": [
        "d33e455337ea2c71d09d7f4367d6ad6dd32b6965"
      ],
      "author": {
        "name": "Vladislav Zolotarov",
        "email": "vladz@broadcom.com",
        "time": "Mon Dec 13 06:27:10 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Dec 16 13:15:53 2010 -0800"
      },
      "message": "bnx2x: Take the distribution range definition out of skb_tx_hash()\n\nMove the calcualation of the Tx hash for a given hash range into a separate\nfunction and define the skb_tx_hash(), which calculates a Tx hash for a\n[0; dev-\u003ereal_num_tx_queues - 1] hash values range, using this\nfunction (__skb_tx_hash()).\n\nSigned-off-by: Vladislav Zolotarov \u003cvladz@broadcom.com\u003e\nSigned-off-by: Eilon Greenstein \u003ceilong@broadcom.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3853b5841c01a3f492fe137afaad9c209e5162c6",
      "tree": "6781db9ec592d9798129cd4715ce00dc9007b78c",
      "parents": [
        "22f4fbd9bd283ef85126e511171932a4af703776"
      ],
      "author": {
        "name": "Tom Herbert",
        "email": "therbert@google.com",
        "time": "Sun Nov 21 13:17:29 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 24 11:44:19 2010 -0800"
      },
      "message": "xps: Improvements in TX queue selection\n\nIn dev_pick_tx, don\u0027t do work in calculating queue\nindex or setting\nthe index in the sock unless the device has more than one queue.  This\nallows the sock to be set only with a queue index of a multi-queue\ndevice which is desirable if device are stacked like in a tunnel.\n\nWe also allow the mapping of a socket to queue to be changed.  To\nmaintain in order packet transmission a flag (ooo_okay) has been\nadded to the sk_buff structure.  If a transport layer sets this flag\non a packet, the transmit queue can be changed for the socket.\nPresumably, the transport would set this if there was no possbility\nof creating OOO packets (for instance, there are no packets in flight\nfor the socket).  This patch includes the modification in TCP output\nfor setting this flag.\n\nSigned-off-by: Tom Herbert \u003ctherbert@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "27b75c95f10d249574d9c4cb9dab878107faede8",
      "tree": "466656d86aaa395951e12b50903e730203c5f86f",
      "parents": [
        "e6484930d7c73d324bccda7d43d131088da697b9"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Fri Oct 15 05:44:11 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 20 03:02:23 2010 -0700"
      },
      "message": "net: avoid RCU for NOCACHE dst\n\nThere is no point using RCU for dst we allocate for a very short time\n(used once).\n\nChange dst_release() to take DST_NOCACHE into account, but also change\nskb_dst_set_noref() to force a refcount increment for such dst.\n\nThis is a _huge_ gain, because we dont waste memory to store xx thousand\nof dsts. Instead of queueing them to RCU, we can free them instantly.\n\nCPU caches can stay hot, re-using same memory blocks to hold temporary\ndsts.\n\nNote : remove unneeded smp_mb__before_atomic_dec(); in dst_release(),\nsince atomic_dec_return() implies a full memory barrier.\n\nStress test, 160.000.000 udp frames sent, IP route cache disabled\n(DDOS).\n\nBefore:\n\nreal    0m38.091s\nuser    0m13.189s\nsys     7m53.018s\n\nAfter:\n\nreal\t0m29.946s\nuser\t0m12.157s\nsys\t7m40.605s\n\nFor reference, if IP route cache was enabled :\n\nreal\t0m32.030s\nuser\t0m10.521s\nsys\t8m15.243s\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "564824b0c52c34692d804bb6ea214451615b0b50",
      "tree": "d836fa51848026df74e2bec2b634f1fcf3c6d02f",
      "parents": [
        "6f0333b8fde44b8c04a53b2461504f0e8f1cebe6"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Oct 11 19:05:25 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Oct 16 11:13:19 2010 -0700"
      },
      "message": "net: allocate skbs on local node\n\ncommit b30973f877 (node-aware skb allocation) spread a wrong habit of\nallocating net drivers skbs on a given memory node : The one closest to\nthe NIC hardware. This is wrong because as soon as we try to scale\nnetwork stack, we need to use many cpus to handle traffic and hit\nslub/slab management on cross-node allocations/frees when these cpus\nhave to alloc/free skbs bound to a central node.\n\nskb allocated in RX path are ephemeral, they have a very short\nlifetime : Extra cost to maintain NUMA affinity is too expensive. What\nappeared as a nice idea four years ago is in fact a bad one.\n\nIn 2010, NIC hardwares are multiqueue, or we use RPS to spread the load,\nand two 10Gb NIC might deliver more than 28 million packets per second,\nneeding all the available cpus.\n\nCost of cross-node handling in network and vm stacks outperforms the\nsmall benefit hardware had when doing its DMA transfert in its \u0027local\u0027\nmemory node at RX time. Even trying to differentiate the two allocations\ndone for one skb (the sk_buff on local node, the data part on NIC\nhardware node) is not enough to bring good performance.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nAcked-by: Tom Herbert \u003ctherbert@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cb4dfe562cac6fcb544df752e40c1d78000d0712",
      "tree": "a256abb0ecbfb4c1909563274ee9e7d0138b1b16",
      "parents": [
        "c5256c51232d8312755e8de2b514c426b19b101a"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Sep 23 05:06:54 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Sep 26 18:31:13 2010 -0700"
      },
      "message": "net: skb_frag_t can be smaller on small arches\n\nOn 32bit arches, if PAGE_SIZE is smaller than 65536, we can use 16bit\noffset and size fields. This patch saves 72 bytes per skb on i386, or\n128 bytes after rounding.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a02cec2155fbea457eca8881870fd2de1a4c4c76",
      "tree": "cfbfc4b32bfe10f9cd803d46c31607d13f1858f5",
      "parents": [
        "6a08d194ee40806e0ccd5f36ed768e64cbfc979f"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Sep 22 20:43:57 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 23 14:33:39 2010 -0700"
      },
      "message": "net: return operator cleanup\n\nChange \"return (EXPR);\" to \"return EXPR;\"\n\nreturn is not a function, parentheses are not required.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bc8acf2c8c3e43fcc192762a9f964b3e9a17748b",
      "tree": "e3a91392771a22390e59c24fcb7bad3045ce17d1",
      "parents": [
        "7162f6691e9d39d8d866574687cddb3f1ec65d72"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Sep 02 13:07:41 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 02 19:06:22 2010 -0700"
      },
      "message": "drivers/net: avoid some skb-\u003eip_summed initializations\n\nfresh skbs have ip_summed set to CHECKSUM_NONE (0)\n\nWe can avoid setting again skb-\u003eip_summed to CHECKSUM_NONE in drivers.\n\nIntroduce skb_checksum_none_assert() helper so that we keep this\nassertion documented in driver sources.\n\nChange most occurrences of :\n\nskb-\u003eip_summed \u003d CHECKSUM_NONE;\n\nby :\n\nskb_checksum_none_assert(skb);\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "21dc330157454046dd7c494961277d76e1c957fe",
      "tree": "4f030efa8d82f7eb9676acd4cfc74921a6d29972",
      "parents": [
        "2d4833aae65589ba4317dd325fe20c8b25c14173"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 23 00:13:46 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 23 00:13:46 2010 -0700"
      },
      "message": "net: Rename skb_has_frags to skb_has_frag_list\n\nSKBs can be \"fragmented\" in two ways, via a page array (called\nskb_shinfo(skb)-\u003efrags[]) and via a list of SKBs (called\nskb_shinfo(skb)-\u003efrag_list).\n\nSince skb_has_frags() tests the latter, it\u0027s name is confusing\nsince it sounds more like it\u0027s testing the former.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2244d07bfa2097cb00600da91c715a8aa547917e",
      "tree": "44d67d9ffba3697fffeb05c13e88aa76ebc3fd4a",
      "parents": [
        "4d5870ec103e6569851b9710f0093f072b08439a"
      ],
      "author": {
        "name": "Oliver Hartkopp",
        "email": "socketcan@hartkopp.net",
        "time": "Tue Aug 17 08:59:14 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Aug 19 00:08:30 2010 -0700"
      },
      "message": "net: simplify flags for tx timestamping\n\nThis patch removes the abstraction introduced by the union skb_shared_tx in\nthe shared skb data.\n\nThe access of the different union elements at several places led to some\nconfusion about accessing the shared tx_flags e.g. in skb_orphan_try().\n\n    http://marc.info/?l\u003dlinux-netdev\u0026m\u003d128084897415886\u0026w\u003d2\n\nSigned-off-by: Oliver Hartkopp \u003csocketcan@hartkopp.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bfb564e7391340638afe4ad67744a8f3858e7566",
      "tree": "7f079d9c3f020d52efb555db414476c463584967",
      "parents": [
        "6891dd25d3f82e50979b27fde1980aa96320b975"
      ],
      "author": {
        "name": "Krishna Kumar",
        "email": "krkumar2@in.ibm.com",
        "time": "Wed Aug 04 06:15:52 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 16 21:06:24 2010 -0700"
      },
      "message": "core: Factor out flow calculation from get_rps_cpu\n\nFactor out flow calculation code from get_rps_cpu, since other\nfunctions can use the same code.\n\nRevisions:\n\nv2 (Ben): Separate flow calcuation out and use in select queue.\nv3 (Arnd): Don\u0027t re-implement MIN.\nv4 (Changli): skb-\u003edata points to ethernet header in macvtap, and\n\tmake a fast path. Tested macvtap with this patch.\nv5 (Changli):\n\t- Cache skb-\u003erxhash in skb_get_rxhash\n\t- macvtap may not have pow(2) queues, so change code for\n\t  queue selection.\n    (Arnd):\n\t- Use first available queue if all fails.\n\nSigned-off-by: Krishna Kumar \u003ckrkumar2@in.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f9599ce11192f24dbb0f4fdb70121a05edc58342",
      "tree": "12da3fa1947471845ac4277cc030e81fbfd78483",
      "parents": [
        "36d12690a2e9bcacae5a2a7e0fb6345a3caad625"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Wed Aug 04 04:43:44 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 04 21:53:14 2010 -0700"
      },
      "message": "sk_buff: introduce pskb_network_may_pull()\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cff0d6e6edac7672b3f915bb4fb59f279243b7f9",
      "tree": "a12b08344380a9f02c9d043b176b82e921266d6e",
      "parents": [
        "3578b0c8abc7bdb4f02152ce5db7e09d484c6866"
      ],
      "author": {
        "name": "Oliver Hartkopp",
        "email": "socketcan@hartkopp.net",
        "time": "Tue Aug 03 00:31:48 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Aug 03 00:31:48 2010 -0700"
      },
      "message": "can-raw: Fix skb_orphan_try handling\n\nCommit fc6055a5ba31e2c14e36e8939f9bf2b6d586a7f5 (net: Introduce\nskb_orphan_try()) allows an early orphan of the skb and takes care on\ntx timestamping, which needs the sk-reference in the skb on driver level.\nSo does the can-raw socket, which has not been taken into account here.\n\nThe patch below adds a \u0027prevent_sk_orphan\u0027 bit in the skb tx shared info,\nwhich fixes the problem discovered by Matthias Fuchs here:\n\n      http://marc.info/?t\u003d128030411900003\u0026r\u003d1\u0026w\u003d2\n\nEven if it\u0027s not a primary tx timestamp topic it fits well into some skb\nshared tx context. Or should be find a different place for the information to\nprotect the sk reference until it reaches the driver level?\n\nSigned-off-by: Oliver Hartkopp \u003csocketcan@hartkopp.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fed66381d65a35198639f564365e61a7f256bf79",
      "tree": "e4d4c83f135f58c32a85454e28e33407711f7718",
      "parents": [
        "c1f79426e2df5ef96fe3e76de6c7606d15bf390b"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Jul 22 19:09:08 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 24 21:05:57 2010 -0700"
      },
      "message": "net: pskb_expand_head() optimization\n\nMove frags[] at the end of struct skb_shared_info, and make\npskb_expand_head() copy only the used part of it instead of whole array.\n\nThis should avoid kmemcheck warnings and speedup pskb_expand_head() as\nwell, avoiding a lot of cache misses.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c1f19b51d1d87f3e3bb7e6648f43f7d57ed2da6b",
      "tree": "d9525359409e3493b48e8676717cc11ed69b640a",
      "parents": [
        "15f0127d1d189fda3294b7823e3e654afca54055"
      ],
      "author": {
        "name": "Richard Cochran",
        "email": "richardcochran@gmail.com",
        "time": "Sat Jul 17 08:49:36 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jul 18 19:15:26 2010 -0700"
      },
      "message": "net: support time stamping in phy devices.\n\nThis patch adds a new networking option to allow hardware time stamps\nfrom PHY devices. When enabled, likely candidates among incoming and\noutgoing network packets are offered to the PHY driver for possible\ntime stamping. When accepted by the PHY driver, incoming packets are\ndeferred for later delivery by the driver.\n\nThe patch also adds phylib driver methods for the SIOCSHWTSTAMP ioctl\nand callbacks for transmit and receive time stamping. Drivers may\noptionally implement these functions.\n\nSigned-off-by: Richard Cochran \u003crichard.cochran@omicron.at\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4507a71507d4ff37e9a499c4241b7701ed1feab4",
      "tree": "775ff8a11852f37ebc78363cf41729221cd92718",
      "parents": [
        "ad1afb00393915a51c21b1ae8704562bf036855f"
      ],
      "author": {
        "name": "Richard Cochran",
        "email": "richardcochran@gmail.com",
        "time": "Sat Jul 17 08:48:28 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jul 18 19:15:25 2010 -0700"
      },
      "message": "net: add driver hook for tx time stamping.\n\nThis patch adds a hook for transmit time stamps. The transmit hook\nallows a software fallback for transmit time stamps, for MACs\nlacking time stamping hardware. Using the hook will still require\nadding an inline function call to each MAC driver.\n\nSigned-off-by: Richard Cochran \u003crichard.cochran@omicron.at\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5933dd2f028cdcbb4b3169dca594324704ba10ae",
      "tree": "c49d33589cf1ee2047ed4aa00f700e7ddb090447",
      "parents": [
        "a95d8c88bea0c93505e1d143d075f112be2b25e3"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Jun 15 18:16:43 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 15 18:16:43 2010 -0700"
      },
      "message": "net: NET_SKB_PAD should depend on L1_CACHE_BYTES\n\nIn old kernels, NET_SKB_PAD was defined to 16.\n\nThen commit d6301d3dd1c2 (net: Increase default NET_SKB_PAD to 32), and\ncommit 18e8c134f4e9 (net: Increase NET_SKB_PAD to 64 bytes) increased it\nto 64.\n\nWhile first patch was governed by network stack needs, second was more\ndriven by performance issues on current hardware. Real intent was to\nalign data on a cache line boundary.\n\nSo use max(32, L1_CACHE_BYTES) instead of 64, to be more generic.\n\nRemove microblaze and powerpc own NET_SKB_PAD definitions.\n\nThanks to Alexander Duyck and David Miller for their comments.\n\nSuggested-by: David Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "62522d36d74a843e78d17f2dffc90468c6762803",
      "tree": "d9d21de6724425c1b0ba12991e0865556aeda6b4",
      "parents": [
        "a71fba97295db924c0b90266e9833e5059fead24",
        "e79aa8671033535c2e9ffc0a68010ae49ed5734c"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jun 11 13:32:31 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jun 11 13:32:31 2010 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n"
    },
    {
      "commit": "597a264b1a9c7e36d1728f677c66c5c1f7e3b837",
      "tree": "22db16f0a7b54ece127e127e152e9172456d9e1c",
      "parents": [
        "00d9d6a185de89edc0649ca4ead58f0283dfcbac"
      ],
      "author": {
        "name": "John Fastabend",
        "email": "john.r.fastabend@intel.com",
        "time": "Thu Jun 03 09:30:11 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jun 10 22:23:34 2010 -0700"
      },
      "message": "net: deliver skbs on inactive slaves to exact matches\n\nCurrently, the accelerated receive path for VLAN\u0027s will\ndrop packets if the real device is an inactive slave and\nis not one of the special pkts tested for in\nskb_bond_should_drop().  This behavior is different then\nthe non-accelerated path and for pkts over a bonded vlan.\n\nFor example,\n\nvlanx -\u003e bond0 -\u003e ethx\n\nwill be dropped in the vlan path and not delivered to any\npacket handlers at all.  However,\n\nbond0 -\u003e vlanx -\u003e ethx\n\nand\n\nbond0 -\u003e ethx\n\nwill be delivered to handlers that match the exact dev,\nbecause the VLAN path checks the real_dev which is not a\nslave and netif_recv_skb() doesn\u0027t drop frames but only\ndelivers them to exact matches.\n\nThis patch adds a sk_buff flag which is used for tagging\nskbs that would previously been dropped and allows the\nskb to continue to skb_netif_recv().  Here we add\nlogic to check for the deliver_no_wcard flag and if it\nis set only deliver to handlers that match exactly.  This\nmakes both paths above consistent and gives pkt handlers\na way to identify skbs that come from inactive slaves.\nWithout this patch in some configurations skbs will be\ndelivered to handlers with exact matches and in others\nbe dropped out right in the vlan path.\n\nI have tested the following 4 configurations in failover modes\nand load balancing modes.\n\n# bond0 -\u003e ethx\n\n# vlanx -\u003e bond0 -\u003e ethx\n\n# bond0 -\u003e vlanx -\u003e ethx\n\n# bond0 -\u003e ethx\n            |\n  vlanx -\u003e --\n\nSigned-off-by: John Fastabend \u003cjohn.r.fastabend@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b78462ebc6a4ef9074aa80abebcdd470dc5f0ce0",
      "tree": "fba32dab1e3dca2c5bb5b7d73a64a77c2b6872e8",
      "parents": [
        "55c95e738da85373965cb03b4f975d0fd559865b"
      ],
      "author": {
        "name": "Alexander Duyck",
        "email": "alexander.h.duyck@intel.com",
        "time": "Wed Jun 02 12:24:37 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jun 05 02:23:16 2010 -0700"
      },
      "message": "skbuff: add check for non-linear to warn_if_lro and needs_linearize\n\nWe can avoid an unecessary cache miss by checking if the skb is non-linear\nbefore accessing gso_size/gso_type in skb_warn_if_lro, the same can also be\ndone to avoid a cache miss on nr_frags if data_len is 0.\n\nSigned-off-by: Alexander Duyck \u003calexander.h.duyck@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": "5b0daa3474d52bed906c4d5e92b44e10148c6972",
      "tree": "3ed95111a3637d1b64f4c1bf27a0e86a785ca104",
      "parents": [
        "6057fd78a8dcce6269f029b967051d5a2e9b0895"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Sat May 29 00:12:13 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat May 29 00:12:13 2010 -0700"
      },
      "message": "skb: make skb_recycle_check() return a bool value\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7fee226ad2397b635e2fd565a59ca3ae08a164cd",
      "tree": "0bcd26150ad74ec1a237109de87a3d214a07fc22",
      "parents": [
        "ebda37c27d0c768947e9b058332d7ea798210cf8"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue May 11 23:19:48 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 17 17:18:50 2010 -0700"
      },
      "message": "net: add a noref bit on skb dst\n\nUse low order bit of skb-\u003e_skb_dst to tell dst is not refcounted.\n\nChange _skb_dst to _skb_refdst to make sure all uses are catched.\n\nskb_dst() returns the dst, regardless of noref bit set or not, but\nwith a lockdep check to make sure a noref dst is not given if current\nuser is not rcu protected.\n\nNew skb_dst_set_noref() helper to set an notrefcounted dst on a skb.\n(with lockdep check)\n\nskb_dst_drop() drops a reference only if skb dst was refcounted.\n\nskb_dst_force() helper is used to force a refcount on dst, when skb\nis queued and not anymore RCU protected.\n\nUse skb_dst_force() in __sk_add_backlog(), __dev_xmit_skb() if\n!IFF_XMIT_DST_RELEASE or skb enqueued on qdisc queue, in\nsock_queue_rcv_skb(), in __nf_queue().\n\nUse skb_dst_force() in dev_requeue_skb().\n\nNote: dst_use_noref() still dirties dst, we might transform it\nlater to do one dirtying per jiffies.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "18e8c134f4e984e6639e62846345192816f06d5c",
      "tree": "81bb46de14f020424716bd41915e831b07ce00c6",
      "parents": [
        "d6bc0149d8f2300bffa03ea6fea3ca39744277a6"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu May 06 21:58:51 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 06 21:58:51 2010 -0700"
      },
      "message": "net: Increase NET_SKB_PAD to 64 bytes\n\neth_type_trans() \u0026 get_rps_cpus() currently need two 64bytes cache\nlines in packet to compute rxhash.\n\nIncreasing NET_SKB_PAD from 32 to 64 reduces the need to one cache\nline only, and makes RPS faster.\n\nNET_IP_ALIGN(2) + ethernet_header(14) + IP_header(20/40) + ports(8)\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ec7d2f2cf3a1b76202986519ec4f8ec75b2de232",
      "tree": "177c324eb0cf7e687d1bbd10a6add3a7d5979002",
      "parents": [
        "8753d29fd5daf890004a38c80835e1eb3acda394"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed May 05 01:07:37 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 05 01:07:37 2010 -0700"
      },
      "message": "net: __alloc_skb() speedup\n\nWith following patch I can reach maximum rate of my pktgen+udpsink\nsimulator :\n- \u0027old\u0027 machine : dual quad core E5450  @3.00GHz\n- 64 UDP rx flows (only differ by destination port)\n- RPS enabled, NIC interrupts serviced on cpu0\n- rps dispatched on 7 other cores. (~130.000 IPI per second)\n- SLAB allocator (faster than SLUB in this workload)\n- tg3 NIC\n- 1.080.000 pps without a single drop at NIC level.\n\nIdea is to add two prefetchw() calls in __alloc_skb(), one to prefetch\nfirst sk_buff cache line, the second to prefetch the shinfo part.\n\nAlso using one memset() to initialize all skb_shared_info fields instead\nof one by one to reduce number of instructions, using long word moves.\n\nAll skb_shared_info fields before \u0027dataref\u0027 are cleared in \n__alloc_skb().\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "47d29646a2c1c147d8a7598aeac2c87dd71ed638",
      "tree": "b38f05d82883b5c0fc885812172a546af966d419",
      "parents": [
        "43815482370c510c569fd18edb57afcb0fa8cab6"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 02 02:21:44 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 02 02:21:44 2010 -0700"
      },
      "message": "net: Inline skb_pull() in eth_type_trans().\n\nIn commit 6be8ac2f (\"[NET]: uninline skb_pull, de-bloats a lot\")\nwe uninlined skb_pull.\n\nBut in some critical paths it makes sense to inline this thing\nand it helps performance significantly.\n\nCreate an skb_pull_inline() so that we can do this in a way that\nserves also as annotation.\n\nBased upon a patch by Eric Dumazet.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ccb7c7732e2ceb4e81a7806faf1670be9681ccd2",
      "tree": "76508ab431133ca9a085a9e3fa62fbfed607c9fb",
      "parents": [
        "0eae88f31ca2b88911ce843452054139e028771f"
      ],
      "author": {
        "name": "Rami Rosen",
        "email": "ramirose@gmail.com",
        "time": "Tue Apr 20 22:39:53 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 20 22:39:53 2010 -0700"
      },
      "message": "net: Remove two unnecessary exports (skbuff).\n\nThere is no need to export skb_under_panic() and skb_over_panic() in\nskbuff.c, since these methods are used only in skbuff.c ; this patch\nremoves these two exports. It also marks these functions as \u0027static\u0027\nand removeS the extern declarations of them from\ninclude/linux/skbuff.h\n\nSigned-off-by: Rami Rosen \u003cramirose@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cd58950a5345f006a318f178705b9250aa54425c",
      "tree": "dcb03a8a7fc911be029bf5d8efc3e98de04b386a",
      "parents": [
        "1b6e66182dab42c42bdac72633dbe35b3dba8f69"
      ],
      "author": {
        "name": "Alexander Duyck",
        "email": "alexander.h.duyck@intel.com",
        "time": "Fri Apr 09 10:01:37 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 13 02:58:24 2010 -0700"
      },
      "message": "skbuff: remove unused dev_consume_skb macro definition\n\ndev_consume_skb and kfree_skb_clean have no users and in the case of\nkfree_skb_clean could cause potential build issues since I cannot find\nwhere it is defined.  Based on the patch in which it was introduced it\nappears to have been a bit of leftover code from an earlier version of the\npatch in which kfree_skb_clean was dropped in favor of consume_skb.\n\nSigned-off-by: Alexander Duyck \u003calexander.h.duyck@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": "4a35ecf8bf1c4b039503fa554100fe85c761de76",
      "tree": "9b75f5d5636004d9a9aa496924377379be09aa1f",
      "parents": [
        "b4d562e3c3553ac58c7120555c4e4aefbb090a2a",
        "fb9e2d887243499b8d28efcf80821c4f6a092395"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 06 23:53:30 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 06 23:53:30 2010 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tdrivers/net/bonding/bond_main.c\n\tdrivers/net/via-velocity.c\n\tdrivers/net/wireless/iwlwifi/iwl-agn.c\n"
    },
    {
      "commit": "03e6d819c2cb2cc8ce5642669a0a7c72336ee7a2",
      "tree": "80ae5a328cf6b5a7cdbefba59a2931218923d874",
      "parents": [
        "f6b9f4b263f3178fc0f23f0e67d04386528cc727"
      ],
      "author": {
        "name": "Alexander Duyck",
        "email": "alexander.h.duyck@intel.com",
        "time": "Tue Mar 23 20:40:50 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 24 11:13:35 2010 -0700"
      },
      "message": "skbuff: remove unused dma_head \u0026 dma_maps fields\n\nThe dma map fields in the skb_shared_info structure no longer has any users\nand can be dropped since it is making the skb_shared_info unecessarily larger.\n\nRunning slabtop show that we were using 4K slabs for the skb-\u003ehead on x86_64 w/\nan allocation size of 1522.  It turns out that the dma_head and dma_maps array\nmade skb_shared large enough that we had crossed over the 2k boundary with\nstandard frames and as such we were using 4k blocks of memory for all skbs.\n\nSigned-off-by: Alexander Duyck \u003calexander.h.duyck@intel.com\u003e\nSigned-off-by: Jeff Kirsher \u003cjeffrey.t.kirsher@intel.com\u003e\nAcked-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0a9627f2649a02bea165cfd529d7bcb625c2fcad",
      "tree": "e5d4424b99208c78e2b2fe6ff5a158fc21bdf782",
      "parents": [
        "768bbedf9ca4cc4784eae2003f37abe0818fe0b0"
      ],
      "author": {
        "name": "Tom Herbert",
        "email": "therbert@google.com",
        "time": "Tue Mar 16 08:03:29 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 16 21:23:18 2010 -0700"
      },
      "message": "rps: Receive Packet Steering\n\nThis patch implements software receive side packet steering (RPS).  RPS\ndistributes the load of received packet processing across multiple CPUs.\n\nProblem statement: Protocol processing done in the NAPI context for received\npackets is serialized per device queue and becomes a bottleneck under high\npacket load.  This substantially limits pps that can be achieved on a single\nqueue NIC and provides no scaling with multiple cores.\n\nThis solution queues packets early on in the receive path on the backlog queues\nof other CPUs.   This allows protocol processing (e.g. IP and TCP) to be\nperformed on packets in parallel.   For each device (or each receive queue in\na multi-queue device) a mask of CPUs is set to indicate the CPUs that can\nprocess packets. A CPU is selected on a per packet basis by hashing contents\nof the packet header (e.g. the TCP or UDP 4-tuple) and using the result to index\ninto the CPU mask.  The IPI mechanism is used to raise networking receive\nsoftirqs between CPUs.  This effectively emulates in software what a multi-queue\nNIC can provide, but is generic requiring no device support.\n\nMany devices now provide a hash over the 4-tuple on a per packet basis\n(e.g. the Toeplitz hash).  This patch allow drivers to set the HW reported hash\nin an skb field, and that value in turn is used to index into the RPS maps.\nUsing the HW generated hash can avoid cache misses on the packet when\nsteering it to a remote CPU.\n\nThe CPU mask is set on a per device and per queue basis in the sysfs variable\n/sys/class/net/\u003cdevice\u003e/queues/rx-\u003cn\u003e/rps_cpus.  This is a set of canonical\nbit maps for receive queues in the device (numbered by \u003cn\u003e).  If a device\ndoes not support multi-queue, a single variable is used for the device (rx-0).\n\nGenerally, we have found this technique increases pps capabilities of a single\nqueue device with good CPU utilization.  Optimal settings for the CPU mask\nseem to depend on architectures and cache hierarcy.  Below are some results\nrunning 500 instances of netperf TCP_RR test with 1 byte req. and resp.\nResults show cumulative transaction rate and system CPU utilization.\n\ne1000e on 8 core Intel\n   Without RPS: 108K tps at 33% CPU\n   With RPS:    311K tps at 64% CPU\n\nforcedeth on 16 core AMD\n   Without RPS: 156K tps at 15% CPU\n   With RPS:    404K tps at 49% CPU\n\nbnx2x on 16 core AMD\n   Without RPS  567K tps at 61% CPU (4 HW RX queues)\n   Without RPS  738K tps at 96% CPU (8 HW RX queues)\n   With RPS:    854K tps at 76% CPU (4 HW RX queues)\n\nCaveats:\n- The benefits of this patch are dependent on architecture and cache hierarchy.\nTuning the masks to get best performance is probably necessary.\n- This patch adds overhead in the path for processing a single packet.  In\na lightly loaded server this overhead may eliminate the advantages of\nincreased parallelism, and possibly cause some relative performance degradation.\nWe have found that masks that are cache aware (share same caches with\nthe interrupting CPU) mitigate much of this.\n- The RPS masks can be changed dynamically, however whenever the mask is changed\nthis introduces the possibility of generating out of order packets.  It\u0027s\nprobably best not change the masks too frequently.\n\nSigned-off-by: Tom Herbert \u003ctherbert@google.com\u003e\n\n include/linux/netdevice.h |   32 ++++-\n include/linux/skbuff.h    |    3 +\n net/core/dev.c            |  335 +++++++++++++++++++++++++++++++++++++--------\n net/core/net-sysfs.c      |  225 ++++++++++++++++++++++++++++++-\n net/core/skbuff.c         |    2 +\n 5 files changed, 538 insertions(+), 59 deletions(-)\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4ab408dea0f0dba4dec0555f4f35b7ae703f5e91",
      "tree": "9bb765972530c87a9f010d45f63027c607864b76",
      "parents": [
        "85b3526932645269f67fee3583fa2aa500ab4f34"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Mar 01 03:09:26 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 02 03:05:05 2010 -0800"
      },
      "message": "net: fix protocol sk_buff field\n\nCommit e992cd9b72a18 (kmemcheck: make bitfield annotations truly no-ops\nwhen disabled) allows us to revert a workaround we did in the past to\nnot add holes in sk_buff structure.\n\nThis patch partially reverts commit 14d18a81b5171\n(net: fix kmemcheck annotations) so that sparse doesnt complain:\n\ninclude/linux/skbuff.h:357:41: error: invalid bitfield specifier for\ntype restricted __be16.\n\nReported-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "da3f5cf1f8ebb0fab5c5fd09adb189166594ad6c",
      "tree": "b00659673aee2b4461b1b7c9b352dc1add211fe4",
      "parents": [
        "8d6184e4881b423522136aeb3ec1cbd9c35e8813"
      ],
      "author": {
        "name": "Felix Fietkau",
        "email": "nbd@openwrt.org",
        "time": "Tue Feb 23 11:45:51 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Feb 27 03:16:59 2010 -0800"
      },
      "message": "skbuff: align sk_buff::cb to 64 bit and close some potential holes\n\nThe alignment requirement for 64-bit load/store instructions on ARM is\nimplementation defined. Some CPUs (such as Marvell Feroceon) do not\ngenerate an exception, if such an instruction is executed with an\naddress that is not 64 bit aligned. In such a case, the Feroceon\ncorrupts adjacent memory, which showed up in my tests as a crash in the\nrx path of ath9k that only occured with CONFIG_XFRM set.\n\nThis crash happened, because the first field of the mac80211 rx status\ninfo in the cb is an u64, and changing it corrupted the skb-\u003esp field.\n\nThis patch also closes some potential pre-existing holes in the sk_buff\nstruct surrounding the cb[] area.\n\nSigned-off-by: Felix Fietkau \u003cnbd@openwrt.org\u003e\nCc: stable@kernel.org\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1a5778aa000ebfec7f07eed0ffa2852ffb5d16bb",
      "tree": "86ec6c8f9f5a43e3bca90a45eec6dd32f565b2d6",
      "parents": [
        "5ecccb74dc91e22496a142b103ba958f93c29275"
      ],
      "author": {
        "name": "Ben Hutchings",
        "email": "ben@decadent.org.uk",
        "time": "Sun Feb 14 22:35:47 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Feb 14 22:35:47 2010 -0800"
      },
      "message": "net: Fix first line of kernel-doc for a few functions\n\nThe function name must be followed by a space, hypen, space, and a\nshort description.\n\nSigned-off-by: Ben Hutchings \u003cben@decadent.org.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c81c2d95449cd218c2022ce6014c52fef1eb1f66",
      "tree": "3da987f71e3a6807b1d48637766724412689805b",
      "parents": [
        "f4188d8affc8267a0f0f1b587a4d0a4b9b7f2999"
      ],
      "author": {
        "name": "Alexander Duyck",
        "email": "alexander.h.duyck@intel.com",
        "time": "Wed Dec 02 16:49:02 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 02 19:57:15 2009 -0800"
      },
      "message": "skbuff: remove skb_dma_map/unmap\n\nThe two functions skb_dma_map/unmap are unsafe to use as they cause\nproblems when packets are cloned and sent to multiple devices while a HW\nIOMMU is enabled.  Due to this it is best to remove the code so it is not\nused by any other network driver maintainters.\n\nSigned-off-by: Alexander Duyck \u003calexander.h.duyck@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": "8964be4a9a5ca8cab1219bb046db2f6d1936227c",
      "tree": "8838c73a03cc69c010b55928fce3725d17bc26a9",
      "parents": [
        "fa9a6fed87df1b50804405e700f8d30251d3aaf1"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Fri Nov 20 15:35:04 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Nov 20 15:35:04 2009 -0800"
      },
      "message": "net: rename skb-\u003eiif to skb-\u003eskb_iif\n\nTo help grep games, rename iif to skb_iif\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "230f9bb701d37ae9b48e96456689452978f5c439",
      "tree": "9d2690917533bbb4498c8c9df838de2d38360912",
      "parents": [
        "000ba2e43f33901859fd794bb33c885909d53b3b",
        "887e671f324d9898aaedb29a6ece6c853c394067"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Nov 06 00:55:55 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Nov 06 00:55:55 2009 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tdrivers/net/usb/cdc_ether.c\n\nAll CDC ethernet devices of type USB_CLASS_COMM need to use\n\u0027\u0026mbm_info\u0027.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d94d9fee9fa4e66a0b91640a694b8b10177075b3",
      "tree": "330b2b19e63c92f1fef3d9dbe0733ddeb0109664",
      "parents": [
        "b8883a65be2d925ea82b14ca0068ce9a6c8bac1f"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Nov 04 09:50:58 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 04 09:50:58 2009 -0800"
      },
      "message": "net: cleanup include/linux\n\nThis cleanup patch puts struct/union/enum opening braces,\nin first line to ease grep games.\n\nstruct something\n{\n\nbecomes :\n\nstruct something {\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9d410c796067686b1e032d54ce475b7055537138",
      "tree": "4442bdbe4a4be1cce024f2e83a12b7404ef935fa",
      "parents": [
        "63ca2d74ea4f9c7a7ac082c915609a7b224908e7"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Fri Oct 30 05:03:53 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Oct 30 12:25:12 2009 -0700"
      },
      "message": "net: fix sk_forward_alloc corruption\n\nOn UDP sockets, we must call skb_free_datagram() with socket locked,\nor risk sk_forward_alloc corruption. This requirement is not respected\nin SUNRPC.\n\nAdd a convenient helper, skb_free_datagram_locked() and use it in SUNRPC\n\nReported-by: Francis Moreau \u003cfrancis.moro@gmail.com\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "14d18a81b5171d4433e41129619c75748b4f4d26",
      "tree": "715d5d99fc74e05d8530b6af2ea5059e5a00749b",
      "parents": [
        "1d5846b9216665d0ae743bf351d0b8fa90c40523"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Oct 29 00:10:37 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 29 22:48:44 2009 -0700"
      },
      "message": "net: fix kmemcheck annotations\n\nstruct sk_buff kmemcheck annotations enlarged this structure by 8/16 bytes\n\nFix this by moving \u0027protocol\u0027 inside flags1 bitfield,\nand queue_mapping inside flags2 bitfield.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "61321bbd6235ca9a40ba3bc249e8906cc66233c3",
      "tree": "20f50af5ea5cef41ca28dcc8e79f9a7cc2a52579",
      "parents": [
        "f373b53b5fe67aa4a6f28f921a529cc90f88e79b"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Oct 07 17:11:23 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Oct 13 03:44:03 2009 -0700"
      },
      "message": "net: Add netdev_alloc_skb_ip_align() helper\n\nInstead of hardcoding NET_IP_ALIGN stuff in various network drivers,\nwe can add a helper around netdev_alloc_skb()\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3b885787ea4112eaa80945999ea0901bf742707f",
      "tree": "06fc15f8e8083d5652ccb4d06653d9812dce9c0b",
      "parents": [
        "d5e63bded6e819ca77ee1a1d97c783a31f6caf30"
      ],
      "author": {
        "name": "Neil Horman",
        "email": "nhorman@tuxdriver.com",
        "time": "Mon Oct 12 13:26:31 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 12 13:26:31 2009 -0700"
      },
      "message": "net: Generalize socket rx gap / receive queue overflow cmsg\n\nCreate a new socket level option to report number of queue overflows\n\nRecently I augmented the AF_PACKET protocol to report the number of frames lost\non the socket receive queue between any two enqueued frames.  This value was\nexported via a SOL_PACKET level cmsg.  AFter I completed that work it was\nrequested that this feature be generalized so that any datagram oriented socket\ncould make use of this option.  As such I\u0027ve created this patch, It creates a\nnew SOL_SOCKET level option called SO_RXQ_OVFL, which when enabled exports a\nSOL_SOCKET level cmsg that reports the nubmer of times the sk_receive_queue\noverflowed between any two given frames.  It also augments the AF_PACKET\nprotocol to take advantage of this new feature (as it previously did not touch\nsk-\u003esk_drops, which this patch uses to record the overflow count).  Tested\nsuccessfully by me.\n\nNotes:\n\n1) Unlike my previous patch, this patch simply records the sk_drops value, which\nis not a number of drops between packets, but rather a total number of drops.\nDeltas must be computed in user space.\n\n2) While this patch currently works with datagram oriented protocols, it will\nalso be accepted by non-datagram oriented protocols. I\u0027m not sure if thats\nagreeable to everyone, but my argument in favor of doing so is that, for those\nprotocols which aren\u0027t applicable to this option, sk_drops will always be zero,\nand reporting no drops on a receive queue that isn\u0027t used for those\nnon-participating protocols seems reasonable to me.  This also saves us having\nto code in a per-protocol opt in mechanism.\n\n3) This applies cleanly to net-next assuming that commit\n977750076d98c7ff6cbda51858bb5a5894a9d9ab (my af packet cmsg patch) is reverted\n\nSigned-off-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "72bce62775db0315511474e8d8f8e25d25b48366",
      "tree": "7e97b6a26e0f8e7f8913c6cbd024e6d80e9a3e11",
      "parents": [
        "3b8d81e020f77c9da8b85b0685c8cd2ca7c7b150"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Jun 17 17:45:28 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Jul 24 15:05:31 2009 -0400"
      },
      "message": "net: remove unused skb-\u003edo_not_encrypt\n\nmac80211 required this due to the master netdev, but now\nit can put all information into skb-\u003ecb and this can go.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "8660c1240ec6016522b882c88751cb4ce40bf0e8",
      "tree": "560b0136efdface63b6c3dc52d5ab7bcf30b4021",
      "parents": [
        "79fbe134832ebb70a49d8802cfeb2401dc35bb38"
      ],
      "author": {
        "name": "Tobias Klauser",
        "email": "klto@zhaw.ch",
        "time": "Mon Jul 13 22:48:16 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 14 12:03:42 2009 -0700"
      },
      "message": "skbuff.h: Fix comment for NET_IP_ALIGN\n\nUse the correct function call for skb_reserve in the comment for\nNET_IP_ALIGN.\n\nSigned-off-by: Tobias Klauser \u003cklto@zhaw.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d2aa4550379f92e929af7ed1dd4f55e6a1e331f8",
      "tree": "5ef0fc69a507f0d701fd157b6652427eabd5efdd",
      "parents": [
        "9e3e4b1d2d13bead8d52703c82a02b55f108b491",
        "cb2107be43d2fc5eadec58b92b54bf32c00bfff3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 14:07:15 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 14:07:15 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6: (55 commits)\n  netxen: fix tx ring accounting\n  netxen: fix detection of cut-thru firmware mode\n  forcedeth: fix dma api mismatches\n  atm: sk_wmem_alloc initial value is one\n  net: correct off-by-one write allocations reports\n  via-velocity : fix no link detection on boot\n  Net / e100: Fix suspend of devices that cannot be power managed\n  TI DaVinci EMAC : Fix rmmod error\n  net: group address list and its count\n  ipv4: Fix fib_trie rebalancing, part 2\n  pkt_sched: Update drops stats in act_police\n  sky2: version 1.23\n  sky2: add GRO support\n  sky2: skb recycling\n  sky2: reduce default transmit ring\n  sky2: receive counter update\n  sky2: fix shutdown synchronization\n  sky2: PCI irq issues\n  sky2: more receive shutdown\n  sky2: turn off pause during shutdown\n  ...\n\nManually fix trivial conflict in net/core/skbuff.c due to kmemcheck\n"
    },
    {
      "commit": "a42fc8f6943127787ad2a416436cf211d5531229",
      "tree": "bab06b9e3310bbe5230cc9c480e0aa9935f4f9b1",
      "parents": [
        "05e9e61a2e742d33ed24392d989fff912a68d04f"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Tue Jun 16 16:56:38 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jun 17 04:31:11 2009 -0700"
      },
      "message": "skbuff.h: fix skb_dst kernel-doc\n\nFix kernel-doc warnings (missing + extra entries) in skbuff.h.\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b3fec0fe35a4ff048484f1408385a27695d4273b",
      "tree": "088c23f098421ea681d9976a83aad73d15be1027",
      "parents": [
        "e1f5b94fd0c93c3e27ede88b7ab652d086dc960f",
        "722f2a6c87f34ee0fd0130a8cf45f81e0705594a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 13:09:51 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 13:09:51 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/vegard/kmemcheck\n\n* \u0027for-linus2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/vegard/kmemcheck: (39 commits)\n  signal: fix __send_signal() false positive kmemcheck warning\n  fs: fix do_mount_root() false positive kmemcheck warning\n  fs: introduce __getname_gfp()\n  trace: annotate bitfields in struct ring_buffer_event\n  net: annotate struct sock bitfield\n  c2port: annotate bitfield for kmemcheck\n  net: annotate inet_timewait_sock bitfields\n  ieee1394/csr1212: fix false positive kmemcheck report\n  ieee1394: annotate bitfield\n  net: annotate bitfields in struct inet_sock\n  net: use kmemcheck bitfields API for skbuff\n  kmemcheck: introduce bitfield API\n  kmemcheck: add opcode self-testing at boot\n  x86: unify pte_hidden\n  x86: make _PAGE_HIDDEN conditional\n  kmemcheck: make kconfig accessible for other architectures\n  kmemcheck: enable in the x86 Kconfig\n  kmemcheck: add hooks for the page allocator\n  kmemcheck: add hooks for page- and sg-dma-mappings\n  kmemcheck: don\u0027t track page tables\n  ...\n"
    },
    {
      "commit": "fe55f6d5c0cfec4a710ef6ff63f162b99d5f7842",
      "tree": "4c4f0960d7355647e67f62e30e10c9215c123b65",
      "parents": [
        "fc7d0c9f2122e8bf58deaf1252b0e750df5b0e91"
      ],
      "author": {
        "name": "Vegard Nossum",
        "email": "vegard.nossum@gmail.com",
        "time": "Sat Aug 30 12:16:35 2008 +0200"
      },
      "committer": {
        "name": "Vegard Nossum",
        "email": "vegard.nossum@gmail.com",
        "time": "Mon Jun 15 15:49:25 2009 +0200"
      },
      "message": "net: use kmemcheck bitfields API for skbuff\n\nSigned-off-by: Vegard Nossum \u003cvegard.nossum@gmail.com\u003e\n"
    },
    {
      "commit": "8f77f3849cc3ae2d6df9301785a3d316ea7d7ee1",
      "tree": "02143d1e81c85f64900546e3e9c2b820f72745d1",
      "parents": [
        "fc240e3fc5791c572402b0857948da7b1e68d77f"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Sun Jun 07 21:58:37 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Jun 10 13:28:37 2009 -0400"
      },
      "message": "mac80211: do not pass PS frames out of mac80211 again\n\nIn order to handle powersave frames properly we had needed\nto pass these out to the device queues again, and introduce\nthe skb-\u003erequeue bit. This, however, also has unnecessary\noverhead by needing to \u0027clean up\u0027 already tried frames, and\nthis clean-up code is also buggy when software encryption\nis used.\n\nInstead of sending the frames via the master netdev queue\nagain, simply put them into the pending queue. This also\nfixes a problem where frames for that particular station\ncould be reordered when some were still on the software\nqueues and older ones are re-injected into the software\nqueue after them.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "ee0398717078260ee4ffa97d407071bc774e2dac",
      "tree": "57dff8cfd1c2dde383f3fcb49cdb8eb7b7d640a7",
      "parents": [
        "05f77f85f47e30a53f7971b687f3b0250e42f665"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 09 00:17:13 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 09 00:17:13 2009 -0700"
      },
      "message": "skbuff: Add frag list abstraction interfaces.\n\nWith the hope that these can be used to eliminate direct\nreferences to the frag list implementation.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "042a53a9e437feaf2230dd2cadcecfae9c7bfe05",
      "tree": "ae9078f61e390a3014aecb3fe80d3438ab25ee51",
      "parents": [
        "eae3f29cc73f83cc3f1891d3ad40021b5172c630"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Fri Jun 05 04:04:16 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 08 00:21:48 2009 -0700"
      },
      "message": "net: skb_shared_info optimization\n\nskb_dma_unmap() is quite expensive for small packets,\nbecause we use two different cache lines from skb_shared_info.\n\nOne to access nr_frags, one to access dma_maps[0]\n\nInstead of dma_maps being an array of MAX_SKB_FRAGS + 1 elements,\nlet dma_head alone in a new dma_head field, close to nr_frags,\nto reduce cache lines misses.\n\nTested on my dev machine (bnx2 \u0026 tg3 adapters), nice speedup !\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "eae3f29cc73f83cc3f1891d3ad40021b5172c630",
      "tree": "71c5555b3b67cae80c1aae8b9fd907e3be957e24",
      "parents": [
        "f957bcf0164e45bd77867e02412035e1c2fd7058"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Fri Jun 05 04:03:35 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 08 00:20:23 2009 -0700"
      },
      "message": "net: num_dma_maps is not used\n\nGet rid of num_dma_maps in struct skb_shared_info, as it seems unused.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e5b9215ef9a274eb9fb65f6aa4602ad82d10a6cb",
      "tree": "2b3a4ac7f0a52b3ade1b6cae1de34d461706670a",
      "parents": [
        "adf30907d63893e4208dfe3f5c88ae12bc2f25d5"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Jun 02 05:20:21 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jun 03 02:51:05 2009 -0700"
      },
      "message": "net: skb cleanup\n\nCan remove anonymous union now it has one field.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "adf30907d63893e4208dfe3f5c88ae12bc2f25d5",
      "tree": "0f07542bb95de2ad537540868aba6cf87a86e17d",
      "parents": [
        "511c3f92ad5b6d9f8f6464be1b4f85f0422be91a"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Jun 02 05:19:30 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jun 03 02:51:04 2009 -0700"
      },
      "message": "net: skb-\u003edst accessors\n\nDefine three accessors to get/set dst attached to a skb\n\nstruct dst_entry *skb_dst(const struct sk_buff *skb)\n\nvoid skb_dst_set(struct sk_buff *skb, struct dst_entry *dst)\n\nvoid skb_dst_drop(struct sk_buff *skb)\nThis one should replace occurrences of :\ndst_release(skb-\u003edst)\nskb-\u003edst \u003d NULL;\n\nDelete skb-\u003edst field\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    }
  ],
  "next": "511c3f92ad5b6d9f8f6464be1b4f85f0422be91a"
}
