)]}'
{
  "log": [
    {
      "commit": "d606ef3fe0c57504b8e534c58498f73a6abc049a",
      "tree": "00aa6e80fedbe8cd866fe19db8b077afd32db068",
      "parents": [
        "68aa3fd551e9d54d98794852714dc1edbb21df77"
      ],
      "author": {
        "name": "Baruch Siach",
        "email": "baruch@tkos.co.il",
        "time": "Mon Feb 14 02:05:33 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Feb 14 17:38:30 2011 -0800"
      },
      "message": "phy/micrel: add ability to support 50MHz RMII clock on KZS8051RNL\n\nPlatform code can now set the MICREL_PHY_50MHZ_CLK bit of dev_flags in a fixup\nroutine (registered with phy_register_fixup_for_uid()), to make the KZS8051RNL\nPHY work with 50MHz RMII reference clock.\n\nCc: David J. Choi \u003cdavid.choi@micrel.com\u003e\nSigned-off-by: Baruch Siach \u003cbaruch@tkos.co.il\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fbaec0ea54f7d9131891ff98744e82c073ce03b1",
      "tree": "d0622d38a51b7e4a1e853338e7cbd954d3977cf2",
      "parents": [
        "f45437efff460aa033978180da88229c5fc68455"
      ],
      "author": {
        "name": "Jiri Pirko",
        "email": "jpirko@redhat.com",
        "time": "Sun Feb 13 10:15:37 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Feb 13 16:58:39 2011 -0800"
      },
      "message": "rtnetlink: implement setting of master device\n\nThis patch allows userspace to enslave/release slave devices via netlink\ninterface using IFLA_MASTER. This introduces generic way to add/remove\nunderling devices.\n\nSigned-off-by: Jiri Pirko \u003cjpirko@redhat.com\u003e\nAcked-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1765a575334f1a232c1478accdee5c7d19f4b3e3",
      "tree": "6613f53ce9095b799048d891f0b4b6e34a479fe0",
      "parents": [
        "d59cfde2fb960b5970ccb5a38cea25d38b37a8e8"
      ],
      "author": {
        "name": "Jiri Pirko",
        "email": "jpirko@redhat.com",
        "time": "Sat Feb 12 06:48:36 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Feb 13 10:42:07 2011 -0800"
      },
      "message": "net: make dev-\u003emaster general\n\ndev-\u003emaster is now tightly connected to bonding driver. This patch makes\nthis pointer more general and ready to be used by others.\n\n - netdev_set_master() - bond specifics moved to new function\n   netdev_set_bond_master()\n - introduced netif_is_bond_slave() to check if device is a bonding slave\n\nSigned-off-by: Jiri Pirko \u003cjpirko@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d59cfde2fb960b5970ccb5a38cea25d38b37a8e8",
      "tree": "4ccf7fe4c8cc5a128885e60bd417253d3ec9b24a",
      "parents": [
        "d5e219c3a2389f31b18e4ca55c33a12adaadf565"
      ],
      "author": {
        "name": "Jiri Pirko",
        "email": "jpirko@redhat.com",
        "time": "Sat Feb 12 00:46:06 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Feb 13 10:42:06 2011 -0800"
      },
      "message": "net: remove the unnecessary dance around skb_bond_should_drop\n\nNo need to check (master) twice and to drive in and out the header file.\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": "d033d526a465c4bb8a499a0b5df65b3e7cf4da6f",
      "tree": "570fba34e3fe39dd158dbf38296ca486298b2548",
      "parents": [
        "55320cb58baebd1795ec92f4550a1e8b38bf9ddf"
      ],
      "author": {
        "name": "John Fastabend",
        "email": "john.r.fastabend@intel.com",
        "time": "Thu Feb 10 14:40:01 2011 +0000"
      },
      "committer": {
        "name": "Jeff Kirsher",
        "email": "jeffrey.t.kirsher@intel.com",
        "time": "Fri Feb 11 08:47:15 2011 -0800"
      },
      "message": "ixgbe: DCB, implement 802.1Qaz routines\n\nImplements 802.1Qaz support for ixgbe driver. Additionally,\nthis adds IEEE_8021QAZ_TSA_{} defines to dcbnl.h this is to\navoid having to use cryptic numeric codes for the TSA type.\n\nSigned-off-by: John Fastabend \u003cjohn.r.fastabend@intel.com\u003e\nTested-by: Ross Brattain \u003cross.b.brattain@intel.com\u003e\nSigned-off-by: Jeff Kirsher \u003cjeffrey.t.kirsher@intel.com\u003e\n"
    },
    {
      "commit": "6431cbc25fa21635ee04eb0516ba6c51389fbfac",
      "tree": "515deede7292fce41c019e7bd72b58cab34ecb9c",
      "parents": [
        "ddd4aa424b866a08ceba7ddf38e61542c91b93a0"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Feb 07 20:38:06 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Feb 10 13:33:41 2011 -0800"
      },
      "message": "inet: Create a mechanism for upward inetpeer propagation into routes.\n\nIf we didn\u0027t have a routing cache, we would not be able to properly\npropagate certain kinds of dynamic path attributes, for example\nPMTU information and redirects.\n\nThe reason is that if we didn\u0027t have a routing cache, then there would\nbe no way to lookup all of the active cached routes hanging off of\nsockets, tunnels, IPSEC bundles, etc.\n\nConsider the case where we created a cached route, but no inetpeer\nentry existed and also we were not asked to pre-COW the route metrics\nand therefore did not force the creation a new inetpeer entry.\n\nIf we later get a PMTU message, or a redirect, and store this\ninformation in a new inetpeer entry, there is no way to teach that\ncached route about the newly existing inetpeer entry.\n\nThe facilities implemented here handle this problem.\n\nFirst we create a generation ID.  When we create a cached route of any\nkind, we remember the generation ID at the time of attachment.  Any\ntime we force-create an inetpeer entry in response to new path\ninformation, we bump that generation ID.\n\nThe dst_ops-\u003echeck() callback is where the knowledge of this event\nis propagated.  If the global generation ID does not equal the one\nstored in the cached route, and the cached route has not attached\nto an inetpeer yet, we look it up and attach if one is found.  Now\nthat we\u0027ve updated the cached route\u0027s information, we update the\nroute\u0027s generation ID too.\n\nThis clears the way for implementing PMTU and redirects directly in\nthe inetpeer cache.  There is absolutely no need to consult cached\nroute information in order to maintain this information.\n\nAt this point nothing bumps the inetpeer genids, that comes in the\nlater changes which handle PMTUs and redirects using inetpeers.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ddd4aa424b866a08ceba7ddf38e61542c91b93a0",
      "tree": "654235ceccd1c3f9dfbb7422ebe09b21544325d6",
      "parents": [
        "7a71ed899e77cc822abb863e24a422dcf7e9fa33"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Feb 09 15:36:47 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Feb 10 13:29:30 2011 -0800"
      },
      "message": "inetpeer: Add redirect and PMTU discovery cached info.\n\nValidity of the cached PMTU information is indicated by it\u0027s\nexpiration value being non-zero, just as per dst-\u003eexpires.\n\nThe scheme we will use is that we will remember the pre-ICMP value\nheld in the metrics or route entry, and then at expiration time\nwe will restore that value.\n\nIn this way PMTU expiration does not kill off the cached route as is\ndone currently.\n\nRedirect information is permanent, or at least until another redirect\nis received.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7a71ed899e77cc822abb863e24a422dcf7e9fa33",
      "tree": "2811b8ca75c7019522f73c7d972208ae3a3ea8f9",
      "parents": [
        "b6644cb706610874104dbf3359e3b67aa59cbc27"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Feb 09 14:30:26 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Feb 10 13:22:28 2011 -0800"
      },
      "message": "inetpeer: Abstract address representation further.\n\nFuture changes will add caching information, and some of\nthese new elements will be addresses.\n\nSince the family is implicit via the -\u003edaddr.family member,\nreplicating the family in ever address we store is entirely\nredundant.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "263fb5b1bf9265d0e4ce59ff6ea92f478b5b61ea",
      "tree": "5ee497d530185d32421122729af86cf77d0dc649",
      "parents": [
        "8d13a2a9fb3e5e3f68e9d3ec0de3c8fcfa56a224",
        "c69b90920a36b88ab0d649963d81355d865eeb05"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 08 17:19:01 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 08 17:19:01 2011 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tdrivers/net/e1000e/netdev.c\n"
    },
    {
      "commit": "8d13a2a9fb3e5e3f68e9d3ec0de3c8fcfa56a224",
      "tree": "fee1865c2fbfe8fbb67e8aed97fd8df18254d777",
      "parents": [
        "e7b66bdc02592f5573ade667e4d68ac6e7b0f9e1"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 08 16:17:55 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 08 16:17:55 2011 -0800"
      },
      "message": "net: Kill NETEVENT_PMTU_UPDATE.\n\nNobody actually does anything in response to the event,\nso just kill it off.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e7b66bdc02592f5573ade667e4d68ac6e7b0f9e1",
      "tree": "66008bbdacf067c8dfc63619656c554de8dd7cec",
      "parents": [
        "fa9921e46fd52b78070dc67ce0d27ec301a90410"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 08 15:33:22 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 08 15:33:22 2011 -0800"
      },
      "message": "net: Remove bogus barrier() in dst_allfrag().\n\nI simply missed this one when modifying the other dst\nmetric interfaces earlier.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fa9921e46fd52b78070dc67ce0d27ec301a90410",
      "tree": "8684af3cd03cf8fed1e6be9f722c181278944f7b",
      "parents": [
        "c0c84ef5c130f8871adbdaac2ba824b9195cb6d9"
      ],
      "author": {
        "name": "Nicolas Dichtel",
        "email": "nicolas.dichtel@6wind.com",
        "time": "Wed Feb 02 06:29:02 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 08 14:00:40 2011 -0800"
      },
      "message": "ipsec: allow to align IPv4 AH on 32 bits\n\nThe Linux IPv4 AH stack aligns the AH header on a 64 bit boundary\n(like in IPv6). This is not RFC compliant (see RFC4302, Section\n3.3.3.2.1), it should be aligned on 32 bits.\n\nFor most of the authentication algorithms, the ICV size is 96 bits.\nThe AH header alignment on 32 or 64 bits gives the same results.\n\nHowever for SHA-256-128 for instance, the wrong 64 bit alignment results\nin adding useless padding in IPv4 AH, which is forbidden by the RFC.\n\nTo avoid breaking backward compatibility, we use a new flag\n(XFRM_STATE_ALIGN4) do change original behavior.\n\nInitial patch from Dang Hongwu \u003chongwu.dang@6wind.com\u003e and\nChristophe Gouault \u003cchristophe.gouault@6wind.com\u003e.\n\nSigned-off-by: Nicolas Dichtel \u003cnicolas.dichtel@6wind.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3a9dda7602e566014a859faaf8490e6454683ab1",
      "tree": "8bd9a7f31308fd13551112ed2a0454b1022f2160",
      "parents": [
        "3fb17dabf663216b90076f7a1649b599e90d46f1"
      ],
      "author": {
        "name": "Alexey Orishko",
        "email": "alexey.orishko@gmail.com",
        "time": "Mon Feb 07 09:45:09 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 08 13:54:42 2011 -0800"
      },
      "message": "CDC NCM errata updates for cdc.h\n\nChanges are based on the following documents:\n- CDC NCM errata:\nhttp://www.usb.org/developers/devclass_docs/NCM10_012011.zip\n- CDC and WMC errata link:\nhttp://www.usb.org/developers/devclass_docs/CDC1.2_WMC1.1_012011.zip\n\nSigned-off-by: Alexey Orishko \u003calexey.orishko@stericsson.com\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c0c84ef5c130f8871adbdaac2ba824b9195cb6d9",
      "tree": "d7221b5323d5a4d3d84676d32bdca21d21d85a18",
      "parents": [
        "2360d2e8f01043632d6b651672bec66c49892f94",
        "3ad97fbcc233a295f2ccc2c6bdeb32323e360a5e"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 08 13:52:31 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 08 13:52:31 2011 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6\n"
    },
    {
      "commit": "7eb38527c4e485923fa3f87d11ce11b4e6ebf807",
      "tree": "c728652e5b2a3522e0a9db249573724841187ceb",
      "parents": [
        "92d8682926342d2b6aa5b2ecc02221e00e1573a0"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Feb 05 18:13:45 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Feb 05 18:13:45 2011 -0800"
      },
      "message": "tcp: Add reference to initial CWND ietf draft.\n\nSuggested by Alexander Zimmermann\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "92d8682926342d2b6aa5b2ecc02221e00e1573a0",
      "tree": "7f70b9cc2975716ab60ddd632b9fecf0a51b828d",
      "parents": [
        "0131ba451e20239c5dc701027c1a2edef95e1a6e"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Feb 04 15:55:25 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Feb 04 15:59:53 2011 -0800"
      },
      "message": "inetpeer: Move ICMP rate limiting state into inet_peer entries.\n\nLike metrics, the ICMP rate limiting bits are cached state about\na destination.  So move it into the inet_peer entries.\n\nIf an inet_peer cannot be bound (the reason is memory allocation\nfailure or similar), the policy is to allow.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bd4a6974cc9090ef3851e5b0a2071e5383565c7c",
      "tree": "e96ef46426d293b730a305b5185ba5412c9172d4",
      "parents": [
        "2b7bcebf958c74124220ee8103024def8597b36c",
        "1e6d93e45b231b3ae87c01902ede2315aacfe976"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Feb 04 14:28:58 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Feb 04 14:28:58 2011 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n"
    },
    {
      "commit": "38db9e1db1c91c953b2a539130257ce91533c9f6",
      "tree": "b907832971ddcc434ece367da89a0926bdd6cb22",
      "parents": [
        "e2d57766e6744f2956975dd2086d82957187b0f6"
      ],
      "author": {
        "name": "Julia Lawall",
        "email": "julia@diku.dk",
        "time": "Fri Jan 28 05:43:40 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Feb 03 20:47:08 2011 -0800"
      },
      "message": "include/net/genetlink.h: Allow genlmsg_cancel to accept a NULL argument\n\nnlmsg_cancel can accept NULL as its second argument, so for similarity,\nthis patch extends genlmsg_cancel to be able to accept a NULL second\nargument as well.\n\nSigned-off-by: Julia Lawall \u003cjulia@diku.dk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e2d57766e6744f2956975dd2086d82957187b0f6",
      "tree": "6d7f09ad6eaaac8ad99528cc83894faa6b230b1a",
      "parents": [
        "ca6b8bb097c8e0ab6bce4fa04584074dee17c0d9"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Feb 03 17:59:32 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Feb 03 18:05:29 2011 -0800"
      },
      "message": "net: Provide compat support for SIOCGETMIFCNT_IN6 and SIOCGETSGCNT_IN6.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "681d119047761cc59a15c0bb86891f3a878997cf",
      "tree": "b118fdf78870de7eea5a0449e84b4e11b046b5be",
      "parents": [
        "747d753df7fea1d2d29c5c33623f6d2e5d0ed2d6"
      ],
      "author": {
        "name": "Jouni Malinen",
        "email": "jouni.malinen@atheros.com",
        "time": "Thu Feb 03 18:35:19 2011 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Feb 03 16:45:29 2011 -0500"
      },
      "message": "mac80211: Add testing functionality for TKIP\n\nTKIP countermeasures depend on devices being able to detect Michael\nMIC failures on received frames and for stations to report errors to\nthe AP. In order to test that behavior, it is useful to be able to\nsend out TKIP frames with incorrect Michael MIC. This testing behavior\nhas minimal effect on the TX path, so it can be added to mac80211 for\nconvenient use.\n\nThe interface for using this functionality is a file in mac80211\nnetdev debugfs (tkip_mic_test). Writing a MAC address to the file\nmakes mac80211 generate a dummy data frame that will be sent out using\ninvalid Michael MIC value. In AP mode, the address needs to be for one\nof the associated stations or ff:ff:ff:ff:ff:ff to use a broadcast\nframe. In station mode, the address can be anything, e.g., the current\nBSSID. It should be noted that this functionality works correctly only\nwhen associated and using TKIP.\n\nSigned-off-by: Jouni Malinen \u003cjouni.malinen@atheros.com\u003e\nAcked-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "d057e5a381cbaec5632117bf62ba49438ab16214",
      "tree": "723bd8c982747393b3f390b2c0ea75eb0c6bb62e",
      "parents": [
        "8fd369eeaa81d05969787c9ddf9cf3f1a8c4e084"
      ],
      "author": {
        "name": "Arik Nemtsov",
        "email": "arik@wizery.com",
        "time": "Mon Jan 31 22:29:13 2011 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Feb 03 16:44:44 2011 -0500"
      },
      "message": "mac80211: add HW flag for disabling auto link-PS in AP mode\n\nWhen operating in AP mode the wl1271 hardware filters out null-data\npackets as well as management packets. This makes it impossible for\nmac80211 to monitor the PS mode by using the PM bit of incoming frames.\n\nImplement a HW flag to indicate that mac80211 should ignore the PM bit.\nIn addition, expose ieee80211_sta_ps_transition() to make low-level\ndrivers capable of controlling PS-mode.\n\nSigned-off-by: Arik Nemtsov \u003carik@wizery.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "fd95240568977ebd1ebb15b071464e0e392cde1a",
      "tree": "6458cf8f33a8b8ab6a8098208de29c83206ca3aa",
      "parents": [
        "cdfb74d4c2e3bcc9383121af2591d0ae15007ba7",
        "fa9a741b841d0c2db04875310a06e8718c56fd4f"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Feb 03 13:06:43 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Feb 03 13:06:43 2011 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6\n"
    },
    {
      "commit": "45e144339ac59971eb44be32e1282760aaabe861",
      "tree": "b9d93acb2c1bb505d3b6facc426d307c59dc63a4",
      "parents": [
        "119b3d386985fcd477b3131190c041516a73f83a"
      ],
      "author": {
        "name": "stephen hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Wed Feb 02 15:21:10 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Feb 02 20:52:42 2011 -0800"
      },
      "message": "sched: CHOKe flow scheduler\n\nCHOKe (\"CHOose and Kill\" or \"CHOose and Keep\") is an alternative\npacket scheduler based on the Random Exponential Drop (RED) algorithm.\n\nThe core idea is:\n  For every packet arrival:\n  \tCalculate Qave\n\tif (Qave \u003c minth)\n\t     Queue the new packet\n\telse\n\t     Select randomly a packet from the queue\n\t     if (both packets from same flow)\n\t     then Drop both the packets\n\t     else if (Qave \u003e maxth)\n\t          Drop packet\n\t     else\n\t       \t  Admit packet with proability p (same as RED)\n\nSee also:\n  Rong Pan, Balaji Prabhakar, Konstantinos Psounis, \"CHOKe: a stateless active\n   queue management scheme for approximating fair bandwidth allocation\",\n  Proceeding of INFOCOM\u00272000, March 2000.\n\nHelp from:\n     Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\n     Patrick McHardy \u003ckaber@trash.net\u003e\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "442b9635c569fef038d5367a7acd906db4677ae1",
      "tree": "c20d06ca161c70c0db61ed298eaf51102b67a38e",
      "parents": [
        "5ea74318c68fcb38f02fc2fc920abd37d9a9bc33"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Feb 02 17:05:11 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Feb 02 20:48:47 2011 -0800"
      },
      "message": "tcp: Increase the initial congestion window to 10.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\nAcked-by: Nandita Dukkipati \u003cnanditad@google.com\u003e\n"
    },
    {
      "commit": "0bc0be7f20efea664b7c4c1d0b1822bc8f53a8b4",
      "tree": "ead6485944f5c1db64c9f6b6dd7ef0f9e4842a67",
      "parents": [
        "34a6ef381d402c6547aa9abb8a74b0262ae8255f",
        "3db7e93d3308fb882884b9f024235d6fbf542034"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Feb 02 15:52:23 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Feb 02 15:52:23 2011 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/kaber/nf-2.6\n"
    },
    {
      "commit": "8fe73503fae8cb8f00c80dd6444c1ddcd19257bd",
      "tree": "39cc6d38a628c445da7d52c006df6930a2c58411",
      "parents": [
        "123b9731b14f49cd41c91ed2b6c31e515615347c",
        "9291747f118d6404e509747b85ff5f6dfec368d2"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Feb 02 15:24:48 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Feb 02 15:24:48 2011 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/kaber/nf-next-2.6\n"
    },
    {
      "commit": "9291747f118d6404e509747b85ff5f6dfec368d2",
      "tree": "4ccb3988371f3dc75ade8427518986ad6890389c",
      "parents": [
        "5f52bc3cdd1bb2e12e61639df19d9dcd530c4568"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Feb 03 00:05:43 2011 +0100"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Feb 03 00:05:43 2011 +0100"
      },
      "message": "netfilter: xtables: add device group match\n\nAdd a new \u0027devgroup\u0027 match to match on the device group of the\nincoming and outgoing network device of a packet.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "724bab476bcac9f7d0b5204cb06e346216d42166",
      "tree": "ac4aa027d85a801ca2e3eb75678124434e1ba30d",
      "parents": [
        "316ed388802533bcfd3dffb38d2ba29ac5428456"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Wed Feb 02 23:50:01 2011 +0100"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Wed Feb 02 23:50:01 2011 +0100"
      },
      "message": "netfilter: ipset: fix linking with CONFIG_IPV6\u003dn\n\nAdd a dummy ip_set_get_ip6_port function that unconditionally\nreturns false for CONFIG_IPV6\u003dn and convert the real function\nto ipv6_skip_exthdr() to avoid pulling in the ip6_tables module\nwhen loading ipset.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "5348ba85a02ffe80a8af33a524b6610966760d3d",
      "tree": "37e2fd7f990692508906cfcabc0b7d7500e087ef",
      "parents": [
        "3630b7c050d9c3564f143d595339fc06b888d6f3"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 01 15:30:56 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 01 15:35:25 2011 -0800"
      },
      "message": "ipv4: Update some fib_hash centric interface names.\n\nfib_hash_init() --\u003e fib_trie_init()\nfib_hash_table() --\u003e fib_trie_table()\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e3e241b2769b27669d05f0a05083acd21b4faa2c",
      "tree": "e0bd02af573dd52c46051f3cd28a378a25cb9d7b",
      "parents": [
        "ed3d1e7b72069a3463b7e227b18cae4a09b0ddad"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Feb 01 18:52:42 2011 +0100"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Feb 01 18:52:42 2011 +0100"
      },
      "message": "netfilter: ipset: install ipset related header files\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "a13676476e289ba03a23e27df130c7f33ab00e2f",
      "tree": "442c46b665362215128c660f16bea89724faae8b",
      "parents": [
        "258e958b85cef23b1598515504426e8d0576d223"
      ],
      "author": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Tue Feb 01 18:27:51 2011 +0100"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Feb 01 18:27:51 2011 +0100"
      },
      "message": "IPVS: Remove unused variables\n\nThese variables are unused as a result of the recent netns work.\n\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\nAcked-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Hans Schillstrom \u003chans@schillstrom.com\u003e\nTested-by: Hans Schillstrom \u003chans@schillstrom.com\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "3db7e93d3308fb882884b9f024235d6fbf542034",
      "tree": "6488a45704107f77645774c85d67511b7a73fed1",
      "parents": [
        "9d0db8b6b1da9e3d4c696ef29449700c58d589db"
      ],
      "author": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Tue Feb 01 16:06:30 2011 +0100"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Feb 01 16:06:30 2011 +0100"
      },
      "message": "netfilter: ecache: always set events bits, filter them later\n\nFor the following rule:\n\niptables -I PREROUTING -t raw -j CT --ctevents assured\n\nThe event delivered looks like the following:\n\n [UPDATE] tcp      6 src\u003d192.168.0.2 dst\u003d192.168.1.2 sport\u003d37041 dport\u003d80 src\u003d192.168.1.2 dst\u003d192.168.1.100 sport\u003d80 dport\u003d37041 [ASSURED]\n\nNote that the TCP protocol state is not included. For that reason\nthe CT event filtering is not very useful for conntrackd.\n\nTo resolve this issue, instead of conditionally setting the CT events\nbits based on the ctmask, we always set them and perform the filtering\nin the late stage, just before the delivery.\n\nThus, the event delivered looks like the following:\n\n [UPDATE] tcp      6 432000 ESTABLISHED src\u003d192.168.0.2 dst\u003d192.168.1.2 sport\u003d37041 dport\u003d80 src\u003d192.168.1.2 dst\u003d192.168.1.100 sport\u003d80 dport\u003d37041 [ASSURED]\n\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "d956798d82d2d331c031301965d69e17a1a48a2b",
      "tree": "3ceb434334d79d9dd8b205fc502cf2d20ab737ab",
      "parents": [
        "f830837f0eed0f9e371b8fd65169365780814bb1"
      ],
      "author": {
        "name": "Jozsef Kadlecsik",
        "email": "kadlec@blackhole.kfki.hu",
        "time": "Tue Feb 01 15:56:00 2011 +0100"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Feb 01 15:56:00 2011 +0100"
      },
      "message": "netfilter: xtables: \"set\" match and \"SET\" target support\n\nThe patch adds the combined module of the \"SET\" target and \"set\" match\nto netfilter. Both the previous and the current revisions are supported.\n\nSigned-off-by: Jozsef Kadlecsik \u003ckadlec@blackhole.kfki.hu\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "f830837f0eed0f9e371b8fd65169365780814bb1",
      "tree": "f83646838333cf2526270aa23320f88171e6fa35",
      "parents": [
        "21f45020a3084f80fcdd5f056a0c6389f5406399"
      ],
      "author": {
        "name": "Jozsef Kadlecsik",
        "email": "kadlec@blackhole.kfki.hu",
        "time": "Tue Feb 01 15:54:59 2011 +0100"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Feb 01 15:54:59 2011 +0100"
      },
      "message": "netfilter: ipset: list:set set type support\n\nThe module implements the list:set type support in two flavours:\nwithout and with timeout. The sets has two sides: for the userspace,\nthey store the names of other (non list:set type of) sets: one can add,\ndelete and test set names. For the kernel, it forms an ordered union of\nthe member sets: the members sets are tried in order when elements are\nadded, deleted and tested and the process stops at the first success.\n\nSigned-off-by: Jozsef Kadlecsik \u003ckadlec@blackhole.kfki.hu\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "6c027889696a7a694b0e2f6e3cabadefec7553b6",
      "tree": "bfdb7bbdb8153ac15c45fe86928d4b02ce3fe766",
      "parents": [
        "543261907dc3c4e90845acfcd602ebdbfdfcb4f0"
      ],
      "author": {
        "name": "Jozsef Kadlecsik",
        "email": "kadlec@blackhole.kfki.hu",
        "time": "Tue Feb 01 15:38:36 2011 +0100"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Feb 01 15:38:36 2011 +0100"
      },
      "message": "netfilter: ipset: hash:ip set type support\n\nThe module implements the hash:ip type support in four flavours:\nfor IPv4 or IPv6, both without and with timeout support.\n\nAll the hash types are based on the \"array hash\" or ahash structure\nand functions as a good compromise between minimal memory footprint\nand speed. The hashing uses arrays to resolve clashes. The hash table\nis resized (doubled) when searching becomes too long. Resizing can be\ntriggered by userspace add commands only and those are serialized by\nthe nfnl mutex. During resizing the set is read-locked, so the only\npossible concurrent operations are the kernel side readers. Those are\nprotected by RCU locking.\n\nBecause of the four flavours and the other hash types, the functions\nare implemented in general forms in the ip_set_ahash.h header file\nand the real functions are generated before compiling by macro expansion.\nThus the dereferencing of low-level functions and void pointer arguments\ncould be avoided: the low-level functions are inlined, the function\narguments are pointers of type-specific structures.\n\nSigned-off-by: Jozsef Kadlecsik \u003ckadlec@blackhole.kfki.hu\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "72205fc68bd13109576aa6c4c12c740962d28a6c",
      "tree": "c034f0c9c216f489cfce377215b7420cb66d4b2f",
      "parents": [
        "a7b4f989a629493bb4ec4a354def784d440b32c4"
      ],
      "author": {
        "name": "Jozsef Kadlecsik",
        "email": "kadlec@blackhole.kfki.hu",
        "time": "Tue Feb 01 15:33:17 2011 +0100"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Feb 01 15:33:17 2011 +0100"
      },
      "message": "netfilter: ipset: bitmap:ip set type support\n\nThe module implements the bitmap:ip set type in two flavours, without\nand with timeout support. In this kind of set one can store IPv4\naddresses (or network addresses) from a given range.\n\nIn order not to waste memory, the timeout version does not rely on\nthe kernel timer for every element to be timed out but on garbage\ncollection. All set types use this mechanism.\n\nSigned-off-by: Jozsef Kadlecsik \u003ckadlec@blackhole.kfki.hu\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "a7b4f989a629493bb4ec4a354def784d440b32c4",
      "tree": "47f5f6a19cd8fb4cbd44a064edbf03a5b102ea1b",
      "parents": [
        "f703651ef870bd6b94ddc98ae07488b7d3fd9335"
      ],
      "author": {
        "name": "Jozsef Kadlecsik",
        "email": "kadlec@blackhole.kfki.hu",
        "time": "Tue Feb 01 15:28:35 2011 +0100"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Feb 01 15:28:35 2011 +0100"
      },
      "message": "netfilter: ipset: IP set core support\n\nThe patch adds the IP set core support to the kernel.\n\nThe IP set core implements a netlink (nfnetlink) based protocol by which\none can create, destroy, flush, rename, swap, list, save, restore sets,\nand add, delete, test elements from userspace. For simplicity (and backward\ncompatibilty and for not to force ip(6)tables to be linked with a netlink\nlibrary) reasons a small getsockopt-based protocol is also kept in order\nto communicate with the ip(6)tables match and target.\n\nThe netlink protocol passes all u16, etc values in network order with\nNLA_F_NET_BYTEORDER flag. The protocol enforces the proper use of the\nNLA_F_NESTED and NLA_F_NET_BYTEORDER flags.\n\nFor other kernel subsystems (netfilter match and target) the API contains\nthe functions to add, delete and test elements in sets and the required calls\nto get/put refereces to the sets before those operations can be performed.\n\nThe set types (which are implemented in independent modules) are stored\nin a simple RCU protected list. A set type may have variants: for example\nwithout timeout or with timeout support, for IPv4 or for IPv6. The sets\n(i.e. the pointers to the sets) are stored in an array. The sets are\nidentified by their index in the array, which makes possible easy and\nfast swapping of sets. The array is protected indirectly by the nfnl\nmutex from nfnetlink. The content of the sets are protected by the rwlock\nof the set.\n\nThere are functional differences between the add/del/test functions\nfor the kernel and userspace:\n\n- kernel add/del/test: works on the current packet (i.e. one element)\n- kernel test: may trigger an \"add\" operation  in order to fill\n  out unspecified parts of the element from the packet (like MAC address)\n- userspace add/del: works on the netlink message and thus possibly\n  on multiple elements from the IPSET_ATTR_ADT container attribute.\n- userspace add: may trigger resizing of a set\n\nSigned-off-by: Jozsef Kadlecsik \u003ckadlec@blackhole.kfki.hu\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "f703651ef870bd6b94ddc98ae07488b7d3fd9335",
      "tree": "1840dadb9102fe0cf0216daf63cb97d4e2552629",
      "parents": [
        "6a4ddef2a3805d5b0664a94579b7a651bc202266"
      ],
      "author": {
        "name": "Jozsef Kadlecsik",
        "email": "kadlec@blackhole.kfki.hu",
        "time": "Tue Feb 01 15:20:14 2011 +0100"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Feb 01 15:20:14 2011 +0100"
      },
      "message": "netfilter: NFNL_SUBSYS_IPSET id and NLA_PUT_NET* macros\n\nThe patch adds the NFNL_SUBSYS_IPSET id and NLA_PUT_NET* macros to the\nvanilla kernel.\n\nSigned-off-by: Jozsef Kadlecsik \u003ckadlec@blackhole.kfki.hu\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "0c838ff1ade71162775afffd9e5c6478a60bdca6",
      "tree": "81910cc5582f4862770307784c40c66aa3a44948",
      "parents": [
        "5b4704419cbd0b7597a91c19f9e8e8b17c1af071"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 31 16:16:50 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 31 16:16:50 2011 -0800"
      },
      "message": "ipv4: Consolidate all default route selection implementations.\n\nBoth fib_trie and fib_hash have a local implementation of\nfib_table_select_default().  This is completely unnecessary\ncode duplication.\n\nSince we now remember the fib_table and the head of the fib\nalias list of the default route, we can implement one single\ngeneric version of this routine.\n\nLooking at the fib_hash implementation you may get the impression\nthat it\u0027s possible for there to be multiple top-level routes in\nthe table for the default route.  The truth is, it isn\u0027t, the\ninsert code will only allow one entry to exist in the zero\nprefix hash table, because all keys evaluate to zero and all\nkeys in a hash table must be unique.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5b4704419cbd0b7597a91c19f9e8e8b17c1af071",
      "tree": "94ee46905ba2a142bdf910fb26f7450c41ebc46a",
      "parents": [
        "a5e3c2aae23a3719105c1ae662c67ef282f213db"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 31 16:10:03 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 31 16:10:03 2011 -0800"
      },
      "message": "ipv4: Remember FIB alias list head and table in lookup results.\n\nThis will be used later to implement fib_select_default() in a\ncompletely generic manner, instead of the current situation where the\ndefault route is re-looked up in the TRIE/HASH table and then the\navailable aliases are analyzed.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5403c8a29521a6eb02f9283dbbe0184527f8f42b",
      "tree": "4f1ca17feda4dfa88f53eceeaa39583ec840d27e",
      "parents": [
        "c79b9e4936142d5ed26073d58bdd4a5a0ac62f32",
        "c4c93106741bbf61ecd05a2a835af8e3bf31c1bd"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 31 13:13:24 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 31 13:13:24 2011 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n"
    },
    {
      "commit": "709b46e8d90badda1898caea50483c12af178e96",
      "tree": "799b57704dda3684777fb57a6e413dabac78858c",
      "parents": [
        "13ad17745c2cbd437d9e24b2d97393e0be11c439"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Sat Jan 29 16:15:56 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jan 30 01:14:38 2011 -0800"
      },
      "message": "net: Add compat ioctl support for the ipv4 multicast ioctl SIOCGETSGCNT\n\nSIOCGETSGCNT is not a unique ioctl value as it it maps tio SIOCPROTOPRIVATE +1,\nwhich unfortunately means the existing infrastructure for compat networking\nioctls is insufficient.  A trivial compact ioctl implementation would conflict\nwith:\n\nSIOCAX25ADDUID\nSIOCAIPXPRISLT\nSIOCGETSGCNT_IN6\nSIOCGETSGCNT\nSIOCRSSCAUSE\nSIOCX25SSUBSCRIP\nSIOCX25SDTEFACILITIES\n\nTo make this work I have updated the compat_ioctl decode path to mirror the\nthe normal ioctl decode path.  I have added an ipv4 inet_compat_ioctl function\nso that I can have ipv4 specific compat ioctls.   I have added a compat_ioctl\nfunction into struct proto so I can break out ioctls by which kind of ip socket\nI am using.  I have added a compat_raw_ioctl function because SIOCGETSGCNT only\nworks on raw sockets.  I have added a ipmr_compat_ioctl that mirrors the normal\nipmr_ioctl.\n\nThis was necessary because unfortunately the struct layout for the SIOCGETSGCNT\nhas unsigned longs in it so changes between 32bit and 64bit kernels.\n\nThis change was sufficient to run a 32bit ip multicast routing daemon on a\n64bit kernel.\n\nReported-by: Bill Fenner \u003cfenner@aristanetworks.com\u003e\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "52fe7c9cc1637110ba4e0e6fe5d07cc0786d62de",
      "tree": "b57098f78a3ed893de4e67da1219c80f433b5672",
      "parents": [
        "c128df731862e90ec9292c5d3eb264ac73b522b8"
      ],
      "author": {
        "name": "sjur.brandeland@stericsson.com",
        "email": "sjur.brandeland@stericsson.com",
        "time": "Sat Jan 29 13:10:37 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jan 30 01:14:14 2011 -0800"
      },
      "message": "caif: bugfix - add caif headers for userspace usage.\n\nAdd caif_socket.h and if_caif.h to the kernel header files\nexported for use by userspace.\n\nSigned-off-by: Sjur Braendeland \u003csjur.brandeland@stericsson.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "725d1e1b457dc2bbebb337677e73efe7c6d14da5",
      "tree": "b001a08feeff741963d8232ecb26e5c1a75efb92",
      "parents": [
        "9c150e82ac50a611237bbebd508d17f6347d577c"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jan 28 14:05:05 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jan 28 14:05:05 2011 -0800"
      },
      "message": "ipv4: Attach FIB info to dst_default_metrics when possible\n\nIf there are no explicit metrics attached to a route, hook\nfi-\u003efib_info up to dst_default_metrics.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9c150e82ac50a611237bbebd508d17f6347d577c",
      "tree": "7c79c013857cc13570595e805de0dbdb8f00332e",
      "parents": [
        "a4daad6b0923030fbd3b00a01f570e4c3eef446b"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jan 28 14:01:25 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jan 28 14:01:25 2011 -0800"
      },
      "message": "ipv4: Allocate fib metrics dynamically.\n\nThis is the initial gateway towards super-sharing metrics\nif they are all set to zero for a route.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3e11210d46a4f252f41db6e442b46026aeddbb59",
      "tree": "b258375de649a5e04e8d567c850b47c41f8ceb11",
      "parents": [
        "3bf63e59e577cbecd41334c866f501c4cc5d54c5",
        "c7c1806098752c1f46943d8db2c69aff07f5d4bc"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Jan 28 16:23:14 2011 -0500"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Jan 28 16:23:14 2011 -0500"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6\n\nConflicts:\n\tdrivers/net/wireless/ath/ath9k/init.c\n"
    },
    {
      "commit": "6d744bacee8195c915c514409a81d470ce7b1177",
      "tree": "5697c3b9211b2ebae666f42a35c174ad15ee73a5",
      "parents": [
        "ebefce3d13f8b5a871337ff7c3821ee140c1ea8a"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Jan 27 14:13:17 2011 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Jan 28 15:44:29 2011 -0500"
      },
      "message": "mac80211: add MCS information to radiotap\n\nThis adds the MCS information we currently get\nfrom the drivers into radiotap.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "a4daad6b0923030fbd3b00a01f570e4c3eef446b",
      "tree": "b8e5b9a2110628503e57149f0bb2a4bb1bf3f027",
      "parents": [
        "8571a19c4ac140f1a507f3e7eb716892afa27109"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 27 22:01:53 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 27 22:01:53 2011 -0800"
      },
      "message": "net: Pre-COW metrics for TCP.\n\nTCP is going to record metrics for the connection,\nso pre-COW the route metrics at route cache entry\ncreation time.\n\nThis avoids several atomic operations that have to\noccur if we COW the metrics after the entry reaches\nglobal visibility.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8571a19c4ac140f1a507f3e7eb716892afa27109",
      "tree": "55ef6a0ab68d6388177d3290a7fd6bc3f12a381f",
      "parents": [
        "aae7c47311659e5150b740d61c4be418198239fa",
        "8d8d3fdc0d42be0ba75be227465773a54bb48a0b"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 27 16:00:37 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 27 16:00:37 2011 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of ssh://master.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6\n"
    },
    {
      "commit": "ccf434380d1a67df2dcb9113206b77d0cb0a1cef",
      "tree": "1e1a36691f42ed7448f27f71a9ca9445e88ab5f1",
      "parents": [
        "065825402c058f4a123ddc53dbbe864cc5caaf64"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Jan 26 18:08:02 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 27 15:02:56 2011 -0800"
      },
      "message": "net: fix dev_seq_next()\n\nCommit c6d14c84566d (net: Introduce for_each_netdev_rcu() iterator)\nadded a race in dev_seq_next().\n\nThe rcu_dereference() call should be done _before_ testing the end of\nlist, or we might return a wrong net_device if a concurrent thread\nchanges net_device list under us.\n\nNote : discovered thanks to a sparse warning :\n\nnet/core/dev.c:3919:9: error: incompatible types in comparison expression\n(different address spaces)\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCC: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "144001bddcb4db62c2261f1d703d835851031577",
      "tree": "e10cd1840542b2a6d4873ff8477314d91e453881",
      "parents": [
        "606598237c856b0c6584c2263288657658140da9"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 27 13:52:16 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 27 13:52:16 2011 -0800"
      },
      "message": "inetpeer: Mark metrics as \"new\" in fresh inetpeer entries.\n\nSet the RTAX_LOCKED metric to INETPEER_METRICS_NEW (basically,\nall ones) on fresh inetpeer entries.\n\nThis way code can determine if default metrics have been loaded\nin from a routing table entry already.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "606598237c856b0c6584c2263288657658140da9",
      "tree": "e11c1d95b531a6b815c1c24094435d06e39f0dee",
      "parents": [
        "62fa8a846d7de4b299232e330c74b7783539df76"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jan 26 20:55:53 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 27 13:48:26 2011 -0800"
      },
      "message": "inetpeer: Add metrics storage to inetpeer entries.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "62fa8a846d7de4b299232e330c74b7783539df76",
      "tree": "e401dbdbf4b11cbd27bdc3a47d9dc8b512173c9f",
      "parents": [
        "b4e69ac670d71b5748dc81e536b2cb103489badd"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jan 26 20:51:05 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jan 26 20:51:05 2011 -0800"
      },
      "message": "net: Implement read-only protection and COW\u0027ing of metrics.\n\nRouting metrics are now copy-on-write.\n\nInitially a route entry points it\u0027s metrics at a read-only location.\nIf a routing table entry exists, it will point there.  Else it will\npoint at the all zero metric place-holder called \u0027dst_default_metrics\u0027.\n\nThe writeability state of the metrics is stored in the low bits of the\nmetrics pointer, we have two bits left to spare if we want to store\nmore states.\n\nFor the initial implementation, COW is implemented simply via kmalloc.\nHowever future enhancements will change this to place the writable\nmetrics somewhere else, in order to increase sharing.  Very likely\nthis \"somewhere else\" will be the inetpeer cache.\n\nNote also that this means that metrics updates may transiently fail\nif we cannot COW the metrics successfully.\n\nBut even by itself, this patch should decrease memory usage and\nincrease cache locality especially for routing workloads.  In those\ncases the read-only metric copies stay in place and never get written\nto.\n\nTCP workloads where metrics get updated, and those rare cases where\nPMTU triggers occur, will take a very slight performance hit.  But\nthat hit will be alleviated when the long-term writable metrics\nmove to a more sharable location.\n\nSince the metrics storage went from a u32 array of RTAX_MAX entries to\nwhat is essentially a pointer, some retooling of the dst_entry layout\nwas necessary.\n\nMost importantly, we need to preserve the alignment of the reference\ncount so that it doesn\u0027t share cache lines with the read-mostly state,\nas per Eric Dumazet\u0027s alignment assertion checks.\n\nThe only non-trivial bit here is the move of the \u0027flags\u0027 member into\nthe writeable cacheline.  This is OK since we are always accessing the\nflags around the same moment when we made a modification to the\nreference count.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b4e69ac670d71b5748dc81e536b2cb103489badd",
      "tree": "26a04ba5d950657132fd6acb4e0ef17d0bcabe93",
      "parents": [
        "144ce879b057c760194d808c90826cd96308f423",
        "7cc2edb83447775a34ed3bf9d29d8295a434b523"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jan 26 13:49:30 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jan 26 13:49:30 2011 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n"
    },
    {
      "commit": "9b6941d8b103fe95d1a90b7996046be9ee0e55e4",
      "tree": "03c4e26abb8d6212741c3821061f2f40f2b5c8ec",
      "parents": [
        "de221bd5eb5e754806fcc39c40bb12b96515d9c5",
        "acd9f9cc305ca2e5da2a39f6f6160cd4b476e38b"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jan 26 11:49:49 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jan 26 11:49:49 2011 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6\n"
    },
    {
      "commit": "acd1130e8793fb150fb522da8ec51675839eb4b1",
      "tree": "0da6f9f8f7690b426ff069f95bb28bf9e692d534",
      "parents": [
        "04ed3e741d0f133e02bed7fa5c98edba128f90e7"
      ],
      "author": {
        "name": "Michał Mirosław",
        "email": "mirq-linux@rere.qmqm.pl",
        "time": "Mon Jan 24 15:45:15 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 24 15:45:15 2011 -0800"
      },
      "message": "net: reduce and unify printk level in netdev_fix_features()\n\nReduce printk() levels to KERN_INFO in netdev_fix_features() as this will\nbe used by ethtool and might spam dmesg unnecessarily.\n\nThis converts the function to use netdev_info() instead of plain printk().\n\nAs a side effect, bonding and bridge devices will now log dropped features\non every slave device change.\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": "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": "c445477d74ab3779d1386ab797fbb9b628eb9f64",
      "tree": "3ee70b7748c6c63a688f367e5ffd83fde21b87e3",
      "parents": [
        "c39649c331c70952700f99832b03f87e9d7f5b4b"
      ],
      "author": {
        "name": "Ben Hutchings",
        "email": "bhutchings@solarflare.com",
        "time": "Wed Jan 19 11:03:53 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 24 14:53:01 2011 -0800"
      },
      "message": "net: RPS: Enable hardware acceleration of RFS\n\nAllow drivers for multiqueue hardware with flow filter tables to\naccelerate RFS.  The driver must:\n\n1. Set net_device::rx_cpu_rmap to a cpu_rmap of the RX completion\nIRQs (in queue order).  This will provide a mapping from CPUs to the\nqueues for which completions are handled nearest to them.\n\n2. Implement net_device_ops::ndo_rx_flow_steer.  This operation adds\nor replaces a filter steering the given flow to the given RX queue, if\npossible.\n\n3. Periodically remove filters for which rps_may_expire_flow() returns\ntrue.\n\nSigned-off-by: Ben Hutchings \u003cbhutchings@solarflare.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c39649c331c70952700f99832b03f87e9d7f5b4b",
      "tree": "19ba9cea5102595e42bcd043aa53eb666ea834fa",
      "parents": [
        "c2df88cbb43c25db27fbbf94e92318bdad018f3e"
      ],
      "author": {
        "name": "Ben Hutchings",
        "email": "bhutchings@solarflare.com",
        "time": "Wed Jan 19 11:03:25 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 24 14:51:56 2011 -0800"
      },
      "message": "lib: cpu_rmap: CPU affinity reverse-mapping\n\nWhen initiating I/O on a multiqueue and multi-IRQ device, we may want\nto select a queue for which the response will be handled on the same\nor a nearby CPU.  This requires a reverse-map of IRQ affinity.  Add\nlibrary functions to support a generic reverse-mapping from CPUs to\nobjects with affinity and the specific case where the objects are\nIRQs.\n\nSigned-off-by: Ben Hutchings \u003cbhutchings@solarflare.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c2df88cbb43c25db27fbbf94e92318bdad018f3e",
      "tree": "dc41466a193f85e3a7cc8baf1f78f2b55b62aabc",
      "parents": [
        "5bdc22a56549e7983c6b443298672641952ea035",
        "cd7eab44e9946c28d595abe3e9a43e945bc49141"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 24 14:30:13 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 24 14:30:13 2011 -0800"
      },
      "message": "Merge branch \u0027irq/numa\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n"
    },
    {
      "commit": "5bdc22a56549e7983c6b443298672641952ea035",
      "tree": "fbfd4e7453e4fd23dfef826d4610ed2aae47b36c",
      "parents": [
        "b6f4098897f30b7ea90a1c1edf35e9b20a9d828a",
        "e92427b289d252cfbd4cb5282d92f4ce1a5bb1fb"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 24 14:09:35 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 24 14:09:35 2011 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tnet/sched/sch_hfsc.c\n\tnet/sched/sch_htb.c\n\tnet/sched/sch_tbf.c\n"
    },
    {
      "commit": "e92427b289d252cfbd4cb5282d92f4ce1a5bb1fb",
      "tree": "6d30e5e7b7f8e9aaa51d43b7128ac56860fa03bb",
      "parents": [
        "c506653d35249bb4738bb139c24362e1ae724bc1",
        "ec30f343d61391ab23705e50a525da1d55395780"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 24 13:17:06 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 24 13:17:06 2011 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6\n"
    },
    {
      "commit": "ce84d539ce47484ff3cbc9c67b3eb69ae88954f9",
      "tree": "cdba43e845e23a6793ca47857a16fae6032becfb",
      "parents": [
        "bc094757f4f3d7b8211a8a1ed7605ffd7c728f75",
        "b5cc8ca1c9c3a37eaddf709b2fd3e1699aee41ba"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 25 05:25:55 2011 +1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 25 05:25:55 2011 +1000"
      },
      "message": "Merge branch \u0027timers-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027timers-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  RTC: Remove Kconfig symbol for UIE emulation\n  RTC: Properly handle rtc_read_alarm error propagation and fix bug\n  RTC: Propagate error handling via rtc_timer_enqueue properly\n  acpi_pm: Clear pmtmr_ioport if acpi_pm initialization fails\n  rtc: Cleanup removed UIE emulation declaration\n  hrtimers: Notify hrtimer users of switches to NOHZ mode\n"
    },
    {
      "commit": "d315777b32a4696feb86f2a0c9e9f39c94683649",
      "tree": "f21c24d85cde6ad453c4d9485f5de49357336f81",
      "parents": [
        "5a05a6d7a51bcc47c5c6f0ed68e433f9a01afd89",
        "1765e3a4933ea0870fabd755feffc5473c4363ce"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 24 19:58:39 2011 +1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 24 19:58:39 2011 +1000"
      },
      "message": "Merge branch \u0027BUG_ON\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus\n\n* \u0027BUG_ON\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus:\n  Remove MAYBE_BUILD_BUG_ON\n  BUILD_BUG_ON: make it handle more cases\n"
    },
    {
      "commit": "1765e3a4933ea0870fabd755feffc5473c4363ce",
      "tree": "208364f2933f96773310a3a6c4dce6a21f66eec7",
      "parents": [
        "7ef88ad561457c0346355dfd1f53e503ddfde719"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Jan 24 14:45:10 2011 -0600"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Jan 24 14:45:11 2011 +1030"
      },
      "message": "Remove MAYBE_BUILD_BUG_ON\n\nNow BUILD_BUG_ON() can handle optimizable constants, we don\u0027t need\nMAYBE_BUILD_BUG_ON any more.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "7ef88ad561457c0346355dfd1f53e503ddfde719",
      "tree": "22f5e53aec61e0508f8d1aee130160fe24801144",
      "parents": [
        "1bae4ce27c9c90344f23c65ea6966c50ffeae2f5"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Jan 24 14:45:10 2011 -0600"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Jan 24 14:45:10 2011 +1030"
      },
      "message": "BUILD_BUG_ON: make it handle more cases\n\nBUILD_BUG_ON used to use the optimizer to do code elimination or fail\nat link time; it was changed to first the size of a negative array (a\nnicer compile time error), then (in\n8c87df457cb58fe75b9b893007917cf8095660a0) to a bitfield.\n\nThis forced us to change some non-constant cases to MAYBE_BUILD_BUG_ON();\nas Jan points out in that commit, it didn\u0027t work as intended anyway.\n\nbitfields: needs a literal constant at parse time, and can\u0027t be put under\n\t\"if (__builtin_constant_p(x))\" for example.\nnegative array: can handle anything, but if the compiler can\u0027t tell it\u0027s\n\ta constant, silently has no effect.\nlink time: breaks link if the compiler can\u0027t determine the value, but the\n\tlinker output is not usually as informative as a compiler error.\n\nIf we use the negative-array-size method *and* the link time trick,\nwe get the ability to use BUILD_BUG_ON() under __builtin_constant_p()\nbranches, and maximal ability for the compiler to detect errors at\nbuild time.\n\nWe also document it thoroughly.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Jan Beulich \u003cJBeulich@novell.com\u003e\nAcked-by: Hollis Blanchard \u003chollisb@us.ibm.com\u003e\n"
    },
    {
      "commit": "b75be4204e7871869b2c268c00783703197aaa7d",
      "tree": "6667a6d0ca0380bf8f64a499bfcee0db39bdc5a6",
      "parents": [
        "3b90a5b292321b2acac3921f77046ae195aef53f"
      ],
      "author": {
        "name": "Linus Walleij",
        "email": "linus.walleij@stericsson.com",
        "time": "Wed Jan 05 13:27:04 2011 +0100"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Jan 24 14:32:52 2011 +1030"
      },
      "message": "param: add null statement to compiled-in module params\n\nAdd an unused struct declaration statement requiring a\nterminating semicolon to the compile-in case to provoke an\nerror if __MODULE_INFO() is used without the terminating\nsemicolon. Previously MODULE_ALIAS(\"foo\") (no semicolon)\ncompiled fine if MODULE was not selected.\n\nCc: Dan Carpenter \u003cerror27@gmail.com\u003e\nSigned-off-by: Linus Walleij \u003clinus.walleij@stericsson.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "3b90a5b292321b2acac3921f77046ae195aef53f",
      "tree": "f084c812a3c55911b9a9a35e101346ffb33d8aae",
      "parents": [
        "e94965ed5beb23c6fabf7ed31f625e66d7ff28de"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Jan 24 14:32:51 2011 -0600"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Jan 24 14:32:52 2011 +1030"
      },
      "message": "module: fix linker error for MODULE_VERSION when !MODULE and CONFIG_SYSFS\u003dn\n\nlib/built-in.o:(__modver+0x8): undefined reference to `__modver_version_show\u0027\nlib/built-in.o:(__modver+0x2c): undefined reference to `__modver_version_show\u0027\n\nSimplest to just not emit anything: if they\u0027ve disabled SYSFS they probably\nwant the smallest kernel possible.\n\nReported-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "e94965ed5beb23c6fabf7ed31f625e66d7ff28de",
      "tree": "842e4cab961b568bcb98d8ab80d7d399110598a4",
      "parents": [
        "1bae4ce27c9c90344f23c65ea6966c50ffeae2f5"
      ],
      "author": {
        "name": "Dmitry Torokhov",
        "email": "dtor@vmware.com",
        "time": "Wed Dec 15 14:00:19 2010 -0800"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Jan 24 14:32:51 2011 +1030"
      },
      "message": "module: show version information for built-in modules in sysfs\n\nCurrently only drivers that are built as modules have their versions\nshown in /sys/module/\u003cmodule_name\u003e/version, but this information might\nalso be useful for built-in drivers as well. This especially important\nfor drivers that do not define any parameters - such drivers, if\nbuilt-in, are completely invisible from userspace.\n\nThis patch changes MODULE_VERSION() macro so that in case when we are\ncompiling built-in module, version information is stored in a separate\nsection. Kernel then uses this data to create \u0027version\u0027 sysfs attribute\nin the same fashion it creates attributes for module parameters.\n\nSigned-off-by: Dmitry Torokhov \u003cdtor@vmware.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "cd7eab44e9946c28d595abe3e9a43e945bc49141",
      "tree": "b8b0c1beebbcad7785422a463504a374bb43cdea",
      "parents": [
        "1bae4ce27c9c90344f23c65ea6966c50ffeae2f5"
      ],
      "author": {
        "name": "Ben Hutchings",
        "email": "bhutchings@solarflare.com",
        "time": "Wed Jan 19 21:01:44 2011 +0000"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Jan 22 17:34:25 2011 +0100"
      },
      "message": "genirq: Add IRQ affinity notifiers\n\nWhen initiating I/O on a multiqueue and multi-IRQ device, we may want\nto select a queue for which the response will be handled on the same\nor a nearby CPU.  This requires a reverse-map of IRQ affinity.  Add a\nnotification mechanism to support this.\n\nThis is based closely on work by Thomas Gleixner \u003ctglx@linutronix.de\u003e.\n\nSigned-off-by: Ben Hutchings \u003cbhutchings@solarflare.com\u003e\nCc: linux-net-drivers@solarflare.com\nCc: Tom Herbert \u003ctherbert@google.com\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nLKML-Reference: \u003c1295470904.11126.84.camel@bwh-desktop\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "13a3cec8443290b082af2a5254562aca247fe591",
      "tree": "5c873a2c9333be348266234ac5d7101caa1b6d7d",
      "parents": [
        "973c9f4f49ca96a53bcf6384c4c59ccd26c33906",
        "88914bdf8c677ebd7e797adac05e47303fd6ac77"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 21 16:50:31 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 21 16:50:31 2011 -0800"
      },
      "message": "Merge branch \u0027media_fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6\n\n* \u0027media_fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6: (101 commits)\n  [media] staging/lirc: fix mem leaks and ptr err usage\n  [media] hdpvr: reduce latency of i2c read/write w/recycled buffer\n  [media] hdpvr: enable IR part\n  [media] rc/mceusb: timeout should be in ns, not us\n  [media] v4l2-device: fix \u0027use-after-freed\u0027 oops\n  [media] v4l2-dev: don\u0027t memset video_device.dev\n  [media] zoran: use video_device_alloc instead of kmalloc\n  [media] w9966: zero device state after a detach\n  [media] v4l: Fix a use-before-set in the control framework\n  [media] v4l: Include linux/videodev2.h in media/v4l2-ctrls.h\n  [media] DocBook/v4l: update V4L2 revision and update copyright years\n  [media] DocBook/v4l: fix validation error in dev-rds.xml\n  [media] v4l2-ctrls: queryctrl shouldn\u0027t attempt to replace V4L2_CID_PRIVATE_BASE IDs\n  [media] v4l2-ctrls: fix missing \u0027read-only\u0027 check\n  [media] pvrusb2: Provide more information about IR units to lirc_zilog and ir-kbd-i2c\n  [media] ir-kbd-i2c: Add back defaults setting for Zilog Z8\u0027s at addr 0x71\n  [media] lirc_zilog: Update TODO.lirc_zilog\n  [media] lirc_zilog: Add Andy Walls to copyright notice and authors list\n  [media] lirc_zilog: Remove useless struct i2c_driver.command function\n  [media] lirc_zilog: Remove unneeded tests for existence of the IR Tx function\n  ...\n"
    },
    {
      "commit": "5bf7a6503ff416214b9a53569677dbf07657e6fd",
      "tree": "0dc8e8dbc30a23d466a327bef05e78c571f2b8a3",
      "parents": [
        "0f5c2ac58f22fd41deaeeb45ee752d4ae55f0d01",
        "42c025f3de9042d9c9abd9a6f6205d1a0f4bcadf"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 21 13:38:57 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 21 13:38:57 2011 -0800"
      },
      "message": "Merge branch \u0027fixes-2.6.38\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq\n\n* \u0027fixes-2.6.38\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq:\n  workqueue: note the nested NOT_RUNNING test in worker_clr_flags() isn\u0027t a noop\n  workqueue: relax lockdep annotation on flush_work()\n"
    },
    {
      "commit": "0f5c2ac58f22fd41deaeeb45ee752d4ae55f0d01",
      "tree": "6e13ef4d7247e53d7a0f18e04549a8847cc80214",
      "parents": [
        "cfd74486eace27a0899b30529d01bc1a09a5b973",
        "dfff95c394b0dd977a6b65bd52b99703fae94d9b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 21 13:38:26 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 21 13:38:26 2011 -0800"
      },
      "message": "Merge branch \u0027irq-cleanup-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027irq-cleanup-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (37 commits)\n  um: Use generic irq Kconfig\n  tile: Use generic irq Kconfig\n  sparc: Use generic irq Kconfig\n  score: Use generic irq Kconfig\n  powerpc: Use generic irq Kconfig\n  parisc: Use generic irq Kconfig\n  mn10300: Use generic irq Kconfig\n  microblaze: Use generic irq Kconfig\n  m68knommu: Use generic irq Kconfig\n  ia64: Use generic irq Kconfig\n  frv: Use generic irq Kconfig\n  blackfin: Use generic irq Kconfig\n  alpha: Use generic irq Kconfig\n  genirq: Remove __do_IRQ\n  m32r: Convert to generic irq Kconfig\n  m32r: Convert usrv platform irq handling\n  m32r: Convert opsput_lcdpld irq chip\n  m32r: Convert opsput lanpld irq chip\n  m32r: Convert opsput pld irq chip\n  m32r: Convert opsput irq chip\n  ...\n"
    },
    {
      "commit": "59eb21a6504731fc16db4cf9463065dd61093e08",
      "tree": "4a3732d451c85a5949c6d6294db51a56530677d8",
      "parents": [
        "60f2d1d506195803fa6e1dcf3972637b740fdd60"
      ],
      "author": {
        "name": "Bruno Randolf",
        "email": "br1@einfach.org",
        "time": "Mon Jan 17 13:37:28 2011 +0900"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Jan 21 15:34:17 2011 -0500"
      },
      "message": "cfg80211: Extend channel to frequency mapping for 802.11j\n\nExtend channel to frequency mapping for 802.11j Japan 4.9GHz band, according to\nIEEE802.11 section 17.3.8.3.2 and Annex J. Because there are now overlapping\nchannel numbers in the 2GHz and 5GHz band we can\u0027t map from channel to\nfrequency without knowing the band. This is no problem as in most contexts we\nknow the band. In places where we don\u0027t know the band (and WEXT compatibility)\nwe assume the 2GHz band for channels below 14.\n\nThis patch does not implement all channel to frequency mappings defined in\n802.11, it\u0027s just an extension for 802.11j 20MHz channels. 5MHz and 10MHz\nchannels as well as 802.11y channels have been omitted.\n\nThe following drivers have been updated to reflect the API changes:\niwl-3945, iwl-agn, iwmc3200wifi, libertas, mwl8k, rt2x00, wl1251, wl12xx.\nThe drivers have been compile-tested only.\n\nSigned-off-by: Bruno Randolf \u003cbr1@einfach.org\u003e\nSigned-off-by: Brian Prodoehl \u003cbprodoehl@gmail.com\u003e\nAcked-by: Luciano Coelho \u003ccoelho@ti.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "3dece370ecc7c6152b3fdd21c6de28179f6e643d",
      "tree": "e63f721412c1ef469108ae7e688cebcf39d83cad",
      "parents": [
        "db9fd8486bfe895b00b3603685c086a3c8210ffe"
      ],
      "author": {
        "name": "Michal Simek",
        "email": "monstr@monstr.eu",
        "time": "Fri Jan 21 08:49:56 2011 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 21 08:40:30 2011 -0800"
      },
      "message": "mm: System without MMU do not need pte_mkwrite\n\nThe patch \"thp: export maybe_mkwrite\" (commit 14fd403f2146) breaks\nsystems without MMU.\n\nError log:\n\n    CC      arch/microblaze/mm/init.o\n  In file included from include/linux/mman.h:14,\n                   from arch/microblaze/mm/consistent.c:24:\n  include/linux/mm.h: In function \u0027maybe_mkwrite\u0027:\n  include/linux/mm.h:482: error: implicit declaration of function \u0027pte_mkwrite\u0027\n  include/linux/mm.h:482: error: incompatible types in assignment\n\nSigned-off-by: Michal Simek \u003cmonstr@monstr.eu\u003e\nCC: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nReviewed-by: Rik van Riel \u003criel@redhat.com\u003e\nCC: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCC: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "aa0be0f4659f91f31e45adc422b1788cb36ffddc",
      "tree": "02eed33d672f36e41e735c5060acb9d2446c23af",
      "parents": [
        "db6b175fa6ad1408cbb2fb62949a6d55cfece03e"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Thu Jan 20 15:26:12 2011 -0800"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Jan 21 17:38:19 2011 +0100"
      },
      "message": "RTC: Propagate error handling via rtc_timer_enqueue properly\n\nIn cases where RTC hardware does not support alarms, the virtualized\nRTC interfaces did not have a way to propagate the error up to userland.\n\nThis patch extends rtc_timer_enqueue so it catches errors from the hardware\nand returns them upwards to the virtualized interfaces. To simplify error\nhandling, it also internalizes the management of the timer-\u003eenabled bit\ninto rtc_timer_enqueue and rtc_timer_remove.\n\nAlso makes rtc_timer_enqueue and rtc_timer_remove static.\n\nReported-by: David Daney \u003cddaney@caviumnetworks.com\u003e\nReported-by: Andreas Schwab \u003cschwab@linux-m68k.org\u003e\nReported-by: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nDiagnosed-by: David Daney \u003cddaney@caviumnetworks.com\u003e\nTested-by: David Daney \u003cddaney@caviumnetworks.com\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\nLKML-Reference: \u003c1295565973-14358-1-git-send-email-john.stultz@linaro.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "1daeddd5962acad1bea55e524fc0fadf32654a21",
      "tree": "29f20f9720c57228f74af205b263321d945f247e",
      "parents": [
        "2d0640b47da74cff7c11642c798d40de861ed524"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Thu Jan 13 09:30:49 2011 -0800"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Jan 21 17:38:18 2011 +0100"
      },
      "message": "rtc: Cleanup removed UIE emulation declaration\n\nrtc_dev_update_irq_enable_emul was removed in commit\n042620a018afcfba1d678062b62e463b9e43a68d (UIE emulation is\nnow handled via hrtimer), but the declaration was missed.\nThis patch cleans it up.\n\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\nLKML-Reference: \u003c1294939849-20608-1-git-send-email-john.stultz@linaro.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "4843456c5c341eb57f80f9224362a22665d14107",
      "tree": "5656b405a8b1d2596e8eb748b953ee677a261e3c",
      "parents": [
        "2b1caf6ed7b888c95a1909d343799672731651a5",
        "f00c9e44ad1a9660fe8cd3ca15b6cd9497172eab"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 21 07:33:37 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 21 07:33:37 2011 -0800"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6:\n  quota: Fix deadlock during path resolution\n"
    },
    {
      "commit": "1c77ff22f539ceaa64ea43d6a26d867e84602cb7",
      "tree": "d1623ae6a2f8ed56acbaa03b514e393496c42802",
      "parents": [
        "0e155b2ce293382730b8473f6ceeb7ac9b939b7d"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Jan 19 19:41:35 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Jan 21 11:55:31 2011 +0100"
      },
      "message": "genirq: Remove __do_IRQ\n\nAll architectures are finally converted. Remove the cruft.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Richard Henderson \u003crth@twiddle.net\u003e\nCc: Mike Frysinger \u003cvapier@gentoo.org\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Tony Luck \u003ctony.luck@intel.com\u003e\nCc: Greg Ungerer \u003cgerg@uclinux.org\u003e\nCc: Michal Simek \u003cmonstr@monstr.eu\u003e\nAcked-by: David Howells \u003cdhowells@redhat.com\u003e\nCc: Kyle McMartin \u003ckyle@mcmartin.ca\u003e\nAcked-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Chen Liqin \u003cliqin.chen@sunplusct.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\nCc: Jeff Dike \u003cjdike@addtoit.com\u003e\n"
    },
    {
      "commit": "9190b3b3208d052d98cb601fcc192f3f71a5658b",
      "tree": "b642a00320a1b35e33741fcd162072724f228fbf",
      "parents": [
        "b30532515f0a62bfe17207ab00883dd262497006"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Jan 20 23:31:33 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 20 23:31:33 2011 -0800"
      },
      "message": "net_sched: accurate bytes/packets stats/rates\n\nIn commit 44b8288308ac9d (net_sched: pfifo_head_drop problem), we fixed\na problem with pfifo_head drops that incorrectly decreased\nsch-\u003ebstats.bytes and sch-\u003ebstats.packets\n\nSeveral qdiscs (CHOKe, SFQ, pfifo_head, ...) are able to drop a\npreviously enqueued packet, and bstats cannot be changed, so\nbstats/rates are not accurate (over estimated)\n\nThis patch changes the qdisc_bstats updates to be done at dequeue() time\ninstead of enqueue() time. bstats counters no longer account for dropped\nframes, and rates are more correct, since enqueue() bursts dont have\neffect on dequeue() rate.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nAcked-by: Stephen Hemminger \u003cshemminger@vyatta.com\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": "2b1caf6ed7b888c95a1909d343799672731651a5",
      "tree": "7ab9a7ae13bc02376bce6267df67f6f2aa9091f1",
      "parents": [
        "d551d81d6a720542873f478def60baab6b5df403",
        "bd924e8cbd4b73ffb7d707a774c04f7e2cae88ed"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 20 18:30:37 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 20 18:30:37 2011 -0800"
      },
      "message": "Merge branch \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  smp: Allow on_each_cpu() to be called while early_boot_irqs_disabled status to init/main.c\n  lockdep: Move early boot local IRQ enable/disable status to init/main.c\n"
    },
    {
      "commit": "2d6d9fd3a54a28c6f67f26eb6c74803307a1b11e",
      "tree": "0d7c54159ca8e9c4d4e113597d3c7c08d9f98e84",
      "parents": [
        "8d99641f6c1af806cd5d9e6badce91910219a161"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Jan 19 22:27:14 2011 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 20 18:30:17 2011 -0800"
      },
      "message": "ACPI: Introduce acpi_os_ioremap()\n\nCommit ca9b600be38c (\"ACPI / PM: Make suspend_nvs_save() use\nacpi_os_map_memory()\") attempted to prevent the code in osl.c and nvs.c\nfrom using different ioremap() variants by making the latter use\nacpi_os_map_memory() for mapping the NVS pages.  However, that also\nrequires acpi_os_unmap_memory() to be used for unmapping them, which\ncauses synchronize_rcu() to be executed many times in a row\nunnecessarily and introduces substantial delays during resume on some\nsystems.\n\nInstead of using acpi_os_map_memory() for mapping the NVS pages in nvs.c\nintroduce acpi_os_ioremap() calling ioremap_cache() and make the code in\nboth osl.c and nvs.c use it.\n\nReported-by: Jeff Chua \u003cjeff.chua.linux@gmail.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8d99641f6c1af806cd5d9e6badce91910219a161",
      "tree": "ee841f807005a4a6234f6f502a13185d13a34870",
      "parents": [
        "fc887b15d935ead2a00aef5779a18034e7c69ee1",
        "225c8e010f2d17a62aef131e24c6e7c111f36f9b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 20 17:02:14 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 20 17:02:14 2011 -0800"
      },
      "message": "Merge branch \u0027akpm\u0027\n\n* akpm:\n  kernel/smp.c: consolidate writes in smp_call_function_interrupt()\n  kernel/smp.c: fix smp_call_function_many() SMP race\n  memcg: correctly order reading PCG_USED and pc-\u003emem_cgroup\n  backlight: fix 88pm860x_bl macro collision\n  drivers/leds/ledtrig-gpio.c: make output match input, tighten input checking\n  MAINTAINERS: update Atmel AT91 entry\n  mm: fix truncate_setsize() comment\n  memcg: fix rmdir, force_empty with THP\n  memcg: fix LRU accounting with THP\n  memcg: fix USED bit handling at uncharge in THP\n  memcg: modify accounting function for supporting THP better\n  fs/direct-io.c: don\u0027t try to allocate more than BIO_MAX_PAGES in a bio\n  mm: compaction: prevent division-by-zero during user-requested compaction\n  mm/vmscan.c: remove duplicate include of compaction.h\n  memblock: fix memblock_is_region_memory()\n  thp: keep highpte mapped until it is no longer needed\n  kconfig: rename CONFIG_EMBEDDED to CONFIG_EXPERT\n"
    },
    {
      "commit": "ca3e021417eed30ec2b64ce88eb0acf64aa9bc29",
      "tree": "710590e51764d56c12d00744c402ab15c0d14a6b",
      "parents": [
        "e401f1761c0b01966e36e41e2c385d455a7b44ee"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Thu Jan 20 14:44:24 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 20 17:02:06 2011 -0800"
      },
      "message": "memcg: fix USED bit handling at uncharge in THP\n\nNow, under THP:\n\nat charge:\n  - PageCgroupUsed bit is set to all page_cgroup on a hugepage.\n    ....set to 512 pages.\nat uncharge\n  - PageCgroupUsed bit is unset on the head page.\n\nSo, some pages will remain with \"Used\" bit.\n\nThis patch fixes that Used bit is set only to the head page.\nUsed bits for tail pages will be set at splitting if necessary.\n\nThis patch adds this lock order:\n   compound_lock() -\u003e page_cgroup_move_lock().\n\n[akpm@linux-foundation.org: fix warning]\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nCc: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nCc: Johannes Weiner \u003channes@cmpxchg.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d18046b3cd989c06d2ad8d615e57c3cf63c63b67",
      "tree": "63b7ab20dd321007543b2f1caabea141a364f538",
      "parents": [
        "4dce2396b329ef6a14b40c5416d6f76005097b0d"
      ],
      "author": {
        "name": "Shan Wei",
        "email": "shanwei@cn.fujitsu.com",
        "time": "Wed Jan 19 23:12:54 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 20 17:01:09 2011 -0800"
      },
      "message": "dccp: clean up unused DCCP_STATE_MASK definition\n\nRemove unused DCCP_STATE_MASK macro.\n\nSigned-off-by: Shan Wei \u003cshanwei@cn.fujitsu.com\u003e\nAcked-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a2da570d62fcb9e8816f6920e1ec02c706b289fa",
      "tree": "9a24b76262c40ec2f1be11e29e224c7d7b20fa26",
      "parents": [
        "fd245a4adb5288eac37250875f237c40a20a1944"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Jan 20 03:48:19 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 20 16:59:32 2011 -0800"
      },
      "message": "net_sched: RCU conversion of stab\n\nThis patch converts stab qdisc management to RCU, so that we can perform\nthe qdisc_calculate_pkt_len() call before getting qdisc lock.\n\nThis shortens the lock\u0027s held time in __dev_xmit_skb().\n\nThis permits more qdiscs to get TCQ_F_CAN_BYPASS status, avoiding lot of\ncache misses and so reducing latencies.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCC: Patrick McHardy \u003ckaber@trash.net\u003e\nCC: Jesper Dangaard Brouer \u003chawk@diku.dk\u003e\nCC: Jarek Poplawski \u003cjarkao2@gmail.com\u003e\nCC: Jamal Hadi Salim \u003chadi@cyberus.ca\u003e\nCC: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fd245a4adb5288eac37250875f237c40a20a1944",
      "tree": "1c16670c53dab9d9d05b26a7e7ae8a6a8267e847",
      "parents": [
        "817fb15dfd988d8dda916ee04fa506f0c466b9d6"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Jan 20 05:27:16 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 20 16:59:32 2011 -0800"
      },
      "message": "net_sched: move TCQ_F_THROTTLED flag\n\nIn commit 371121057607e (net: QDISC_STATE_RUNNING dont need atomic bit\nops) I moved QDISC_STATE_RUNNING flag to __state container, located in\nthe cache line containing qdisc lock and often dirtied fields.\n\nI now move TCQ_F_THROTTLED bit too, so that we let first cache line read\nmostly, and shared by all cpus. This should speedup HTB/CBQ for example.\n\nNot using test_bit()/__clear_bit()/__test_and_set_bit allows to use an\n\"unsigned int\" for __state container, reducing by 8 bytes Qdisc size.\n\nIntroduce helpers to hide implementation details.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCC: Patrick McHardy \u003ckaber@trash.net\u003e\nCC: Jesper Dangaard Brouer \u003chawk@diku.dk\u003e\nCC: Jarek Poplawski \u003cjarkao2@gmail.com\u003e\nCC: Jamal Hadi Salim \u003chadi@cyberus.ca\u003e\nCC: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e589501cb928b482c3c399444f788e1af35deee2",
      "tree": "38737ccf5cadb99478f821ed3ba619993fc60425",
      "parents": [
        "28e58ee8ce1f0e69c207f747b7b9054b071e328d",
        "8d5f0a647395c1323787df675d2805cad54fc89f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 20 16:28:34 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 20 16:28:34 2011 -0800"
      },
      "message": "Merge branch \u0027acpica\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6\n\n* \u0027acpica\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6:\n  ACPICA: Update version to 20110112\n  ACPICA: Update all ACPICA copyrights and signons to 2011\n  ACPICA: Fix issues/fault with automatic \"serialized\" method support\n  ACPICA: Debugger: Lock namespace for duration of a namespace dump\n  ACPICA: Fix namespace race condition\n  ACPICA: Fix memory leak in acpi_ev_asynch_execute_gpe_method().\n"
    },
    {
      "commit": "2f1e3176723d74ea2dd975e5be0ef6bb4fed2e2e",
      "tree": "5f8b12f4e3d58d67bb9c1c8d00ef4d7922e3ed8e",
      "parents": [
        "06988b06935da7a210887e9d3f50f46f2faa4953"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Jan 20 20:46:52 2011 +0100"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Jan 20 20:46:52 2011 +0100"
      },
      "message": "netfilter: nf_conntrack: fix linker error with NF_CONNTRACK_TIMESTAMP\u003dn\n\nnet/built-in.o: In function `nf_conntrack_init_net\u0027:\nnet/netfilter/nf_conntrack_core.c:1521:\n\tundefined reference to `nf_conntrack_tstamp_init\u0027\nnet/netfilter/nf_conntrack_core.c:1531:\n\tundefined reference to `nf_conntrack_tstamp_fini\u0027\n\nAdd dummy inline functions for the \u003dn case to fix this.\n\nReported-by: John Fastabend \u003cjohn.r.fastabend@intel.com\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "06988b06935da7a210887e9d3f50f46f2faa4953",
      "tree": "3117e4e5a89e34ae8e6ecd343290517a4b4cdfaa",
      "parents": [
        "41a7cab6d329039d614ca5f0f87aff2dfd90637c"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Thu Jan 20 17:50:17 2011 +0100"
      },
      "committer": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Thu Jan 20 17:50:17 2011 +0100"
      },
      "message": "netfilter: xtables: add missing header inclusions for headers_check\n\nResolve these warnings on `make headers_check`:\n\nusr/include/linux/netfilter/xt_CT.h:7: found __[us]{8,16,32,64} type\nwithout #include \u003clinux/types.h\u003e\n...\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@medozas.de\u003e\n"
    },
    {
      "commit": "4cda47d2e7b21b0b41e44dbe4cd9804fea2d30e9",
      "tree": "efbe247c83bb8937d24cc6db09c4f356c94f474e",
      "parents": [
        "82d800d8e7fa731b50deb851d16b68050673f587",
        "ba12b130a65840005770135a69199cb9adaf8c8f"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Jan 20 14:17:32 2011 +0100"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Jan 20 14:17:32 2011 +0100"
      },
      "message": "Merge branch \u0027connlimit\u0027 of git://dev.medozas.de/linux\n"
    },
    {
      "commit": "ba12b130a65840005770135a69199cb9adaf8c8f",
      "tree": "14e0e57e8700cd3773496456d37fba157c29211d",
      "parents": [
        "cc4fc022571376412986e27e08b0765e9cb2aafb"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Thu Jan 20 14:01:12 2011 +0100"
      },
      "committer": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Thu Jan 20 14:01:12 2011 +0100"
      },
      "message": "netfilter: xtables: remove duplicate member\n\nAccidentally missed removing the old out-of-union \"inverse\" member,\nwhich caused the struct size to change which then gives size mismatch\nwarnings when using an old iptables.\n\nIt is interesting to see that gcc did not warn about this before.\n(Filed http://gcc.gnu.org/bugzilla/show_bug.cgi?id\u003d47376 )\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@medozas.de\u003e\n"
    },
    {
      "commit": "2ce802f62ba32a7d95748ac92bf351f76affb6ff",
      "tree": "54dd0d6063ca61619e6b8ca84dd95b8e5a3c1402",
      "parents": [
        "12fcdba1b7ae8b25696433f420b775aeb556d89b"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Jan 20 12:06:35 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jan 20 13:32:33 2011 +0100"
      },
      "message": "lockdep: Move early boot local IRQ enable/disable status to init/main.c\n\nDuring early boot, local IRQ is disabled until IRQ subsystem is\nproperly initialized.  During this time, no one should enable\nlocal IRQ and some operations which usually are not allowed with\nIRQ disabled, e.g. operations which might sleep or require\ncommunications with other processors, are allowed.\n\nlockdep tracked this with early_boot_irqs_off/on() callbacks.\nAs other subsystems need this information too, move it to\ninit/main.c and make it generally available.  While at it,\ntoggle the boolean to early_boot_irqs_disabled instead of\nenabled so that it can be initialized with %false and %true\nindicates the exceptional condition.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Pekka Enberg \u003cpenberg@kernel.org\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nLKML-Reference: \u003c20110120110635.GB6036@htj.dyndns.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "82d800d8e7fa731b50deb851d16b68050673f587",
      "tree": "60acee6699b1cdb7fe5e2802947737dffeeeb6c9",
      "parents": [
        "28a51ba59a1a983d63d4775e9bb8230fe0fb3b29",
        "cc4fc022571376412986e27e08b0765e9cb2aafb"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Jan 20 10:33:55 2011 +0100"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Jan 20 10:33:55 2011 +0100"
      },
      "message": "Merge branch \u0027connlimit\u0027 of git://dev.medozas.de/linux\n\nConflicts:\n\tDocumentation/feature-removal-schedule.txt\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "a07aa004c8d814a975b1a68afdb7baaa8f1b91d5",
      "tree": "652edc2dce9732a64780b9e332034b6567631a8b",
      "parents": [
        "cc7ec456f82da7f89a5b376e613b3ac4311b3e9a",
        "5d8449286456659cdd0998e62d80df2d9e77e9e3"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 20 00:06:15 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 20 00:06:15 2011 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/kaber/nf-next-2.6\n"
    },
    {
      "commit": "5d8449286456659cdd0998e62d80df2d9e77e9e3",
      "tree": "3e773cbdc028f6c9bc0331bb137e3c64625a0cf5",
      "parents": [
        "14f0290ba44de6ed435fea24bba26e7868421c66"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Thu Jan 20 08:48:15 2011 +0100"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Jan 20 08:48:15 2011 +0100"
      },
      "message": "netfilter: xtables: remove extraneous header that slipped in\n\nCommit 0b8ad87 (netfilter: xtables: add missing header files to export\nlist) erroneously added this.\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@medozas.de\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "b8970f0bfc78103cb74c66055de7379b15097840",
      "tree": "a85578cddfd506e049af0c78a56dd0ee342fc93b",
      "parents": [
        "4f57c087de9b46182545676d2c594120a20f2e58"
      ],
      "author": {
        "name": "John Fastabend",
        "email": "john.r.fastabend@intel.com",
        "time": "Mon Jan 17 08:06:09 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jan 19 23:31:11 2011 -0800"
      },
      "message": "net_sched: implement a root container qdisc sch_mqprio\n\nThis implements a mqprio queueing discipline that by default creates\na pfifo_fast qdisc per tx queue and provides the needed configuration\ninterface.\n\nUsing the mqprio qdisc the number of tcs currently in use along\nwith the range of queues alloted to each class can be configured. By\ndefault skbs are mapped to traffic classes using the skb priority.\nThis mapping is configurable.\n\nConfigurable parameters,\n\nstruct tc_mqprio_qopt {\n\t__u8    num_tc;\n\t__u8    prio_tc_map[TC_BITMASK + 1];\n\t__u8    hw;\n\t__u16   count[TC_MAX_QUEUE];\n\t__u16   offset[TC_MAX_QUEUE];\n};\n\nHere the count/offset pairing give the queue alignment and the\nprio_tc_map gives the mapping from skb-\u003epriority to tc.\n\nThe hw bit determines if the hardware should configure the count\nand offset values. If the hardware bit is set then the operation\nwill fail if the hardware does not implement the ndo_setup_tc\noperation. This is to avoid undetermined states where the hardware\nmay or may not control the queue mapping. Also minimal bounds\nchecking is done on the count/offset to verify a queue does not\nexceed num_tx_queues and that queue ranges do not overlap. Otherwise\nit is left to user policy or hardware configuration to create\nuseful mappings.\n\nIt is expected that hardware QOS schemes can be implemented by\ncreating appropriate mappings of queues in ndo_tc_setup().\n\nOne expected use case is drivers will use the ndo_setup_tc to map\nqueue ranges onto 802.1Q traffic classes. This provides a generic\nmechanism to map network traffic onto these traffic classes and\nremoves the need for lower layer drivers to know specifics about\ntraffic types.\n\nSigned-off-by: John Fastabend \u003cjohn.r.fastabend@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4f57c087de9b46182545676d2c594120a20f2e58",
      "tree": "bb2ed64efcafbf4d8fe2f625b432b554d05fdc47",
      "parents": [
        "e7ed828f10bd89a28f821ae7f20e691704d61923"
      ],
      "author": {
        "name": "John Fastabend",
        "email": "john.r.fastabend@intel.com",
        "time": "Mon Jan 17 08:06:04 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jan 19 23:31:10 2011 -0800"
      },
      "message": "net: implement mechanism for HW based QOS\n\nThis patch provides a mechanism for lower layer devices to\nsteer traffic using skb-\u003epriority to tx queues. This allows\nfor hardware based QOS schemes to use the default qdisc without\nincurring the penalties related to global state and the qdisc\nlock. While reliably receiving skbs on the correct tx ring\nto avoid head of line blocking resulting from shuffling in\nthe LLD. Finally, all the goodness from txq caching and xps/rps\ncan still be leveraged.\n\nMany drivers and hardware exist with the ability to implement\nQOS schemes in the hardware but currently these drivers tend\nto rely on firmware to reroute specific traffic, a driver\nspecific select_queue or the queue_mapping action in the\nqdisc.\n\nBy using select_queue for this drivers need to be updated for\neach and every traffic type and we lose the goodness of much\nof the upstream work. Firmware solutions are inherently\ninflexible. And finally if admins are expected to build a\nqdisc and filter rules to steer traffic this requires knowledge\nof how the hardware is currently configured. The number of tx\nqueues and the queue offsets may change depending on resources.\nAlso this approach incurs all the overhead of a qdisc with filters.\n\nWith the mechanism in this patch users can set skb priority using\nexpected methods ie setsockopt() or the stack can set the priority\ndirectly. Then the skb will be steered to the correct tx queues\naligned with hardware QOS traffic classes. In the normal case with\nsingle traffic class and all queues in this class everything\nworks as is until the LLD enables multiple tcs.\n\nTo steer the skb we mask out the lower 4 bits of the priority\nand allow the hardware to configure upto 15 distinct classes\nof traffic. This is expected to be sufficient for most applications\nat any rate it is more then the 8021Q spec designates and is\nequal to the number of prio bands currently implemented in\nthe default qdisc.\n\nThis in conjunction with a userspace application such as\nlldpad can be used to implement 8021Q transmission selection\nalgorithms one of these algorithms being the extended transmission\nselection algorithm currently being used for DCB.\n\nSigned-off-by: John Fastabend \u003cjohn.r.fastabend@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cbda10fa97d72c7a1923be4426171aa90e8c6dab",
      "tree": "113206ef603189e9f91f075e154cbdc8e1ac3f40",
      "parents": [
        "441c793a56502638d45d5da2195056d686147370"
      ],
      "author": {
        "name": "Vlad Dogaru",
        "email": "ddvlad@rosedu.org",
        "time": "Thu Jan 13 23:38:30 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jan 19 23:31:09 2011 -0800"
      },
      "message": "net_device: add support for network device groups\n\nNet devices can now be grouped, enabling simpler manipulation from\nuserspace. This patch adds a group field to the net_device structure, as\nwell as rtnetlink support to query and modify it.\n\nSigned-off-by: Vlad Dogaru \u003cddvlad@rosedu.org\u003e\nAcked-by: Jamal Hadi Salim \u003chadi@cyberus.ca\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    }
  ],
  "next": "1268afe676ee9431a229fc68a2efb0dad4d5852f"
}
