)]}'
{
  "log": [
    {
      "commit": "7e0bb71e75020348bee523720a0c2f04cc72f540",
      "tree": "1a22d65bbce34e8cc0f82c543c9486ffb58332f7",
      "parents": [
        "b9e2780d576a010d4aba1e69f247170bf3718d6b",
        "0ab1e79b825a5cd8aeb3b34d89c9a89dea900056"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 25 15:18:39 2011 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 25 15:18:39 2011 +0200"
      },
      "message": "Merge branch \u0027pm-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm\n\n* \u0027pm-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (63 commits)\n  PM / Clocks: Remove redundant NULL checks before kfree()\n  PM / Documentation: Update docs about suspend and CPU hotplug\n  ACPI / PM: Add Sony VGN-FW21E to nonvs blacklist.\n  ARM: mach-shmobile: sh7372 A4R support (v4)\n  ARM: mach-shmobile: sh7372 A3SP support (v4)\n  PM / Sleep: Mark devices involved in wakeup signaling during suspend\n  PM / Hibernate: Improve performance of LZO/plain hibernation, checksum image\n  PM / Hibernate: Do not initialize static and extern variables to 0\n  PM / Freezer: Make fake_signal_wake_up() wake TASK_KILLABLE tasks too\n  PM / Hibernate: Add resumedelay kernel param in addition to resumewait\n  MAINTAINERS: Update linux-pm list address\n  PM / ACPI: Blacklist Vaio VGN-FW520F machine known to require acpi_sleep\u003dnonvs\n  PM / ACPI: Blacklist Sony Vaio known to require acpi_sleep\u003dnonvs\n  PM / Hibernate: Add resumewait param to support MMC-like devices as resume file\n  PM / Hibernate: Fix typo in a kerneldoc comment\n  PM / Hibernate: Freeze kernel threads after preallocating memory\n  PM: Update the policy on default wakeup settings\n  PM / VT: Cleanup #if defined uglyness and fix compile error\n  PM / Suspend: Off by one in pm_suspend()\n  PM / Hibernate: Include storage keys in hibernation image on s390\n  ...\n"
    },
    {
      "commit": "8a9ea3237e7eb5c25f09e429ad242ae5a3d5ea22",
      "tree": "a0a63398a9983667d52cbbbf4e2405b4f22b1d83",
      "parents": [
        "1be025d3cb40cd295123af2c394f7229ef9b30ca",
        "8b3408f8ee994973869d8ba32c5bf482bc4ddca4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 25 13:25:22 2011 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 25 13:25:22 2011 +0200"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1745 commits)\n  dp83640: free packet queues on remove\n  dp83640: use proper function to free transmit time stamping packets\n  ipv6: Do not use routes from locally generated RAs\n  |PATCH net-next] tg3: add tx_dropped counter\n  be2net: don\u0027t create multiple RX/TX rings in multi channel mode\n  be2net: don\u0027t create multiple TXQs in BE2\n  be2net: refactor VF setup/teardown code into be_vf_setup/clear()\n  be2net: add vlan/rx-mode/flow-control config to be_setup()\n  net_sched: cls_flow: use skb_header_pointer()\n  ipv4: avoid useless call of the function check_peer_pmtu\n  TCP: remove TCP_DEBUG\n  net: Fix driver name for mdio-gpio.c\n  ipv4: tcp: fix TOS value in ACK messages sent from TIME_WAIT\n  rtnetlink: Add missing manual netlink notification in dev_change_net_namespaces\n  ipv4: fix ipsec forward performance regression\n  jme: fix irq storm after suspend/resume\n  route: fix ICMP redirect validation\n  net: hold sock reference while processing tx timestamps\n  tcp: md5: add more const attributes\n  Add ethtool -g support to virtio_net\n  ...\n\nFix up conflicts in:\n - drivers/net/Kconfig:\n\tThe split-up generated a trivial conflict with removal of a\n\tstale reference to Documentation/networking/net-modules.txt.\n\tRemove it from the new location instead.\n - fs/sysfs/dir.c:\n\tFairly nasty conflicts with the sysfs rb-tree usage, conflicting\n\twith Eric Biederman\u0027s changes for tagged directories.\n"
    },
    {
      "commit": "5f8444a3fa617076f8da51a3e8ecce01a5d7f738",
      "tree": "196aa6b0e949ceef2bd7b639c300e40bc0bdb9ad",
      "parents": [
        "a90b412cb8c7ccc1689f9ea130883d00a1f0a5bb"
      ],
      "author": {
        "name": "Greg Rose",
        "email": "gregory.v.rose@intel.com",
        "time": "Sat Oct 08 03:05:24 2011 +0000"
      },
      "committer": {
        "name": "Jeff Kirsher",
        "email": "jeffrey.t.kirsher@intel.com",
        "time": "Sun Oct 16 13:15:38 2011 -0700"
      },
      "message": "if_link: Add additional parameter to IFLA_VF_INFO for spoof checking\n\nAdd configuration setting for drivers to turn spoof checking on or off\nfor discrete VFs.\n\nv2 - Fix indentation problem, wrap the ifla_vf_info structure in\n     #ifdef __KERNEL__ to prevent user space from accessing and\n     change function paramater for the spoof check setting netdev\n     op from u8 to bool.\nv3 - Preset spoof check setting to -1 so that user space tools such\n     as ip can detect that the driver didn\u0027t report a spoofcheck\n     setting.  Prevents incorrect display of spoof check settings\n     for drivers that don\u0027t report it.\n\nSigned-off-by: Greg Rose \u003cgregory.v.rose@intel.com\u003e\nSigned-off-by: Jeff Kirsher \u003cjeffrey.t.kirsher@intel.com\u003e\n"
    },
    {
      "commit": "4bc71cb983fd2844e603bf633df2bb53385182d2",
      "tree": "067b6df32fda6c554b2b9263a94a585c2e5a832d",
      "parents": [
        "c5dac7c9984d8a034eb7ae149cedf23ec9259f98"
      ],
      "author": {
        "name": "Jiri Pirko",
        "email": "jpirko@redhat.com",
        "time": "Sat Sep 03 03:34:30 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 15 17:32:26 2011 -0400"
      },
      "message": "net: consolidate and fix ethtool_ops-\u003eget_settings calling\n\nThis patch does several things:\n- introduces __ethtool_get_settings which is called from ethtool code and\n  from drivers as well. Put ASSERT_RTNL there.\n- dev_ethtool_get_settings() is replaced by __ethtool_get_settings()\n- changes calling in drivers so rtnl locking is respected. In\n  iboe_get_rate was previously -\u003eget_settings() called unlocked. This\n  fixes it. Also prb_calc_retire_blk_tmo() in af_packet.c had the same\n  problem. Also fixed by calling __dev_get_by_index() instead of\n  dev_get_by_index() and holding rtnl_lock for both calls.\n- introduces rtnl_lock in bnx2fc_vport_create() and fcoe_vport_create()\n  so bnx2fc_if_create() and fcoe_if_create() are called locked as they\n  are from other places.\n- use __ethtool_get_settings() in bonding code\n\nSigned-off-by: Jiri Pirko \u003cjpirko@redhat.com\u003e\n\nv2-\u003ev3:\n\t-removed dev_ethtool_get_settings()\n\t-added ASSERT_RTNL into __ethtool_get_settings()\n\t-prb_calc_retire_blk_tmo - use __dev_get_by_index() and lock\n\t around it and __ethtool_get_settings() call\nv1-\u003ev2:\n        add missing export_symbol\nReviewed-by: Ben Hutchings \u003cbhutchings@solarflare.com\u003e [except FCoE bits]\nAcked-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3c9c36bcedd426f2be2826da43e5163de61735f7",
      "tree": "bdbccabd938d1fe85d1502afbaaee52a07a1ff9c",
      "parents": [
        "dcc7e3a6a2a2464cf96dee329f7c58fe8c230d97"
      ],
      "author": {
        "name": "Bhanu Prakash Gollapudi",
        "email": "bprakash@broadcom.com",
        "time": "Fri Aug 26 09:45:41 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Aug 28 17:08:28 2011 -0400"
      },
      "message": "net: Define NETDEV_FCOE_WWNN, NETDEV_FCOE_WWPN only when CONFIG_LIBFCOE is enabled\n\nbnx2fc driver calls netdev-\u003enetdev_ops-\u003endo_fcoe_get_wwn() and it may not\nbe defined with the current Kconfig dependencies.  ndo_fcoe_get_wwn is\ndependent on CONFIG_FCOE, but bnx2fc does not select CONFIG_FCOE, as it does\nnot depend on fcoe driver. Since both fcoe and bnx2fc drivers select\nCONFIG_LIBFCOE, define NETDEV_FCOE_WWNN and NETDEV_FCOE_WWPN when\nCONFIG_LIBFCOE is defined.\n\nReported-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nReported-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nCc: Yi Zou \u003cyi.zou@intel.com\u003e\nSigned-off-by: Bhanu Prakash Gollapudi \u003cbprakash@broadcom.com\u003e\nSigned-off-by: Michael Chan \u003cmchan@broadcom.com\u003e\nReviewed-by: Yi Zou \u003cyi.zou@intel.com\u003e\nAcked-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cc74998618a66d34651c784dd02412614c3e81cc",
      "tree": "6ba8aba112a682039cae003f3bbcc027478ef08c",
      "parents": [
        "e8db0be1245de16a6cc6365506abc392c3c212d4"
      ],
      "author": {
        "name": "Jean Pihet",
        "email": "j-pihet@ti.com",
        "time": "Thu Aug 25 15:35:12 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Thu Aug 25 15:35:12 2011 +0200"
      },
      "message": "PM QoS: Minor clean-ups\n\n - Misc fixes to improve code readability:\n  * rename struct pm_qos_request_list to struct pm_qos_request,\n  * rename pm_qos_req parameter to req in internal code,\n    consistenly use req in the API parameters,\n  * update the in-kernel API callers to the new parameters names,\n  * rename of fields names (requests, list, node, constraints)\n\nSigned-off-by: Jean Pihet \u003cj-pihet@ti.com\u003e\nAcked-by: markgross \u003cmarkgross@thegnar.org\u003e\nReviewed-by: Kevin Hilman \u003ckhilman@ti.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "e8db0be1245de16a6cc6365506abc392c3c212d4",
      "tree": "01cf446568080c06c8797262554f3b0f758ae137",
      "parents": [
        "b5e8d269d814763d597ccc0108d1fa6639ad35a1"
      ],
      "author": {
        "name": "Jean Pihet",
        "email": "j-pihet@ti.com",
        "time": "Thu Aug 25 15:35:03 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Thu Aug 25 15:35:03 2011 +0200"
      },
      "message": "PM QoS: Move and rename the implementation files\n\nThe PM QoS implementation files are better named\nkernel/power/qos.c and include/linux/pm_qos.h.\n\nThe PM QoS support is compiled under the CONFIG_PM option.\n\nSigned-off-by: Jean Pihet \u003cj-pihet@ti.com\u003e\nAcked-by: markgross \u003cmarkgross@thegnar.org\u003e\nReviewed-by: Kevin Hilman \u003ckhilman@ti.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "b5fb0a03214dfd02bc34bda659d5b89ef12741b2",
      "tree": "16bc6d62861e5ef06cf8643000f55db60e65a5f1",
      "parents": [
        "ffa10cb47a94c9b456c83301c8047e2a898dd409"
      ],
      "author": {
        "name": "Jason Baron",
        "email": "jbaron@redhat.com",
        "time": "Thu Aug 11 14:36:53 2011 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Aug 22 18:23:06 2011 -0700"
      },
      "message": "dynamic_debug: make netif_dbg() call __netdev_printk()\n\nPreviously, netif_dbg() was using dynamic_dev_dbg() to perform\nthe underlying printk. Fix it to use __netdev_printk(), instead.\n\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Jason Baron \u003cjbaron@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "ffa10cb47a94c9b456c83301c8047e2a898dd409",
      "tree": "dd0fb674235c51d54fd80540420c23002795048e",
      "parents": [
        "ac0ac38f68be73b92dc390ceace50a0d143d76ae"
      ],
      "author": {
        "name": "Jason Baron",
        "email": "jbaron@redhat.com",
        "time": "Thu Aug 11 14:36:48 2011 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Aug 22 18:23:06 2011 -0700"
      },
      "message": "dynamic_debug: make netdev_dbg() call __netdev_printk()\n\nPreviously, if dynamic debug was enabled netdev_dbg() was using\ndynamic_dev_dbg() to print out the underlying msg. Fix this by making\nsure netdev_dbg() uses __netdev_printk().\n\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Jason Baron \u003cjbaron@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "b81693d9149c598302e8eb9c20cb20330d922c8e",
      "tree": "450ac7ce3252d90d55c46c5a3c28dec8e2f2308c",
      "parents": [
        "afc4b13df143122f99a0eb10bfefb216c2806de0"
      ],
      "author": {
        "name": "Jiri Pirko",
        "email": "jpirko@redhat.com",
        "time": "Tue Aug 16 06:29:02 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 17 20:22:03 2011 -0700"
      },
      "message": "net: remove ndo_set_multicast_list callback\n\nRemove no longer used operation.\n\nSigned-off-by: Jiri Pirko \u003cjpirko@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "01789349ee52e4a3faf376f1485303d9723c4f1f",
      "tree": "cea58b51337ffda221f67d47dd234e52f76f65cf",
      "parents": [
        "d03462b999307ec5c186851ec9c5751bd5a675f7"
      ],
      "author": {
        "name": "Jiri Pirko",
        "email": "jpirko@redhat.com",
        "time": "Tue Aug 16 06:29:00 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 17 20:21:27 2011 -0700"
      },
      "message": "net: introduce IFF_UNICAST_FLT private flag\n\nUse IFF_UNICAST_FTL to find out if driver handles unicast address\nfiltering. In case it does not, promisc mode is entered.\n\nPatch also fixes following drivers:\nstmmac, niu: support uc filtering and yet it propagated\n\tndo_set_multicast_list\nbna, benet, pxa168_eth, ks8851, ks8851_mll, ksz884x : has set\n\tndo_set_rx_mode but do not support uc filtering\n\nSigned-off-by: Jiri Pirko \u003cjpirko@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d5eab9152a3b4ce962c02ad0a0e4d0ec94aadd92",
      "tree": "3147f8de2805da0f026ea18103a9be46f3bc2a18",
      "parents": [
        "6140333d3656f62ac7e6a5af87e7fe92cfb8d655",
        "a051294423b015c5c89f2ed78f7fe0893b775098"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 28 05:58:19 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 28 05:58:19 2011 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (32 commits)\n  tg3: Remove 5719 jumbo frames and TSO blocks\n  tg3: Break larger frags into 4k chunks for 5719\n  tg3: Add tx BD budgeting code\n  tg3: Consolidate code that calls tg3_tx_set_bd()\n  tg3: Add partial fragment unmapping code\n  tg3: Generalize tg3_skb_error_unmap()\n  tg3: Remove short DMA check for 1st fragment\n  tg3: Simplify tx bd assignments\n  tg3: Reintroduce tg3_tx_ring_info\n  ASIX: Use only 11 bits of header for data size\n  ASIX: Simplify condition in rx_fixup()\n  Fix cdc-phonet build\n  bonding: reduce noise during init\n  bonding: fix string comparison errors\n  net: Audit drivers to identify those needing IFF_TX_SKB_SHARING cleared\n  net: add IFF_SKB_TX_SHARED flag to priv_flags\n  net: sock_sendmsg_nosec() is static\n  forcedeth: fix vlans\n  gianfar: fix bug caused by 87c288c6e9aa31720b72e2bc2d665e24e1653c3e\n  gro: Only reset frag0 when skb can be pulled\n  ...\n"
    },
    {
      "commit": "17dd759c67f21e34f2156abcf415e1f60605a188",
      "tree": "991e4406ec835cf4cbb8108a6307c35f3164007b",
      "parents": [
        "2d348d1f569f051d2609b04d27bb55cd25eda8fe"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Wed Jul 27 06:16:28 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 27 06:16:28 2011 -0700"
      },
      "message": "gro: Only reset frag0 when skb can be pulled\n\nCurrently skb_gro_header_slow unconditionally resets frag0 and\nfrag0_len.  However, when we can\u0027t pull on the skb this leaves\nthe GRO fields in an inconsistent state.\n\nThis patch fixes this by only resetting those fields after the\npskb_may_pull test.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "60063497a95e716c9a689af3be2687d261f115b4",
      "tree": "6ce0d68db76982c53df46aee5f29f944ebf2c320",
      "parents": [
        "148817ba092f9f6edd35bad3c6c6b8e8f90fe2ed"
      ],
      "author": {
        "name": "Arun Sharma",
        "email": "asharma@fb.com",
        "time": "Tue Jul 26 16:09:06 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 26 16:49:47 2011 -0700"
      },
      "message": "atomic: use \u003clinux/atomic.h\u003e\n\nThis allows us to move duplicated code in \u003casm/atomic.h\u003e\n(atomic_inc_not_zero() for now) to \u003clinux/atomic.h\u003e\n\nSigned-off-by: Arun Sharma \u003casharma@fb.com\u003e\nReviewed-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nCc: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nAcked-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "dcfe1421c916345b068f43749263b94270324500",
      "tree": "3a23960235eed24754b9775c85ff2e50ffc367bb",
      "parents": [
        "80f1ff97d0a9d92f44d2b2dd9425afa950e58f2b"
      ],
      "author": {
        "name": "Amerigo Wang",
        "email": "amwang@redhat.com",
        "time": "Mon Jul 25 17:13:09 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 25 20:57:14 2011 -0700"
      },
      "message": "notifiers: net: move netdevice notifiers into netdevice.h\n\nIt is not necessary to share the same notifier.h.\n\nSigned-off-by: WANG Cong \u003camwang@redhat.com\u003e\nAcked-by: David Miller \u003cdavem@davemloft.net\u003e\nCc: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2d348d1f569f051d2609b04d27bb55cd25eda8fe",
      "tree": "877e13a3ae4ac76c7a64911c10f5600a314e56ab",
      "parents": [
        "48daec034b2669c634983d0435beac41190b4c91"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Mon Jul 25 16:17:35 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 25 16:17:35 2011 -0700"
      },
      "message": "net: Convert struct net_device uc_promisc to bool\n\nNo need to use int, its uses are boolean.\nMay save a few bytes one day.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e3dbc46c2a62688d1aaa1f7291a054fb2b502849",
      "tree": "adae15d02aeba9c3f2430702a4161be01c4046b5",
      "parents": [
        "ebbf9295b17ed605f31f45d9269adb216be3a181"
      ],
      "author": {
        "name": "Choi, Jong-Hwan",
        "email": "jhbird.choi@samsung.com",
        "time": "Wed Jul 20 20:33:03 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 21 20:39:47 2011 -0700"
      },
      "message": "net: Kobj and queues_kset should be used when CONFIG_XPS is enabled\n\nKobj and queues_kset are used with CONFIG_XPS\u003dy.\n\nSigned-off-by: Choi, Jong-Hwan \u003cjhbird.choi@samsung.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7890a5b9cbfd159c81ffd7866b5b2d4425886e7f",
      "tree": "cd8167fd420387af1144c4ae0920175c741ea46a",
      "parents": [
        "4f7a4505f8356a739b13e55e964a7f4dc43a1633"
      ],
      "author": {
        "name": "Jiri Pirko",
        "email": "jpirko@redhat.com",
        "time": "Wed Jul 20 04:54:48 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 21 13:47:58 2011 -0700"
      },
      "message": "vlan: kill ndo_vlan_rx_register\n\nhas no users so remove it\n\nSigned-off-by: Jiri Pirko \u003cjpirko@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "033b1142f4bd44a116d1356fe4a0510437ceddf9",
      "tree": "d2a971a7dc9f3a1af8035e38419c4c4ad8c22632",
      "parents": [
        "f5caadbb3d8fc0b71533e880c684b2230bdb76ac",
        "e6625fa48e6580a74b7e700efd7e6463e282810b"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 21 13:38:42 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 21 13:38:42 2011 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tnet/bluetooth/l2cap_core.c\n"
    },
    {
      "commit": "b23b5455b6458920179a1f27513ce42e70d11f37",
      "tree": "d7bd2c13199485c2504d6b315d451cebba6978ae",
      "parents": [
        "47ec132a40d788d45e2f088545dea68798034dab"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 16 17:45:02 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 16 17:45:02 2011 -0700"
      },
      "message": "neigh: Kill hh_cache-\u003ehh_output\n\nIt\u0027s just taking on one of two possible values, either\nneigh_ops-\u003eoutput or dev_queue_xmit().  And this is purely depending\nupon whether nud_state has NUD_CONNECTED set or not.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "62f2a3a48bdc99822a24356e667e52c30df287c9",
      "tree": "acad792fc90ac7d55974729f3b591e75b0f591dd",
      "parents": [
        "b73c43f884b1b26ef8e824a33f3924f92e493c11"
      ],
      "author": {
        "name": "Michał Mirosław",
        "email": "mirq-linux@rere.qmqm.pl",
        "time": "Wed Jul 13 14:10:29 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 14 15:18:49 2011 -0700"
      },
      "message": "net: remove NETIF_F_ALL_TX_OFFLOADS\n\nThere is no software fallback implemented for SCTP or FCoE checksumming,\nand so it should not be passed on by software devices like bridge or bonding.\n\nFor VLAN devices, this is different. First, the driver for underlying device\nshould be prepared to get offloaded packets even when the feature is disabled\n(especially if it advertises it in vlan_features). Second, devices under\nVLANs do not get replaced without tearing down the VLAN first.\n\nThis fixes a mess I accidentally introduced while converting bonding to\nndo_fix_features.\n\nNETIF_F_SOFT_FEATURES are removed from BOND_VLAN_FEATURES because they\nare unused as of commit 712ae51afd.\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": "fec30c33819b442fd618b10f405248ee7cbb51d8",
      "tree": "df331b34b872ba3a9d0619bf09181306872f0917",
      "parents": [
        "1180e7d6599c1fb0c56a23a649a3eb37d877b9d0"
      ],
      "author": {
        "name": "Michał Mirosław",
        "email": "mirq-linux@rere.qmqm.pl",
        "time": "Wed Jul 13 14:10:30 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 14 14:44:32 2011 -0700"
      },
      "message": "net: unexport netdev_fix_features()\n\nIt is not used anywhere except net/core/dev.c now.\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": "f6b72b6217f8c24f2a54988e58af858b4e66024d",
      "tree": "c59d5adcf9bb226db6f602c5078106052524cfea",
      "parents": [
        "390fd0b388e4f85549e5d60bdeb21364b344d9b9"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 14 07:53:20 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 14 07:53:20 2011 -0700"
      },
      "message": "net: Embed hh_cache inside of struct neighbour.\n\nNow that there is a one-to-one correspondance between neighbour\nand hh_cache entries, we no longer need:\n\n1) dynamic allocation\n2) attachment to dst-\u003ehh\n3) refcounting\n\nInitialization of the hh_cache entry is indicated by hh_len\nbeing non-zero, and such initialization is always done with\nthe neighbour\u0027s lock held as a writer.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5c25f686db352082eef8daa21b760192351a023a",
      "tree": "20b1d6797b0d9d6757e2e367ceb6cc4fe866acbe",
      "parents": [
        "e69dd336ee3a05a589629b505b18ba5e7a5b4c54"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 13 00:51:10 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 13 02:29:59 2011 -0700"
      },
      "message": "net: Kill support for multiple hh_cache entries per neighbour\n\nThis never, ever, happens.\n\nNeighbour entries are always tied to one address family, and therefore\none set of dst_ops, and therefore one dst_ops-\u003eprotocol \"hh_type\"\nvalue.\n\nThis capability was blindly imported by Alexey Kuznetsov when he wrote\nthe neighbour layer.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e69dd336ee3a05a589629b505b18ba5e7a5b4c54",
      "tree": "ce221d370029164d5ea498ab0da50672d03a5b0e",
      "parents": [
        "3769cffb1c48f64640ffab7ce3bffe867342c0f0"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 12 23:28:12 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 13 02:29:59 2011 -0700"
      },
      "message": "net: Push protocol type directly down to header_ops-\u003ecache()\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e2270ea62ae4d7a47d6d72942cdb8c669be6357a",
      "tree": "3042f8e18df5d725a538ea4335253c6cdebb0073",
      "parents": [
        "b691347a92e12e0bf19fe500eb23cf0363f2ecd5"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 12 10:37:21 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 12 12:28:58 2011 -0700"
      },
      "message": "netdevice: Kill \u0027feature\u0027 test macros.\n\nAlmost all of these have long outstayed their welcome.\n\nAnd for every one of these macros, there are 10 features for which we\ndidn\u0027t add macros.\n\nLet\u0027s just delete them all, and get out of habit of doing things this\nway.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\nAcked-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nAcked-by: Arnd Bergmann \u003carnd@arndb.de\u003e\n"
    },
    {
      "commit": "b7f080cfe223b3b7424872639d153695615a9255",
      "tree": "605390854789a6ba53e6813ffc69a948a0466530",
      "parents": [
        "4003b65871c101eb5ce8f37a325feac54aa5c681"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Thu Jun 16 11:01:34 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 21 19:17:20 2011 -0700"
      },
      "message": "net: remove mm.h inclusion from netdevice.h\n\nRemove linux/mm.h inclusion from netdevice.h -- it\u0027s unused (I\u0027ve checked manually).\n\nTo prevent mm.h inclusion via other channels also extract \"enum dma_data_direction\"\ndefinition into separate header. This tiny piece is what gluing netdevice.h with mm.h\nvia \"netdevice.h \u003d\u003e dmaengine.h \u003d\u003e dma-mapping.h \u003d\u003e scatterlist.h \u003d\u003e mm.h\".\nRemoval of mm.h from scatterlist.h was tried and was found not feasible\non most archs, so the link was cutoff earlier.\n\nHope people are OK with tiny include file.\n\nNote, that mm_types.h is still dragged in, but it is a separate story.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9f6ec8d697c08963d83880ccd35c13c5ace716ea",
      "tree": "ad8d93cf6fcdd09b86ade09f5fcbbc66cdb1cca2",
      "parents": [
        "4aa3a715551c93eda32d79bd52042ce500bd5383",
        "56299378726d5f2ba8d3c8cbbd13cb280ba45e4f"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 20 22:29:08 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 20 22:29:08 2011 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tdrivers/net/wireless/iwlwifi/iwl-agn-rxon.c\n\tdrivers/net/wireless/rtlwifi/pci.c\n\tnet/netfilter/ipvs/ip_vs_core.c\n"
    },
    {
      "commit": "bff55273f98dea0ceb78e28eb69462fe5f72ef3d",
      "tree": "cb62da1fe759ed2f777281d14af6b683eb4d5d44",
      "parents": [
        "c0c33addcba2ce753b4e2746db99feaae2f82a85"
      ],
      "author": {
        "name": "Alexander Duyck",
        "email": "alexander.h.duyck@intel.com",
        "time": "Wed Jun 08 12:35:08 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jun 08 16:45:31 2011 -0700"
      },
      "message": "v2 ethtool: remove support for ETHTOOL_GRXNTUPLE\n\nThis change is meant to remove all support for displaying an ntuple as\nstrings via ETHTOOL_GRXNTUPLE.  The reason for this change is due to the\nfact that multiple issues have been found including:\n - Multiple buffer overruns for strings being displayed.\n - Incorrect filters displayed, cleared filters with ring of -2 are displayed\n - Setting get_rx_ntuple displays no rules if defined.\n - Endianess wrong on displayed values.\n - Hard limit of 1024 filters makes display functionality extremely limited\n\nThe only driver that had supported this interface was ixgbe.  Since it no\nlonger uses the interface and due to the issues mentioned above I am\nsubmitting this patch to remove it.\n\nv2:\nUpdated based on comments from Ben Hutchings\n - Left ETH_SS_NTUPLE_FILTERS in code but commented on it being deprecated\n - Removed ethtool_rx_ntuple_list and ethtool_rx_ntuple_flow_spec_container\n - Left ETHTOOL_GRXNTUPLE but commented it as deprecated\n\nAlso cleaned up set_rx_ntuple since there is no flow spec container to\nmaintain we can drop all the code for the alloc and free of it and just\nreturn ops-\u003eset_rx_ntuple().\nSigned-off-by: Alexander Duyck \u003calexander.h.duyck@intel.com\u003e\nAcked-by: Ben Hutchings \u003cbhutchings@solarflare.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a6b7a407865aab9f849dd99a71072b7cd1175116",
      "tree": "42995f2e25b777e8930b5ac180599f8d4e655df6",
      "parents": [
        "aedfebbaa7a4883dc568d8d32b7b32a0f9833f41"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Mon Jun 06 10:43:46 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 06 22:55:11 2011 -0700"
      },
      "message": "net: remove interrupt.h inclusion from netdevice.h\n\n* remove interrupt.g inclusion from netdevice.h -- not needed\n* fixup fallout, add interrupt.h and hardirq.h back where needed.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3019de124b9f5b1526cb3668b74af14371e21795",
      "tree": "3b4fd5843b61f3a860824ec38827cf0256620eed",
      "parents": [
        "5a079c305ad4dda9708b7a29db4a8bd38e21c3a6"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 06 16:41:33 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 06 16:41:33 2011 -0700"
      },
      "message": "net: Rework netdev_drivername() to avoid warning.\n\nThis interface uses a temporary buffer, but for no real reason.\nAnd now can generate warnings like:\n\nnet/sched/sch_generic.c: In function dev_watchdog\nnet/sched/sch_generic.c:254:10: warning: unused variable drivername\n\nJust return driver-\u003ename directly or \"\".\n\nReported-by: Connor Hansen \u003ccmdkhh@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "449f4544267e73d5db372971da63634707c32299",
      "tree": "acee6de13f34c179ec46ef7f8a49e66b229f4460",
      "parents": [
        "034cfe48d0efc248ba4b725e3a94b95e76fbc5d3"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu May 19 12:24:16 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri May 20 00:33:18 2011 -0400"
      },
      "message": "macvlan: remove one synchronize_rcu() call\n\nWhen one macvlan device is dismantled, we can avoid one\nsynchronize_rcu() call done after deletion from hash list, since caller\nwill perform a synchronize_net() call after its ndo_stop() call.\n\nAdd a new netdev-\u003edismantle field to signal this dismantle intent.\n\nReduces RTNL hold time.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCC: Patrick McHardy \u003ckaber@trash.net\u003e\nCC: Ben Greear \u003cgreearb@candelatech.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bdc220da3209d50b8c295490dec94845c88670a2",
      "tree": "00113e90fecf388f084622380774c0b175728954",
      "parents": [
        "72a8f97bf2dfe1b0f02ba8dbaed7d6b76657aae3"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Mon May 09 17:42:46 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri May 13 14:07:23 2011 -0400"
      },
      "message": "netdevice.h: Align struct net_device members\n\nSave a bit of space.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "afe12cc86b0ba545a01ad8716539ab07ab6e9e89",
      "tree": "edaa2912ae3acab49be8cfbfc75b689fdccd31f3",
      "parents": [
        "6c60408e33aba6d1d7241bc9be3b8d1b39509291"
      ],
      "author": {
        "name": "Michał Mirosław",
        "email": "mirq-linux@rere.qmqm.pl",
        "time": "Sat May 07 03:22:17 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 12 18:40:56 2011 -0400"
      },
      "message": "net: introduce netdev_change_features()\n\nIt will be needed by bonding and other drivers changing vlan_features\nafter ndo_init callback.\n\nAs a bonus, this includes kernel-doc for netdev_update_features().\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": "7f267051bd7a280265b1b5ead58e9c6e4e1ac3a4",
      "tree": "79b2412e7ccfcdb4ad09d5001efae28c77b28de3",
      "parents": [
        "f0a619ccfb8a2ec8ff083a02299cfd076c362b27"
      ],
      "author": {
        "name": "Yi Zou",
        "email": "yi.zou@intel.com",
        "time": "Mon May 09 11:53:27 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 12 17:54:16 2011 -0400"
      },
      "message": "net: group FCoE related feature flags\n\nMichał Mirosław\u0027s patch (http://patchwork.ozlabs.org/patch/94421/) fixes the\nissue (http://patchwork.ozlabs.org/patch/94188/) about not populating FCoE related\nflags correctly on vlan devices. However, only NETIF_F_FCOE_CRC is part of the\nNETIF_F_ALL_TX_OFFLOADS right now, where weed NETIF_F_FCOE_MTU and NETIF_F_FSO\nas well.\n\nTherefore, add NETIF_F_ALL_FCOE to indicate feature flags used by FCoE TX offloads.\nThese include NETIF_F_FCOE_CRC, NETIF_F_FCOE_MTU, and NETIF_F_FSO and add them to\nbe part of NETIF_F_ALL_TX_OFFLOADS. This would eventually make sure all FCoE needed\nflags are populated properly to vlan devices.\n\nSigned-off-by: Yi Zou \u003cyi.zou@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "eed2a12f1ed9aabf0676f4d0db34aad51976c5c6",
      "tree": "a86d3ff7c6a9840131d38af3dfc907c255bfbd99",
      "parents": [
        "47a0200d535f08ac8f784a709c48995ca0b10288"
      ],
      "author": {
        "name": "Mahesh Bandewar",
        "email": "maheshb@google.com",
        "time": "Wed May 04 15:30:11 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 08 15:59:12 2011 -0700"
      },
      "message": "net: Allow ethtool to set interface in loopback mode.\n\nThis patch enables ethtool to set the loopback mode on a given interface.\nBy configuring the interface in loopback mode in conjunction with a policy\nroute / rule, a userland application can stress the egress / ingress path\nexposing the flows of the change in progress and potentially help developer(s)\nunderstand the impact of those changes without even sending a packet out\non the network.\n\nFollowing set of commands illustrates one such example -\n    a) ip -4 addr add 192.168.1.1/24 dev eth1\n    b) ip -4 rule add from all iif eth1 lookup 250\n    c) ip -4 route add local 0/0 dev lo proto kernel scope host table 250\n    d) arp -Ds 192.168.1.100 eth1\n    e) arp -Ds 192.168.1.200 eth1\n    f) sysctl -w net.ipv4.ip_nonlocal_bind\u003d1\n    g) sysctl -w net.ipv4.conf.all.accept_local\u003d1\n    # Assuming that the machine has 8 cores\n    h) taskset 000f netserver -L 192.168.1.200\n    i) taskset 00f0 netperf -t TCP_CRR -L 192.168.1.100 -H 192.168.1.200 -l 30\n\nSigned-off-by: Mahesh Bandewar \u003cmaheshb@google.com\u003e\nAcked-by: Ben Hutchings \u003cbhutchings@solarflare.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8ae6daca85c8bbd6a32c382db5e2a2a989f8bed2",
      "tree": "0c85476c2af6568c3d3a73a960d582d2f91a1256",
      "parents": [
        "36504605432996590f889e33d47e2d9c581f7569"
      ],
      "author": {
        "name": "David Decotigny",
        "email": "decot@google.com",
        "time": "Wed Apr 27 18:32:38 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Apr 29 14:01:30 2011 -0700"
      },
      "message": "ethtool: Call ethtool\u0027s get/set_settings callbacks with cleaned data\n\nThis makes sure that when a driver calls the ethtool\u0027s\nget/set_settings() callback of another driver, the data passed to it\nis clean. This guarantees that speed_hi will be zeroed correctly if\nthe called callback doesn\u0027t explicitely set it: we are sure we don\u0027t\nget a corrupted speed from the underlying driver. We also take care of\nsetting the cmd field appropriately (ETHTOOL_GSET/SSET).\n\nThis applies to dev_ethtool_get_settings(), which now makes sure it\nsets up that ethtool command parameter correctly before passing it to\ndrivers. This also means that whoever calls dev_ethtool_get_settings()\ndoes not have to clean the ethtool command parameter. This function\nalso becomes an exported symbol instead of an inline.\n\nAll drivers visible to make allyesconfig under x86_64 have been\nupdated.\n\nSigned-off-by: David Decotigny \u003cdecot@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fa2bd7ff9247f4218dfc907db14d000cd7edd862",
      "tree": "f84f98aa2a87b308589a814892e2a3503a7d689f",
      "parents": [
        "c4d27ef957cd9261c0bc8488edaf8390e412cd35"
      ],
      "author": {
        "name": "Michał Mirosław",
        "email": "mirq-linux@rere.qmqm.pl",
        "time": "Fri Apr 22 06:31:16 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 28 13:33:08 2011 -0700"
      },
      "message": "net: allow user to change NETIF_F_HIGHDMA\n\nNETIF_F_HIGHDMA is like any other TX offloads, so allow user to toggle it.\nThis is needed later for bridge and bonding convertsion to hw_features.\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": "1742f183fc218798dab6fcf0ded25b6608fc0a48",
      "tree": "47910c74f188e8dc9eb4fbefba01a1cf29de9965",
      "parents": [
        "96339d6c490a32de35fa798ca7922d13a8538ecd"
      ],
      "author": {
        "name": "Michał Mirosław",
        "email": "mirq-linux@rere.qmqm.pl",
        "time": "Fri Apr 22 06:31:16 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 28 13:33:07 2011 -0700"
      },
      "message": "net: fix netdev_increment_features()\n\nSimplify and fix netdev_increment_features() to conform to what is\nstated in netdevice.h comments about NETIF_F_ONE_FOR_ALL.\nInclude FCoE segmentation and VLAN-challedged flags in computation.\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": "0a14842f5a3c0e88a1e59fac5c3025db39721f74",
      "tree": "4d0832c4c9ced2503e2d899eb56952f87511d4ab",
      "parents": [
        "b678027cb77b079bc8e5b94172995d173bdb494b"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Apr 20 09:27:32 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 27 23:05:08 2011 -0700"
      },
      "message": "net: filter: Just In Time compiler for x86-64\n\nIn order to speedup packet filtering, here is an implementation of a\nJIT compiler for x86_64\n\nIt is disabled by default, and must be enabled by the admin.\n\necho 1 \u003e/proc/sys/net/core/bpf_jit_enable\n\nIt uses module_alloc() and module_free() to get memory in the 2GB text\nkernel range since we call helpers functions from the generated code.\n\nEAX : BPF A accumulator\nEBX : BPF X accumulator\nRDI : pointer to skb   (first argument given to JIT function)\nRBP : frame pointer (even if CONFIG_FRAME_POINTER\u003dn)\nr9d : skb-\u003elen - skb-\u003edata_len (headlen)\nr8  : skb-\u003edata\n\nTo get a trace of generated code, use :\n\necho 2 \u003e/proc/sys/net/core/bpf_jit_enable\n\nExample of generated code :\n\n# tcpdump -p -n -s 0 -i eth1 host 192.168.20.0/24\n\nflen\u003d18 proglen\u003d147 pass\u003d3 image\u003dffffffffa00b5000\nJIT code: ffffffffa00b5000: 55 48 89 e5 48 83 ec 60 48 89 5d f8 44 8b 4f 60\nJIT code: ffffffffa00b5010: 44 2b 4f 64 4c 8b 87 b8 00 00 00 be 0c 00 00 00\nJIT code: ffffffffa00b5020: e8 24 7b f7 e0 3d 00 08 00 00 75 28 be 1a 00 00\nJIT code: ffffffffa00b5030: 00 e8 fe 7a f7 e0 24 00 3d 00 14 a8 c0 74 49 be\nJIT code: ffffffffa00b5040: 1e 00 00 00 e8 eb 7a f7 e0 24 00 3d 00 14 a8 c0\nJIT code: ffffffffa00b5050: 74 36 eb 3b 3d 06 08 00 00 74 07 3d 35 80 00 00\nJIT code: ffffffffa00b5060: 75 2d be 1c 00 00 00 e8 c8 7a f7 e0 24 00 3d 00\nJIT code: ffffffffa00b5070: 14 a8 c0 74 13 be 26 00 00 00 e8 b5 7a f7 e0 24\nJIT code: ffffffffa00b5080: 00 3d 00 14 a8 c0 75 07 b8 ff ff 00 00 eb 02 31\nJIT code: ffffffffa00b5090: c0 c9 c3\n\nBPF program is 144 bytes long, so native program is almost same size ;)\n\n(000) ldh      [12]\n(001) jeq      #0x800           jt 2    jf 8\n(002) ld       [26]\n(003) and      #0xffffff00\n(004) jeq      #0xc0a81400      jt 16   jf 5\n(005) ld       [30]\n(006) and      #0xffffff00\n(007) jeq      #0xc0a81400      jt 16   jf 17\n(008) jeq      #0x806           jt 10   jf 9\n(009) jeq      #0x8035          jt 10   jf 17\n(010) ld       [28]\n(011) and      #0xffffff00\n(012) jeq      #0xc0a81400      jt 16   jf 13\n(013) ld       [38]\n(014) and      #0xffffff00\n(015) jeq      #0xc0a81400      jt 16   jf 17\n(016) ret      #65535\n(017) ret      #0\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@infradead.org\u003e\nCc: Ben Hutchings \u003cbhutchings@solarflare.com\u003e\nCc: Hagen Paul Pfeifer \u003chagen@jauu.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1aac62671686e6234c91b5f6fc4caaa850419d5d",
      "tree": "f265c06caa7cf513a06b07726be29090210c0d29",
      "parents": [
        "6d95ff974a4b51121777973ffba7547c648da974"
      ],
      "author": {
        "name": "Michał Mirosław",
        "email": "mirq-linux@rere.qmqm.pl",
        "time": "Tue Apr 12 04:07:39 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 12 14:54:24 2011 -0700"
      },
      "message": "net: vlan_features comment clarification\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": "c6e1a0d12ca7b4f22c58e55a16beacfb7d3d8462",
      "tree": "6955c20538050329d0bdffdf24a787507ae6fdf1",
      "parents": [
        "14f98f258f1936e0dba77474bd7eda63f61a9826"
      ],
      "author": {
        "name": "Tom Herbert",
        "email": "therbert@google.com",
        "time": "Mon Apr 04 22:30:30 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Apr 04 22:30:30 2011 -0700"
      },
      "message": "net: Allow no-cache copy from user on transmit\n\nThis patch uses __copy_from_user_nocache on transmit to bypass data\ncache for a performance improvement.  skb_add_data_nocache and\nskb_copy_to_page_nocache can be called by sendmsg functions to use\nthis feature, initial support is in tcp_sendmsg.  This functionality is\nconfigurable per device using ethtool.\n\nPresumably, this feature would only be useful when the driver does\nnot touch the data.  The feature is turned on by default if a device\nindicates that it does some form of checksum offload; it is off by\ndefault for devices that do no checksum offload or indicate no checksum\nis necessary.  For the former case copy-checksum is probably done\nanyway, in the latter case the device is likely loopback in which case\nthe no cache copy is probably not beneficial.\n\nThis patch was tested using 200 instances of netperf TCP_RR with\n1400 byte request and one byte reply.  Platform is 16 core AMD x86.\n\nNo-cache copy disabled:\n   672703 tps, 97.13% utilization\n   50/90/99% latency:244.31 484.205 1028.41\n\nNo-cache copy enabled:\n   702113 tps, 96.16% utilization,\n   50/90/99% latency 238.56 467.56 956.955\n\nUsing 14000 byte request and response sizes demonstrate the\neffects more dramatically:\n\nNo-cache copy disabled:\n   79571 tps, 34.34 %utlization\n   50/90/95% latency 1584.46 2319.59 5001.76\n\nNo-cache copy enabled:\n   83856 tps, 34.81% utilization\n   50/90/95% latency 2508.42 2622.62 2735.88\n\nNote especially the effect on latency tail (95th percentile).\n\nThis seems to provide a nice performance improvement and is\nconsistent in the tests I ran.  Presumably, this would provide\nthe greatest benfits in the presence of an application workload\nstressing the cache and a lot of transmit data happening.\n\nSigned-off-by: Tom Herbert \u003ctherbert@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "083dd8b8aacfcb62d65fb53ec744090879dd8150",
      "tree": "d48017ad6caa13f5a31c23186b16c36a84776c49",
      "parents": [
        "95b8fbada76d978ce13a26785f8b85ff54478bb2",
        "a14b289d4614bb3b25d0455d68f72f3c7b4cc8e8"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Apr 04 10:39:12 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Apr 04 10:39:12 2011 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n"
    },
    {
      "commit": "6cb6a27c45cec9184302c2e350b3593c64bc7f6c",
      "tree": "1338b3838588ce4c28b71c4e611db51eea53e89b",
      "parents": [
        "e9403c8437cf3721e7901c1a8fcb06bb642a7e55"
      ],
      "author": {
        "name": "Michał Mirosław",
        "email": "mirq-linux@rere.qmqm.pl",
        "time": "Sat Apr 02 22:48:47 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Apr 02 22:48:47 2011 -0700"
      },
      "message": "net: Call netdev_features_change() from netdev_update_features()\n\nIssue FEAT_CHANGE notification when features are changed by\nnetdev_update_features().  This will allow changes made by extra constraints\non e.g. MTU change to be properly propagated like changes via ethtool.\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": "4dd5ffe4fc36128dc86568ddeaeae359e6037762",
      "tree": "a1d36b66e8125ce9778ab96fedce028c78654c21",
      "parents": [
        "c261344d3ce3edac781f9d3c7eabe2e96d8e8fe8"
      ],
      "author": {
        "name": "Michał Mirosław",
        "email": "mirq-linux@rere.qmqm.pl",
        "time": "Wed Mar 30 23:58:08 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Apr 01 20:23:25 2011 -0700"
      },
      "message": "net: Fix dev dev_ethtool_get_rx_csum() for forced NETIF_F_RXCSUM\n\ndev_ethtool_get_rx_csum() won\u0027t report rx checksumming when it\u0027s not\nchangeable and driver is converted to hw_features and friends. Fix this.\n\n(dev-\u003ehw_features \u0026 NETIF_F_RXCSUM) check is dropped - if the\nethtool_ops-\u003eget_rx_csum is set, then driver is not coverted, yet.\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": "8a4eb5734e8d1dc60a8c28576bbbdfdcc643626d",
      "tree": "ed4cd2f9a2a04a30994a8f8964a81834c895c0c9",
      "parents": [
        "2d7011ca79f1a8792e04d131b8ea21db179ab917"
      ],
      "author": {
        "name": "Jiri Pirko",
        "email": "jpirko@redhat.com",
        "time": "Sat Mar 12 03:14:39 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 16 12:53:54 2011 -0700"
      },
      "message": "net: introduce rx_handler results and logic around that\n\nThis patch allows rx_handlers to better signalize what to do next to\nit\u0027s caller. That makes skb-\u003edeliver_no_wcard no longer needed.\n\nkernel-doc for rx_handler_result is taken from Nicolas\u0027 patch.\n\nSigned-off-by: Jiri Pirko \u003cjpirko@redhat.com\u003e\nReviewed-by: Nicolas de Pesloüan \u003cnicolas.2p.debian@free.fr\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e9bce845c0cee1a492e5cee6a827ae71140fe8b3",
      "tree": "57cfe50f8aa501062ecb7cca694a74eba4797efa",
      "parents": [
        "e2444d92083cc1ceb07487425897d6d51a13e9dd"
      ],
      "author": {
        "name": "Yi Zou",
        "email": "yi.zou@intel.com",
        "time": "Wed Mar 09 08:48:03 2011 +0000"
      },
      "committer": {
        "name": "Jeff Kirsher",
        "email": "jeffrey.t.kirsher@intel.com",
        "time": "Fri Mar 11 01:17:50 2011 -0800"
      },
      "message": "net: add proper documentation for previously added net_device_ops for FCoE\n\nAdd proper documentation for previously added net_device_ops ops for FCoE.\n\nSigned-off-by: Yi Zou \u003cyi.zou@intel.com\u003e\nSigned-off-by: Jeff Kirsher \u003cjeffrey.t.kirsher@intel.com\u003e\n"
    },
    {
      "commit": "33175d84ee3fa29991adb80513683e010769e807",
      "tree": "3731f61cf82451b6892cf1368701e57e35d92908",
      "parents": [
        "c5908939b2738bafe1b309bc2465cb9f2e6184c5",
        "6dfbd87a20a737641ef228230c77f4262434fa24"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 10 14:26:00 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 10 14:26:00 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/bnx2x/bnx2x_cmn.c\n"
    },
    {
      "commit": "8909c9ad8ff03611c9c96c9a92656213e4bb495b",
      "tree": "10b023c05503a9f6a165a23b8e65d8f3e70fd42d",
      "parents": [
        "a5abba989deceb731047425812d268daf7536575"
      ],
      "author": {
        "name": "Vasiliy Kulikov",
        "email": "segoon@openwall.com",
        "time": "Wed Mar 02 00:33:13 2011 +0300"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Mar 10 10:25:19 2011 +1100"
      },
      "message": "net: don\u0027t allow CAP_NET_ADMIN to load non-netdev kernel modules\n\nSince a8f80e8ff94ecba629542d9b4b5f5a8ee3eb565c any process with\nCAP_NET_ADMIN may load any module from /lib/modules/.  This doesn\u0027t mean\nthat CAP_NET_ADMIN is a superset of CAP_SYS_MODULE as modules are\nlimited to /lib/modules/**.  However, CAP_NET_ADMIN capability shouldn\u0027t\nallow anybody load any module not related to networking.\n\nThis patch restricts an ability of autoloading modules to netdev modules\nwith explicit aliases.  This fixes CVE-2011-1019.\n\nArnd Bergmann suggested to leave untouched the old pre-v2.6.32 behavior\nof loading netdev modules by name (without any prefix) for processes\nwith CAP_SYS_MODULE to maintain the compatibility with network scripts\nthat use autoloading netdev modules by aliases like \"eth0\", \"wlan0\".\n\nCurrently there are only three users of the feature in the upstream\nkernel: ipip, ip_gre and sit.\n\n    root@albatros:~# capsh --drop\u003d$(seq -s, 0 11),$(seq -s, 13 34) --\n    root@albatros:~# grep Cap /proc/$$/status\n    CapInh:\t0000000000000000\n    CapPrm:\tfffffff800001000\n    CapEff:\tfffffff800001000\n    CapBnd:\tfffffff800001000\n    root@albatros:~# modprobe xfs\n    FATAL: Error inserting xfs\n    (/lib/modules/2.6.38-rc6-00001-g2bf4ca3/kernel/fs/xfs/xfs.ko): Operation not permitted\n    root@albatros:~# lsmod | grep xfs\n    root@albatros:~# ifconfig xfs\n    xfs: error fetching interface information: Device not found\n    root@albatros:~# lsmod | grep xfs\n    root@albatros:~# lsmod | grep sit\n    root@albatros:~# ifconfig sit\n    sit: error fetching interface information: Device not found\n    root@albatros:~# lsmod | grep sit\n    root@albatros:~# ifconfig sit0\n    sit0      Link encap:IPv6-in-IPv4\n\t      NOARP  MTU:1480  Metric:1\n\n    root@albatros:~# lsmod | grep sit\n    sit                    10457  0\n    tunnel4                 2957  1 sit\n\nFor CAP_SYS_MODULE module loading is still relaxed:\n\n    root@albatros:~# grep Cap /proc/$$/status\n    CapInh:\t0000000000000000\n    CapPrm:\tffffffffffffffff\n    CapEff:\tffffffffffffffff\n    CapBnd:\tffffffffffffffff\n    root@albatros:~# ifconfig xfs\n    xfs: error fetching interface information: Device not found\n    root@albatros:~# lsmod | grep xfs\n    xfs                   745319  0\n\nReference: https://lkml.org/lkml/2011/2/24/203\n\nSigned-off-by: Vasiliy Kulikov \u003csegoon@openwall.com\u003e\nSigned-off-by: Michael Tokarev \u003cmjt@tls.msk.ru\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nAcked-by: Kees Cook \u003ckees.cook@canonical.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "6247e086188dd2ba5bfd64f9a876fe42b0cf39fb",
      "tree": "5f31335117dcc07b5255527145fb068e7f6e298d",
      "parents": [
        "90827996c59135b73e54463dac38710d5ddf1d2a"
      ],
      "author": {
        "name": "Yi Zou",
        "email": "yi.zou@intel.com",
        "time": "Tue Feb 01 07:22:06 2011 +0000"
      },
      "committer": {
        "name": "Jeff Kirsher",
        "email": "jeffrey.t.kirsher@intel.com",
        "time": "Mon Mar 07 18:00:17 2011 -0800"
      },
      "message": "net: add ndo_fcoe_ddp_target() to support FCoE DDP in target mode\n\nThe Fiber Channel over Ethernet (FCoE) Direct Data Placement (DDP) can also be\nused for FCoE target, where the DDP used for read I/O on an initiator can be\nused on an FCoE target to speed up the write I/O to the target from the initiator.\nThe added ndo_fcoe_ddp_target() works in the similar way as the existing\nndo_fcoe_ddp_setup() to allow the underlying hardware set up the DDP context\naccordingly when it gets called from the FCoE target implementation on top\nthe existing Open-FCoE fcoe/libfc protocol stack so without losing the ability\nto provide DDP for read I/O as an initiator, it can also provide DDP offload\nto the write I/O coming from the initiator as a target.\n\nSigned-off-by: Yi Zou \u003cyi.zou@intel.com\u003e\nSigned-off-by: Kiran Patil \u003ckiran.patil@intel.com\u003e\nTested-by: Kavindya Deegala \u003ckavindya.s.deegala@intel.com\u003e\nSigned-off-by: Jeff Kirsher \u003cjeffrey.t.kirsher@intel.com\u003e\n"
    },
    {
      "commit": "256ee435b9a9ee9cca69602fe8046b27ca99fbee",
      "tree": "0e90c08094633ec0df36b2ec93004dd3d261837f",
      "parents": [
        "b8cec4a415e807a2f8679efa89558a040a7003de"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Tue Mar 01 07:06:12 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 07 12:34:01 2011 -0800"
      },
      "message": "netdevice: Convert printk to pr_info in netif_tx_stop_queue\n\nThis allows any caller to be prefaced by any specific\npr_fmt to better identify which device driver is using\nthis function inappropriately.\n\nAdd terminating newline.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "23b41168fc942a4a041325a04ecc1bd17d031a3e",
      "tree": "69be018c5d2eae4538f622541d016346e331657e",
      "parents": [
        "5bfa787fb2c29cce0722500f90df29e049ff07fc"
      ],
      "author": {
        "name": "Vlad Dogaru",
        "email": "ddvlad@rosedu.org",
        "time": "Sat Feb 26 22:39:12 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 02 21:55:52 2011 -0800"
      },
      "message": "netdevice: make initial group visible to userspace\n\nINIT_NETDEV_GROUP is needed by userspace, move it outside __KERNEL__\nguards.\n\nSigned-off-by: Vlad Dogaru \u003cddvlad@rosedu.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e83d360d9a7e5d71d55c13e96b19109a2ea23bf0",
      "tree": "04e4971ad73ade44eb86671851d568e494abe6e4",
      "parents": [
        "da8ac86c4a56a14bf8deea7d2f92d0a453c67f91"
      ],
      "author": {
        "name": "Michał Mirosław",
        "email": "mirq-linux@rere.qmqm.pl",
        "time": "Tue Feb 15 16:59:18 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Feb 17 14:16:35 2011 -0800"
      },
      "message": "net: introduce NETIF_F_RXCSUM\n\nIntroduce NETIF_F_RXCSUM to replace device-private flags for RX checksum\noffload. Integrate it with ndo_fix_features.\n\nethtool_op_get_rx_csum() is removed altogether as nothing in-tree uses it.\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": "5455c6998d34dc983a8693500e4dffefc3682dc5",
      "tree": "b765aecf6d33d8c550cde78368ccc8654951ec07",
      "parents": [
        "0a417704777ed29d0e8c72b7274a328e61248e75"
      ],
      "author": {
        "name": "Michał Mirosław",
        "email": "mirq-linux@rere.qmqm.pl",
        "time": "Tue Feb 15 16:59:17 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Feb 17 14:16:33 2011 -0800"
      },
      "message": "net: Introduce new feature setting ops\n\nThis introduces a new framework to handle device features setting.\nIt consists of:\n  - new fields in struct net_device:\n\t+ hw_features - features that hw/driver supports toggling\n\t+ wanted_features - features that user wants enabled, when possible\n  - new netdev_ops:\n\t+ feat \u003d ndo_fix_features(dev, feat) - API checking constraints for\n\t\tenabling features or their combinations\n\t+ ndo_set_features(dev) - API updating hardware state to match\n\t\tchanged dev-\u003efeatures\n  - new ethtool commands:\n\t+ ETHTOOL_GFEATURES/ETHTOOL_SFEATURES: get/set dev-\u003ewanted_features\n\t\tand trigger device reconfiguration if resulting dev-\u003efeatures\n\t\tchanged\n\t+ ETHTOOL_GSTRINGS(ETH_SS_FEATURES): get feature bits names (meaning)\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": "0a417704777ed29d0e8c72b7274a328e61248e75",
      "tree": "2a9cd59d8a58faf0904d503e143547b8aacd63ef",
      "parents": [
        "340ae1654c0667e0cdd2a6d4dc16f7946e018881"
      ],
      "author": {
        "name": "Michał Mirosław",
        "email": "mirq-linux@rere.qmqm.pl",
        "time": "Tue Feb 15 16:59:17 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Feb 17 14:16:33 2011 -0800"
      },
      "message": "ethtool: factorize get/set_one_feature\n\nThis allows to enable GRO even if RX csum is disabled. GRO will not\nbe used for packets without hardware checksum anyway.\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": "212b573f5552c60265da721ff9ce32e3462a2cdd",
      "tree": "b930a91d4d9c84414eca6e13d67bd5dba7c3c1e0",
      "parents": [
        "9a279ea3a77ebcc91b68f0546e7cfa5018a12513"
      ],
      "author": {
        "name": "Michał Mirosław",
        "email": "mirq-linux@rere.qmqm.pl",
        "time": "Tue Feb 15 16:59:16 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Feb 17 14:16:32 2011 -0800"
      },
      "message": "ethtool: enable GSO and GRO by default\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": "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": "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": "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": "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"
    },
    {
      "commit": "1ac9ad1394fa542ac7ae0dc943ee3cda678799fa",
      "tree": "d846be421ed68f4fc612ae7c061783dab73d5fa2",
      "parents": [
        "1949e084bfd143c76e22c0b37f370d6e7bf4bfdd"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Jan 12 12:13:14 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 13 21:44:34 2011 -0800"
      },
      "message": "net: remove dev_txq_stats_fold()\n\nAfter recent changes, (percpu stats on vlan/tunnels...), we dont need\nanymore per struct netdev_queue tx_bytes/tx_packets/tx_dropped counters.\n\nOnly remaining users are ixgbe, sch_teql, gianfar \u0026 macvlan :\n\n1) ixgbe can be converted to use existing tx_ring counters.\n\n2) macvlan incremented txq-\u003etx_dropped, it can use the\ndev-\u003estats.tx_dropped counter.\n\n3) sch_teql : almost revert ab35cd4b8f42 (Use net_device internal stats)\n    Now we have ndo_get_stats64(), use it, even for \"unsigned long\"\nfields (No need to bring back a struct net_device_stats)\n\n4) gianfar adds a stats structure per tx queue to hold\ntx_bytes/tx_packets\n\nThis removes a lockdep warning (and possible lockup) in rndis gadget,\ncalling dev_get_stats() from hard IRQ context.\n\nRef: http://www.spinics.net/lists/netdev/msg149202.html\n\nReported-by: Neil Jones \u003cneiljay@gmail.com\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCC: Jarek Poplawski \u003cjarkao2@gmail.com\u003e\nCC: Alexander Duyck \u003calexander.h.duyck@intel.com\u003e\nCC: Jeff Kirsher \u003cjeffrey.t.kirsher@intel.com\u003e\nCC: Sandeep Gopalpet \u003csandeep.kumar@freescale.com\u003e\nCC: Michal Nazarewicz \u003cmina86@mina86.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "36909ea43814cba34f7c921e99cba33d770a54e1",
      "tree": "294b44411dc7939e152aa1002f9f5fe9868751f6",
      "parents": [
        "91b5c98c2e062f982423686c77b8bf31f37fa196"
      ],
      "author": {
        "name": "Tom Herbert",
        "email": "therbert@google.com",
        "time": "Sun Jan 09 19:36:31 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 10 16:05:30 2011 -0800"
      },
      "message": "net: Add alloc_netdev_mqs function\n\nAdded alloc_netdev_mqs function which allows the number of transmit and\nreceive queues to be specified independenty.  alloc_netdev_mq was\nchanged to a macro to call the new function.  Also added\nalloc_etherdev_mqs with same purpose.\n\nSigned-off-by: Tom Herbert \u003ctherbert@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fc741216db156994c554ac31c1151fe0e00d8f0e",
      "tree": "692c6278f1c20e4452620adee1ea3cd05d878819",
      "parents": [
        "f01a5236bd4b140198fbcc550f085e8361fd73fa"
      ],
      "author": {
        "name": "Jesse Gross",
        "email": "jesse@nicira.com",
        "time": "Sun Jan 09 06:23:32 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jan 09 23:35:34 2011 -0800"
      },
      "message": "net offloading: Pass features into netif_needs_gso().\n\nNow that there is a single function that can compute the device\nfeatures relevant to a packet, we don\u0027t want to run it for each\noffload.  This converts netif_needs_gso() to take the features\nof the device, rather than computing them itself.\n\nSigned-off-by: Jesse Gross \u003cjesse@nicira.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f01a5236bd4b140198fbcc550f085e8361fd73fa",
      "tree": "01d122dcd3aa7e8e1f84f11f74f5c30593a5f850",
      "parents": [
        "9497a0518e8183959e45da05f317f1cb36f2cd7c"
      ],
      "author": {
        "name": "Jesse Gross",
        "email": "jesse@nicira.com",
        "time": "Sun Jan 09 06:23:31 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jan 09 23:35:33 2011 -0800"
      },
      "message": "net offloading: Generalize netif_get_vlan_features().\n\nnetif_get_vlan_features() is currently only used by netif_needs_gso(),\nso it only concerns itself with GSO features.  However, several other\nplaces also should take into account the contents of the packet when\ndeciding whether to offload to hardware.  This generalizes the function\nto return features about all of the various forms of offloading.  Since\noffloads tend to be linked together, this avoids duplicating the logic\nin each location (i.e. the scatter/gather code also needs the checksum\nlogic).\n\nSuggested-by: Michał Mirosław \u003cmirqus@gmail.com\u003e\nSigned-off-by: Jesse Gross \u003cjesse@nicira.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "68763c890eb2a60f9b50a061502f94e0cf20fdfe",
      "tree": "27e759b4a29b2f9fab2c795249faaf7f7559bd95",
      "parents": [
        "9f84f8886b98a9411ee20a10ca390487507037b9"
      ],
      "author": {
        "name": "Michal Simek",
        "email": "monstr@monstr.eu",
        "time": "Sun Jan 02 22:54:09 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 03 12:06:21 2011 -0800"
      },
      "message": "trivial: Fix typo fault in netdevice.h\n\nSigned-off-by: Michal Simek \u003cmonstr@monstr.eu\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b236da6931e2482bfe44a7865dd4e7bb036f3496",
      "tree": "cf383f0fd1d4b1091e60413fe1aa6a054f6c6a58",
      "parents": [
        "caafa84251b886feb6cdf23d50e2cc99dcdaaaf3"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Tue Dec 14 03:09:15 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Dec 16 13:16:06 2010 -0800"
      },
      "message": "net: use NUMA_NO_NODE instead of the magic number -1\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a3d22a68d752ccc1a01bb0a64dd70b7a98bf9e23",
      "tree": "e51c231b29d8e285acb8196b6b893c718febd2b1",
      "parents": [
        "d33e455337ea2c71d09d7f4367d6ad6dd32b6965"
      ],
      "author": {
        "name": "Vladislav Zolotarov",
        "email": "vladz@broadcom.com",
        "time": "Mon Dec 13 06:27:10 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Dec 16 13:15:53 2010 -0800"
      },
      "message": "bnx2x: Take the distribution range definition out of skb_tx_hash()\n\nMove the calcualation of the Tx hash for a given hash range into a separate\nfunction and define the skb_tx_hash(), which calculates a Tx hash for a\n[0; dev-\u003ereal_num_tx_queues - 1] hash values range, using this\nfunction (__skb_tx_hash()).\n\nSigned-off-by: Vladislav Zolotarov \u003cvladz@broadcom.com\u003e\nSigned-off-by: Eilon Greenstein \u003ceilong@broadcom.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "941666c2e3e0f9f6a1cb5808d02352d445bd702c",
      "tree": "389a773580ef22908391cc71f98982b03de62804",
      "parents": [
        "a2d4b65d477aad1fe8c7218781a031fa9cf5abfc"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Sun Dec 05 01:23:53 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 08 10:07:24 2010 -0800"
      },
      "message": "net: RCU conversion of dev_getbyhwaddr() and arp_ioctl()\n\nLe dimanche 05 décembre 2010 à 09:19 +0100, Eric Dumazet a écrit :\n\n\u003e Hmm..\n\u003e\n\u003e If somebody can explain why RTNL is held in arp_ioctl() (and therefore\n\u003e in arp_req_delete()), we might first remove RTNL use in arp_ioctl() so\n\u003e that your patch can be applied.\n\u003e\n\u003e Right now it is not good, because RTNL wont be necessarly held when you\n\u003e are going to call arp_invalidate() ?\n\nWhile doing this analysis, I found a refcount bug in llc, I\u0027ll send a\npatch for net-2.6\n\nMeanwhile, here is the patch for net-next-2.6\n\nYour patch then can be applied after mine.\n\nThanks\n\n[PATCH] net: RCU conversion of dev_getbyhwaddr() and arp_ioctl()\n\ndev_getbyhwaddr() was called under RTNL.\n\nRename it to dev_getbyhwaddr_rcu() and change all its caller to now use\nRCU locking instead of RTNL.\n\nChange arp_ioctl() to use RCU instead of RTNL locking.\n\nNote: this fix a dev refcount bug in llc\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f2cd2d3e9b3ef960612e362f0ad129d735452df2",
      "tree": "bef1868cfc7dc66de7b2430a4b47b12bced05ec1",
      "parents": [
        "0793f83f0ec2142d06abe53570417c8d95e0310a"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Nov 29 08:14:37 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 01 12:47:42 2010 -0800"
      },
      "message": "net sched: use xps information for qdisc NUMA affinity\n\nAllocate qdisc memory according to NUMA properties of cpus included in\nxps map.\n\nTo be effective, qdisc should be (re)setup after changes\nof /sys/class/net/eth\u003cn\u003e/queues/tx-\u003cn\u003e/xps_cpus\n\nI added a numa_node field in struct netdev_queue, containing NUMA node\nif all cpus included in xps_cpus share same node, else -1.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Ben Hutchings \u003cbhutchings@solarflare.com\u003e\nCc: Tom Herbert \u003ctherbert@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a41778694806ac1ccd4b1dafed1abef8d5ba98ac",
      "tree": "499550eb704ba7811960d633161f5c386e4332cb",
      "parents": [
        "b02038a17b271e0f70616c54e4eccb5cc33d1b74"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Sun Nov 28 21:43:02 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 29 09:43:13 2010 -0800"
      },
      "message": "xps: add __rcu annotations\n\nAvoid sparse warnings : add __rcu annotations and use\nrcu_dereference_protected() where necessary.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Tom Herbert \u003ctherbert@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bf26414510103448ad3dc069c7422462f03ea3d7",
      "tree": "b8930bb2850dbc65f1e1f4e8bc6574f3c956b772",
      "parents": [
        "8fa9208e305e24978b897d6ea057604444ce77e1"
      ],
      "author": {
        "name": "Tom Herbert",
        "email": "therbert@google.com",
        "time": "Fri Nov 26 08:36:09 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 28 18:24:14 2010 -0800"
      },
      "message": "xps: Add CONFIG_XPS\n\nThis patch adds XPS_CONFIG option to enable and disable XPS.  This is\ndone in the same manner as RPS_CONFIG.  This is also fixes build\nfailure in XPS code when SMP is not enabled.\n\nSigned-off-by: Tom Herbert \u003ctherbert@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5a0d2268d259886f0c87131639d19eb4a67b4532",
      "tree": "952e6225fcee027f3a4ae8e1c2b2c889eff3a8b2",
      "parents": [
        "d3c15cab213becc49a6f2ad7f48a59513a5f17dd"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Nov 23 10:42:02 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 28 10:47:18 2010 -0800"
      },
      "message": "net: add netif_tx_queue_frozen_or_stopped\n\nWhen testing struct netdev_queue state against FROZEN bit, we also test\nXOFF bit. We can test both bits at once and save some cycles.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1d24eb4815d1e0e8b451ecc546645f8ef1176d4f",
      "tree": "0172e72b9452dc46c4e1043817005979cec022a7",
      "parents": [
        "3853b5841c01a3f492fe137afaad9c209e5162c6"
      ],
      "author": {
        "name": "Tom Herbert",
        "email": "therbert@google.com",
        "time": "Sun Nov 21 13:17:27 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 24 11:44:20 2010 -0800"
      },
      "message": "xps: Transmit Packet Steering\n\nThis patch implements transmit packet steering (XPS) for multiqueue\ndevices.  XPS selects a transmit queue during packet transmission based\non configuration.  This is done by mapping the CPU transmitting the\npacket to a queue.  This is the transmit side analogue to RPS-- where\nRPS is selecting a CPU based on receive queue, XPS selects a queue\nbased on the CPU (previously there was an XPS patch from Eric\nDumazet, but that might more appropriately be called transmit completion\nsteering).\n\nEach transmit queue can be associated with a number of CPUs which will\nuse the queue to send packets.  This is configured as a CPU mask on a\nper queue basis in:\n\n/sys/class/net/eth\u003cn\u003e/queues/tx-\u003cn\u003e/xps_cpus\n\nThe mappings are stored per device in an inverted data structure that\nmaps CPUs to queues.  In the netdevice structure this is an array of\nnum_possible_cpu structures where each structure holds and array of\nqueue_indexes for queues which that CPU can use.\n\nThe benefits of XPS are improved locality in the per queue data\nstructures.  Also, transmit completions are more likely to be done\nnearer to the sending thread, so this should promote locality back\nto the socket on free (e.g. UDP).  The benefits of XPS are dependent on\ncache hierarchy, application load, and other factors.  XPS would\nnominally be configured so that a queue would only be shared by CPUs\nwhich are sharing a cache, the degenerative configuration woud be that\neach CPU has it\u0027s own queue.\n\nBelow are some benchmark results which show the potential benfit of\nthis patch.  The netperf test has 500 instances of netperf TCP_RR test\nwith 1 byte req. and resp.\n\nbnx2x on 16 core AMD\n   XPS (16 queues, 1 TX queue per CPU)  1234K at 100% CPU\n   No XPS (16 queues)                   996K at 100% CPU\n\nSigned-off-by: Tom Herbert \u003ctherbert@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "61391cde9eefac5cfcf6d214aa80c77e58b1626b",
      "tree": "bcebcb5abe6638b7cde05f8ca5b51bba95cf1122",
      "parents": [
        "a386f99025f13b32502fe5dedf223c20d7283826"
      ],
      "author": {
        "name": "stephen hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Mon Nov 15 06:38:12 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 15 11:13:17 2010 -0800"
      },
      "message": "netdev: add rcu annotations to receive handler hook\n\nSuggested by Eric\u0027s bridge RCU changes.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fe8222406c8277a21172479d3a8283d31c209028",
      "tree": "89876457391fba73e3c2c9fdbf9c28a980ad4ffc",
      "parents": [
        "ed9af2e839c06c18f721da2c768fbb444c4a10e5"
      ],
      "author": {
        "name": "Tom Herbert",
        "email": "therbert@google.com",
        "time": "Tue Nov 09 10:47:38 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 15 10:57:28 2010 -0800"
      },
      "message": "net: Simplify RX queue allocation\n\nThis patch move RX queue allocation to alloc_netdev_mq and freeing of\nthe queues to free_netdev (symmetric to TX queue allocation).  Each\nkobject RX queue takes a reference to the queue\u0027s device so that the\ndevice can\u0027t be freed before all the kobjects have been released-- this\nobviates the need for reference counts specific to RX queues.\n\nSigned-off-by: Tom Herbert \u003ctherbert@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "58e998c6d23988490162cef0784b19ea274d90bb",
      "tree": "de3bbb355639d4bd6f2858d6265537672554d13b",
      "parents": [
        "c8d5bcd1aff89199cde4bd82c5c40fb704c8bba4"
      ],
      "author": {
        "name": "Jesse Gross",
        "email": "jesse@nicira.com",
        "time": "Fri Oct 29 12:14:55 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 15 09:22:53 2010 -0800"
      },
      "message": "offloading: Force software GSO for multiple vlan tags.\n\nWe currently use vlan_features to check for TSO support if there is\na vlan tag.  However, it\u0027s quite likely that the NIC is not able to\ndo TSO when there is an arbitrary number of tags.  Therefore if there\nis more than one tag (in-band or out-of-band), fall back to software\nemulation.\n\nSigned-off-by: Jesse Gross \u003cjesse@nicira.com\u003e\nCC: Ben Hutchings \u003cbhutchings@solarflare.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fc766e4c4965915ab52a1d1fa3c7a7b3e7bc07f0",
      "tree": "d45160f52eea37d4e5149d511c3c577bef253801",
      "parents": [
        "e4a7b93bd5d84e1e79917d024d17d745d190fc9a"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Fri Oct 29 03:09:24 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 08 13:50:08 2010 -0800"
      },
      "message": "decnet: RCU conversion and get rid of dev_base_lock\n\nWhile tracking dev_base_lock users, I found decnet used it in\ndnet_select_source(), but for a wrong purpose:\n\nWriters only hold RTNL, not dev_base_lock, so readers must use RCU if\nthey cannot use RTNL.\n\nAdds an rcu_head in struct dn_ifaddr and handle proper RCU management.\n\nAdds __rcu annotation in dn_route as well.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nAcked-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "18543a643fae694982c7d89c22436885f3506497",
      "tree": "0674a2db40dcfd1d5c6999f600df6c8147f73df3",
      "parents": [
        "63f4e1903ae41b4e457dd4490afe0f59e7641ad6"
      ],
      "author": {
        "name": "Guillaume Chazarain",
        "email": "guichaz@gmail.com",
        "time": "Sat Nov 06 06:39:32 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 08 12:17:07 2010 -0800"
      },
      "message": "net: Detect and ignore netif_stop_queue() calls before register_netdev()\n\nAfter e6484930d7c73d324bccda7d43d131088da697b9: net: allocate tx queues in register_netdevice\nThese calls make net drivers oops at load time, so let\u0027s avoid people\ngit-bisect\u0027ing known problems.\n\nSigned-off-by: Guillaume Chazarain \u003cguichaz@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6e3f7faf3e8a3e226b1a6b955aac12abf2f2e1b6",
      "tree": "a2ff2fe9f86ff561d62ceac56e8fe18d7b6f14a0",
      "parents": [
        "f6318e558806c925029dc101f14874be9f9fa78f"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Oct 25 03:02:02 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 25 14:18:27 2010 -0700"
      },
      "message": "rps: add __rcu annotations\n\nAdd __rcu annotations to :\n\t(struct netdev_rx_queue)-\u003erps_map\n\t(struct netdev_rx_queue)-\u003erps_flow_table\n\tstruct rps_sock_flow_table *rps_sock_flow_table;\n\nAnd use appropriate rcu primitives.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3cc77ec74e1583b50b8405114cdbd6b8ebb8c474",
      "tree": "3f45e2ddfc224edd166b1cdc79ddff62532b4c7d",
      "parents": [
        "198caeca3eb4c81bbdbeb34a870868002f89b3d2"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Sun Oct 24 21:32:36 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 25 13:09:44 2010 -0700"
      },
      "message": "net/802: add __rcu annotations\n\n(struct net_device)-\u003egarp_port is rcu protected :\n(struct garp_port)-\u003eapplicants is rcu protected :\n\nadd __rcu annotation and proper rcu primitives.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "198caeca3eb4c81bbdbeb34a870868002f89b3d2",
      "tree": "ac2c01e12b71c3a88a8b2d6b86151b618878af1a",
      "parents": [
        "b616b09afabf6d569aa31176aa86f05d2586de3e"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Sun Oct 24 21:32:05 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 25 13:09:43 2010 -0700"
      },
      "message": "ipv6: ip6_ptr rcu annotations\n\n(struct net_device)-\u003eip6_ptr is rcu protected :\n\nadd __rcu annotation and proper rcu primitives.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b616b09afabf6d569aa31176aa86f05d2586de3e",
      "tree": "9765278f9825a612c27fea34aba0c614594b88c5",
      "parents": [
        "5202e173d7bc5ff832a4f36e66f26e00feb343c6"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Sun Oct 24 21:31:58 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 25 13:09:43 2010 -0700"
      },
      "message": "vlan: rcu annotations\n\n(struct net_device)-\u003evlgrp is rcu protected :\n\nadd __rcu annotation and proper rcu primitives.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d0c2b0d265a0f1f92922a99a31def9da582197ac",
      "tree": "5854f0e44bf594a2b123622a250619c97792e4f2",
      "parents": [
        "a0e00369f1e1ff9142a20efe4785890e52b2e525"
      ],
      "author": {
        "name": "stephen hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Tue Oct 19 07:12:10 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 21 04:26:38 2010 -0700"
      },
      "message": "napi: unexport napi_reuse_skb\n\nThe function napi_reuse_skb is only used inside core.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3701e51382a026cba10c60b03efabe534fba4ca4",
      "tree": "9f205d8ad0edf65b4405d9b60cb65f3cd8e44ae4",
      "parents": [
        "65ac6a5fa658b90f1be700c55e7cd72e4611015d"
      ],
      "author": {
        "name": "Jesse Gross",
        "email": "jesse@nicira.com",
        "time": "Wed Oct 20 13:56:06 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 21 01:26:53 2010 -0700"
      },
      "message": "vlan: Centralize handling of hardware acceleration.\n\nCurrently each driver that is capable of vlan hardware acceleration\nmust be aware of the vlan groups that are configured and then pass\nthe stripped tag to a specialized receive function.  This is\n\ndifferent from other types of hardware offload in that it places a\nsignificant amount of knowledge in the driver itself rather keeping\nit in the networking core.\n\nThis makes vlan offloading function more similarly to other forms\nof offloading (such as checksum offloading or TSO) by doing the\nfollowing:\n* On receive, stripped vlans are passed directly to the network\ncore, without attempting to check for vlan groups or reconstructing\nthe header if no group\n* vlans are made less special by folding the logic into the main\nreceive routines\n* On transmit, the device layer will add the vlan header in software\nif the hardware doesn\u0027t support it, instead of spreading that logic\nout in upper layers, such as bonding.\n\nThere are a number of advantages to this:\n* Fixes all bugs with drivers incorrectly dropping vlan headers at once.\n* Avoids having to disable VLAN acceleration when in promiscuous mode\n(good for bridging since it always puts devices in promiscuous mode).\n* Keeps VLAN tag separate until given to ultimate consumer, which\navoids needing to do header reconstruction as in tg3 unless absolutely\nnecessary.\n* Consolidates common code in core networking.\n\nSigned-off-by: Jesse Gross \u003cjesse@nicira.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "65ac6a5fa658b90f1be700c55e7cd72e4611015d",
      "tree": "7330c3234101c6d4c952f4abec9c8064df0e685a",
      "parents": [
        "7b9c60903714bf0a19d746b228864bad3497284e"
      ],
      "author": {
        "name": "Jesse Gross",
        "email": "jesse@nicira.com",
        "time": "Wed Oct 20 13:56:05 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 21 01:26:53 2010 -0700"
      },
      "message": "vlan: Avoid hash table lookup to find group.\n\nA struct net_device always maps to zero or one vlan groups and we\nalways know the device when we are looking up a group.  We currently\ndo a hash table lookup on the device to find the group but it is\nmuch simpler to just store a pointer.\n\nSigned-off-by: Jesse Gross \u003cjesse@nicira.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7b9c60903714bf0a19d746b228864bad3497284e",
      "tree": "c9dd632ea640b1f56634de8a1f029dd88dea2599",
      "parents": [
        "eab6d18d20fc5b5ba04a7e7fcd6f357197870e51"
      ],
      "author": {
        "name": "Jesse Gross",
        "email": "jesse@nicira.com",
        "time": "Wed Oct 20 13:56:04 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 21 01:26:52 2010 -0700"
      },
      "message": "vlan: Enable software emulation for vlan accleration.\n\nCurrently users of hardware vlan accleration need to know whether\nthe device supports it before generating packets.  However, vlan\nacceleration will soon be available in a more flexible manner so\nknowing ahead of time becomes much more difficult.  This adds\na software fallback path for vlan packets on devices without the\nnecessary offloading support, similar to other types of hardware\naccleration.\n\nSigned-off-by: Jesse Gross \u003cjesse@nicira.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e6484930d7c73d324bccda7d43d131088da697b9",
      "tree": "afa528185a8f679730275722cbd19f660101af50",
      "parents": [
        "bd25fa7ba59cd26094319dfba0011b48465f7355"
      ],
      "author": {
        "name": "Tom Herbert",
        "email": "therbert@google.com",
        "time": "Mon Oct 18 18:04:39 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 20 02:27:59 2010 -0700"
      },
      "message": "net: allocate tx queues in register_netdevice\n\nThis patch introduces netif_alloc_netdev_queues which is called from\nregister_device instead of alloc_netdev_mq.  This makes TX queue\nallocation symmetric with RX allocation.  Also, queue locks allocation\nis done in netdev_init_one_queue.  Change set_real_num_tx_queues to\nfail if requested number \u003c 1 or greater than number of allocated\nqueues.\n\nSigned-off-by: Tom Herbert \u003ctherbert@google.com\u003e\nAcked-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "29b4433d991c88d86ca48a4c1cc33c671475be4b",
      "tree": "2ad21b86aab8193c4533820c40cd31af97a7377f",
      "parents": [
        "f0b9f4725180ea58c8da78b3de0b4e0ad180fc2c"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Oct 11 10:22:12 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Oct 12 12:35:25 2010 -0700"
      },
      "message": "net: percpu net_device refcount\n\nWe tried very hard to remove all possible dev_hold()/dev_put() pairs in\nnetwork stack, using RCU conversions.\n\nThere is still an unavoidable device refcount change for every dst we\ncreate/destroy, and this can slow down some workloads (routers or some\napp servers, mmap af_packet)\n\nWe can switch to a percpu refcount implementation, now dynamic per_cpu\ninfrastructure is mature. On a 64 cpus machine, this consumes 256 bytes\nper device.\n\nOn x86, dev_hold(dev) code :\n\nbefore\n        lock    incl 0x280(%ebx)\nafter:\n        movl    0x260(%ebx),%eax\n        incl    fs:(%eax)\n\nStress bench :\n\n(Sending 160.000.000 UDP frames,\nIP route cache disabled, dual E5540 @2.53GHz,\n32bit kernel, FIB_TRIE)\n\nBefore:\n\nreal    1m1.662s\nuser    0m14.373s\nsys     12m55.960s\n\nAfter:\n\nreal    0m51.179s\nuser    0m15.329s\nsys     10m15.942s\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "34d101dd6204bd100fc2e6f7b5f9a10f959ce2c9",
      "tree": "77b714a4de7273ec53dac80396b94a2f896cfa95",
      "parents": [
        "37f9fc452d138dfc4da2ee1ce5ae85094efc3606"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Oct 11 09:16:57 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 11 09:16:57 2010 -0700"
      },
      "message": "neigh: speedup neigh_hh_init()\n\nWhen a new dst is used to send a frame, neigh_resolve_output() tries to\nassociate an struct hh_cache to this dst, calling neigh_hh_init() with\nthe neigh rwlock write locked.\n\nMost of the time, hh_cache is already known and linked into neighbour,\nso we find it and increment its refcount.\n\nThis patch changes the logic so that we call neigh_hh_init() with\nneighbour lock read locked only, so that fast path can be run in\nparallel by concurrent cpus.\n\nThis brings part of the speedup we got with commit c7d4426a98a5f\n(introduce DST_NOCACHE flag) for non cached dsts, even for cached ones,\nremoving one of the contention point that routers hit on multiqueue\nenabled machines.\n\nFurther improvements would need to use a seqlock instead of an rwlock to\nprotect neigh-\u003eha[], to not dirty neigh too often and remove two atomic\nops.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "caf586e5f23cebb2a68cbaf288d59dbbf2d74052",
      "tree": "5c0dfcf5a14c55501f9225835c83abddb8d1876e",
      "parents": [
        "a00eac0c459abecb539fb2a2abd3122dd7ca5d4a"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Sep 30 21:06:55 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Oct 05 14:47:55 2010 -0700"
      },
      "message": "net: add a core netdev-\u003erx_dropped counter\n\nIn various situations, a device provides a packet to our stack and we\ndrop it before it enters protocol stack :\n- softnet backlog full (accounted in /proc/net/softnet_stat)\n- bad vlan tag (not accounted)\n- unknown/unregistered protocol (not accounted)\n\nWe can handle a per-device counter of such dropped frames at core level,\nand automatically adds it to the device provided stats (rx_dropped), so\nthat standard tools can be used (ifconfig, ip link, cat /proc/net/dev)\n\nThis is a generalization of commit 8990f468a (net: rx_dropped\naccounting), thus reverting it.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "24824a09e35402b8d58dcc5be803a5ad3937bdba",
      "tree": "65c5fa4046646623b130702c9abc92c485ec575b",
      "parents": [
        "0bd9e6a964d86a19f54a9ba31168a37d64e451d1"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Sat Oct 02 06:11:55 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Oct 05 00:23:44 2010 -0700"
      },
      "message": "net: dynamic ingress_queue allocation\n\ningress being not used very much, and net_device-\u003eingress_queue being\nquite a big object (128 or 256 bytes), use a dynamic allocation if\nneeded (tc qdisc add dev eth0 ingress ...)\n\ndev_ingress_queue(dev) helper should be used only with RTNL taken.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bfa5ae63b823f4ffd3483a05f60a93a4a7b7d680",
      "tree": "62dc495022ac697d81c3b80f5a262713e6f657a3",
      "parents": [
        "8560f2266b36adb43238f1f9fd13958dd031901c"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Sep 28 05:58:37 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 29 13:25:53 2010 -0700"
      },
      "message": "net: rename netdev rx_queue to ingress_queue\n\nThere is some confusion with rx_queue name after RPS, and net drivers\nprivate rx_queue fields.\n\nI suggest to rename \"struct net_device\"-\u003erx_queue to ingress_queue.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6d81f41c58c69ddde497e9e640ba5805aa26e78c",
      "tree": "9e4cadd10af9f487fabb99a393f095d185160a13",
      "parents": [
        "745e20f1b626b1be4b100af5d4bf7b3439392f8f"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Sep 27 20:50:33 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 29 13:23:30 2010 -0700"
      },
      "message": "dummy: percpu stats and lockless xmit\n\nConverts dummy network device driver to :\n\n- percpu stats\n\n- 64bit stats\n\n- lockless xmit (NETIF_F_LLTX)\n\n- performance features added (NETIF_F_SG | NETIF_F_FRAGLIST |\nNETIF_F_TSO | NETIF_F_NO_CSUM | NETIF_F_HIGHDMA)\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3171d026291d08c2a4cfe06302ce308b09605c4b",
      "tree": "c9ff3f6253a52d63b041b13face40299573990ff",
      "parents": [
        "62fe0b40abb3484413800edaef9b087a20059acf"
      ],
      "author": {
        "name": "Ben Hutchings",
        "email": "bhutchings@solarflare.com",
        "time": "Mon Sep 27 08:24:49 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 27 22:09:50 2010 -0700"
      },
      "message": "net: Add netif_copy_real_num_queues() for use by virtual net drivers\n\nThis sets the active numbers of queues on a net device to match another.\n\nSigned-off-by: Ben Hutchings \u003cbhutchings@solarflare.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "62fe0b40abb3484413800edaef9b087a20059acf",
      "tree": "1fbd745de235b3a1d97931412fa9ff3e7228fd88",
      "parents": [
        "f91ff5b9ff529be8aac2039af63b2c8ea6cd6ebe"
      ],
      "author": {
        "name": "Ben Hutchings",
        "email": "bhutchings@solarflare.com",
        "time": "Mon Sep 27 08:24:33 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 27 22:09:49 2010 -0700"
      },
      "message": "net: Allow changing number of RX queues after device allocation\n\nFor RPS, we create a kobject for each RX queue based on the number of\nqueues passed to alloc_netdev_mq().  However, drivers generally do not\ndetermine the numbers of hardware queues to use until much later, so\nthis usually represents the maximum number the driver may use and not\nthe actual number in use.\n\nFor TX queues, drivers can update the actual number using\nnetif_set_real_num_tx_queues().  Add a corresponding function for RX\nqueues, netif_set_real_num_rx_queues().\n\nSigned-off-by: Ben Hutchings \u003cbhutchings@solarflare.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    }
  ],
  "next": "290b895e0ba4552dfcfc4bd35759c192345b934a"
}
