)]}'
{
  "log": [
    {
      "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": "cefa9993f161c1c2b6b91b7ea2e84a9bfbd43d2e",
      "tree": "ea1a587dd6a87e2c8c5ea84855ca068484fecdf5",
      "parents": [
        "9aa3c94ce59066f545521033007abb6441706068"
      ],
      "author": {
        "name": "WANG Cong",
        "email": "amwang@redhat.com",
        "time": "Sun Jun 19 16:13:01 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jun 19 16:13:01 2011 -0700"
      },
      "message": "netpoll: copy dev name of slaves to struct netpoll\n\nOtherwise we will not see the name of the slave dev in error\nmessage:\n\n[  388.469446] (null):  doesn\u0027t support polling, aborting.\n\nSigned-off-by: WANG Cong \u003camwang@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "374eeb5a9d77ea719c5c46f4d70226623f4528ce",
      "tree": "2f9fdad71c04da1fe5cdb12433238d24d0a0b738",
      "parents": [
        "5b446c6a7179513edcb34706088c4ce901b9a039"
      ],
      "author": {
        "name": "Neil Horman",
        "email": "nhorman@tuxdriver.com",
        "time": "Fri Jun 03 10:35:52 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jun 05 14:31:25 2011 -0700"
      },
      "message": "bonding: reset queue mapping prior to transmission to physical device (v5)\n\nThe bonding driver is multiqueue enabled, in which each queue represents a slave\nto enable optional steering of output frames to given slaves against the default\noutput policy.  However, it needs to reset the skb-\u003equeue_mapping prior to\nqueuing to the physical device or the physical slave (if it is multiqueue) could\nwind up transmitting on an unintended tx queue\n\nChange Notes:\nv2) Based on first pass review, updated the patch to restore the origional queue\nmapping that was found in bond_select_queue, rather than simply resetting to\nzero.  This preserves the value of queue_mapping when it was set on receive in\nthe forwarding case which is desireable.\n\nv3) Fixed spelling an casting error in skb-\u003ecb\n\nv4) fixed to store raw queue_mapping to avoid double decrement\n\nv5) Eric D requested that -\u003ecb access be wrapped in a macro.\n\nSigned-off-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nCC: Jay Vosburgh \u003cfubar@us.ibm.com\u003e\nCC: Andy Gospodarek \u003candy@greyhouse.net\u003e\nCC: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nSigned-off-by: Jay Vosburgh \u003cfubar@us.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "90e62474fd08e16ba5309886c801243b0eb782f3",
      "tree": "6a505ffdf7cd599e85100e03a472038b82583242",
      "parents": [
        "da7c06c4a773b7903d3c09a25edbcb20bdc4af22"
      ],
      "author": {
        "name": "Andy Gospodarek",
        "email": "andy@greyhouse.net",
        "time": "Wed May 25 04:41:59 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 26 14:57:17 2011 -0400"
      },
      "message": "bonding: cleanup module option descriptions\n\nWeiping Pan noticed that the module option description for\nxmit_hash_policy was incorrect and was nice enough to post a patch to\nfix it.  The text was correct, but created a line over 80 characters and\nI would rather not add those.  I realized I could take a few minutes and\nclean up all the descriptions and things would look much better.  This\nis the result.\n\nBased on patch from Weiping Pan \u003cpanweiping3@gmail.com\u003e.\n\nSigned-off-by: Andy Gospodarek \u003candy@greyhouse.net\u003e\nCC: Weiping Pan \u003cpanweiping3@gmail.com\u003e\nReviewed-by: Weiping Pan \u003cpanweiping3@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "94265cf5f731c7df29fdfde262ca3e6d51e6828c",
      "tree": "e19d43a5e8b19a220a4258a5a9f30d63ffc4bf55",
      "parents": [
        "9fe0617d9b6d21f700ee9e658e1c9fe3be2fb402"
      ],
      "author": {
        "name": "Flavio Leitner",
        "email": "fbl@redhat.com",
        "time": "Wed May 25 08:38:58 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 25 17:55:33 2011 -0400"
      },
      "message": "bonding: documentation and code cleanup for resend_igmp\n\nImproves the documentation about how IGMP resend parameter\nworks, fix two missing checks and coding style issues.\n\nSigned-off-by: Flavio Leitner \u003cfbl@redhat.com\u003e\nAcked-by: Rick Jones \u003crick.jones2@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9fe0617d9b6d21f700ee9e658e1c9fe3be2fb402",
      "tree": "d1e3c425be5697479514792e8183fc1c9c6a32c4",
      "parents": [
        "2907c35ff64708065e5a7fd54e8ded8263eb3074"
      ],
      "author": {
        "name": "Neil Horman",
        "email": "nhorman@tuxdriver.com",
        "time": "Wed May 25 08:13:01 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 25 17:55:33 2011 -0400"
      },
      "message": "bonding: prevent deadlock on slave store with alb mode (v3)\n\nThis soft lockup was recently reported:\n\n[root@dell-per715-01 ~]# echo +bond5 \u003e /sys/class/net/bonding_masters\n[root@dell-per715-01 ~]# echo +eth1 \u003e /sys/class/net/bond5/bonding/slaves\nbonding: bond5: doing slave updates when interface is down.\nbonding bond5: master_dev is not up in bond_enslave\n[root@dell-per715-01 ~]# echo -eth1 \u003e /sys/class/net/bond5/bonding/slaves\nbonding: bond5: doing slave updates when interface is down.\n\nBUG: soft lockup - CPU#12 stuck for 60s! [bash:6444]\nCPU 12:\nModules linked in: bonding autofs4 hidp rfcomm l2cap bluetooth lockd sunrpc\nbe2d\nPid: 6444, comm: bash Not tainted 2.6.18-262.el5 #1\nRIP: 0010:[\u003cffffffff80064bf0\u003e]  [\u003cffffffff80064bf0\u003e]\n.text.lock.spinlock+0x26/00\nRSP: 0018:ffff810113167da8  EFLAGS: 00000286\nRAX: ffff810113167fd8 RBX: ffff810123a47800 RCX: 0000000000ff1025\nRDX: 0000000000000000 RSI: ffff810123a47800 RDI: ffff81021b57f6f8\nRBP: ffff81021b57f500 R08: 0000000000000000 R09: 000000000000000c\nR10: 00000000ffffffff R11: ffff81011d41c000 R12: ffff81021b57f000\nR13: 0000000000000000 R14: 0000000000000282 R15: 0000000000000282\nFS:  00002b3b41ef3f50(0000) GS:ffff810123b27940(0000) knlGS:0000000000000000\nCS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b\nCR2: 00002b3b456dd000 CR3: 000000031fc60000 CR4: 00000000000006e0\n\nCall Trace:\n [\u003cffffffff80064af9\u003e] _spin_lock_bh+0x9/0x14\n [\u003cffffffff886937d7\u003e] :bonding:tlb_clear_slave+0x22/0xa1\n [\u003cffffffff8869423c\u003e] :bonding:bond_alb_deinit_slave+0xba/0xf0\n [\u003cffffffff8868dda6\u003e] :bonding:bond_release+0x1b4/0x450\n [\u003cffffffff8006457b\u003e] __down_write_nested+0x12/0x92\n [\u003cffffffff88696ae4\u003e] :bonding:bonding_store_slaves+0x25c/0x2f7\n [\u003cffffffff801106f7\u003e] sysfs_write_file+0xb9/0xe8\n [\u003cffffffff80016b87\u003e] vfs_write+0xce/0x174\n [\u003cffffffff80017450\u003e] sys_write+0x45/0x6e\n [\u003cffffffff8005d28d\u003e] tracesys+0xd5/0xe0\n\nIt occurs because we are able to change the slave configuarion of a bond while\nthe bond interface is down.  The bonding driver initializes some data structures\nonly after its ndo_open routine is called.  Among them is the initalization of\nthe alb tx and rx hash locks.  So if we add or remove a slave without first\nopening the bond master device, we run the risk of trying to lock/unlock a\nspinlock that has garbage for data in it, which results in our above softlock.\n\nNote that sometimes this works, because in many cases an unlocked spinlock has\nthe raw_lock parameter initialized to zero (meaning that the kzalloc of the\nnet_device private data is equivalent to calling spin_lock_init), but thats not\ntrue in all cases, and we aren\u0027t guaranteed that condition, so we need to pass\nthe relevant spinlocks through the spin_lock_init function.\n\nFix it by moving the spin_lock_init calls for the tx and rx hashtable locks to\nthe ndo_init path, so they are ready for use by the bond_store_slaves path.\n\nChange notes:\nv2) Based on conversation with Jay and Nicolas it seems that the ability to\nenslave devices while the bond master is down should be safe to do.  As such\nthis is an outlier bug, and so instead we\u0027ll just initalize the errant spinlocks\nin the init path rather than the open path, solving the problem.  We\u0027ll also\nremove the warnings about the bond being down during enslave operations, since\nit should be safe\n\nv3) Fix spelling error\n\nSigned-off-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nReported-by: jtluka@redhat.com\nCC: Jay Vosburgh \u003cfubar@us.ibm.com\u003e\nCC: Andy Gospodarek \u003candy@greyhouse.net\u003e\nCC: nicolas.2p.debian@gmail.com\nCC: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nSigned-off-by: Jay Vosburgh \u003cfubar@us.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "daf9209bb2c8b07ca025eac82e3d175534086c77",
      "tree": "5101649f4edf2cf316e334c49380b6dd1ecebc77",
      "parents": [
        "bb8ed6302b0613339c1a5f0a2cb0b3807c0af611"
      ],
      "author": {
        "name": "Amerigo Wang",
        "email": "amwang@redhat.com",
        "time": "Thu May 19 21:39:12 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 22 21:01:19 2011 -0400"
      },
      "message": "net: rename NETDEV_BONDING_DESLAVE to NETDEV_RELEASE\n\ns/NETDEV_BONDING_DESLAVE/NETDEV_RELEASE/ as Andy suggested.\n\nSigned-off-by: WANG Cong \u003camwang@redhat.com\u003e\nCc: Andy Gospodarek \u003candy@greyhouse.net\u003e\nCc: Neil Horman \u003cnhorman@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8d8fc29d02a33e4bd5f4fa47823c1fd386346093",
      "tree": "822657741aca7297209c28c906f6b8caa43d163b",
      "parents": [
        "a37dd3332319260cce81ac91ce25fcc3a31de997"
      ],
      "author": {
        "name": "Amerigo Wang",
        "email": "amwang@redhat.com",
        "time": "Thu May 19 21:39:10 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 22 21:01:19 2011 -0400"
      },
      "message": "netpoll: disable netpoll when enslave a device\n\nV3: rename NETDEV_ENSLAVE to NETDEV_JOIN\n\nCurrently we do nothing when we enslave a net device which is running netconsole.\nNeil pointed out that we may get weird results in such case, so let\u0027s disable\nnetpoll on the device being enslaved. I think it is too harsh to prevent\nthe device being ensalved if it is running netconsole.\n\nBy the way, this patch also removes the NETDEV_GOING_DOWN from netconsole\nnetdev notifier, because netpoll will check if the device is running or not\nand we don\u0027t handle NETDEV_PRE_UP neither.\n\nThis patch is based on net-next-2.6.\n\nSigned-off-by: WANG Cong \u003camwang@redhat.com\u003e\nCc: Neil Horman \u003cnhorman@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9cbc94eabb0791906051bbfac024ef2c2be8e079",
      "tree": "41ba194e687c6c60f5c883f98737ac83257d0c00",
      "parents": [
        "1d1652cbdb9885e4d73972263e4cdbe1b0beebfe",
        "7cc31a9ae1477abc79d5992b3afe889f25c50c99"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue May 17 17:33:11 2011 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue May 17 17:33:11 2011 -0400"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tdrivers/net/vmxnet3/vmxnet3_ethtool.c\n\tnet/core/dev.c\n"
    },
    {
      "commit": "534ea99b063de7c30262a8e22f0ab44dd7d11a71",
      "tree": "b0579e32ac4151d1fc9c075de82bbae9e296c0ed",
      "parents": [
        "3f874adc4ae80828b79e8aac6891c108c1f6be6d"
      ],
      "author": {
        "name": "Shan Wei",
        "email": "shanwei@cn.fujitsu.com",
        "time": "Fri May 13 21:08:47 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 15 18:01:15 2011 -0400"
      },
      "message": "net: drivers: kill two unused macro definitions\n\nSigned-off-by: Shan Wei \u003cshanwei@cn.fujitsu.com\u003e\nReviewed-by: Jiri Pirko \u003cjpirko@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a10e14667635dde504ed9e7ee851494c2cf2ae8e",
      "tree": "bf5ad736713e1fcb80fadb05825184b44d50c87e",
      "parents": [
        "ca06707022d6ba4744198a8ebbe4994786b0c613"
      ],
      "author": {
        "name": "Vitalii Demianets",
        "email": "vitas@nppfactor.kiev.ua",
        "time": "Thu May 12 23:04:29 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri May 13 15:13:24 2011 -0400"
      },
      "message": "bonding,llc: Fix structure sizeof incompatibility for some PDUs\n\nWith some combinations of arch/compiler (e.g. arm-linux-gcc) the sizeof\noperator on structure returns value greater than expected. In cases when the\nstructure is used for mapping PDU fields it may lead to unexpected results\n(such as holes and alignment problems in skb data). __packed prevents this\nundesired behavior.\n\nSigned-off-by: Vitalii Demianets \u003cvitas@nppfactor.kiev.ua\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b2a103e6d0afa432dff66b36473c5a55b6b0376c",
      "tree": "9a048635ae5cf04e0b6216cb7a9065b6ae63ead3",
      "parents": [
        "afe12cc86b0ba545a01ad8716539ab07ab6e9e89"
      ],
      "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:45:59 2011 -0400"
      },
      "message": "bonding: convert to ndo_fix_features\n\nThis should also fix updating of vlan_features and propagating changes to\nVLAN devices on the bond.\n\nSide effect: it allows user to force-disable some offloads on the bond\ninterface.\n\nNote: NETIF_F_VLAN_CHALLENGED is managed by bond_fix_features() 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": "0693e88e6ccf615d9674548d8b924cdd9a1c976c",
      "tree": "c77546505f150e1e6c8a9a8390e7dc01a292d13d",
      "parents": [
        "48752e1b1802231ef2a076f34d861918b7d571c3"
      ],
      "author": {
        "name": "Michał Mirosław",
        "email": "mirq-linux@rere.qmqm.pl",
        "time": "Sat May 07 01:48:02 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 09 12:05:59 2011 -0700"
      },
      "message": "net: bonding: factor out rlock(bond-\u003elock) in xmit path\n\nPull read_lock(\u0026bond-\u003elock) and BOND_IS_OK() to bond_start_xmit() from\nmode-dependent xmit functions.\n\nnetif_running() is always true in hard_start_xmit.\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": "1c5cae815d19ffe02bdfda1260949ef2b1806171",
      "tree": "d47a73c05afacd21985abb8df9862136385c58f0",
      "parents": [
        "e8920674979705392abc4db4ebbe78feb68a4da1"
      ],
      "author": {
        "name": "Jiri Pirko",
        "email": "jpirko@redhat.com",
        "time": "Sat Apr 30 01:21:32 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 05 10:57:45 2011 -0700"
      },
      "message": "net: call dev_alloc_name from register_netdevice\n\nForce dev_alloc_name() to be called from register_netdevice() by\ndev_get_valid_name(). That allows to remove multiple explicit\ndev_alloc_name() calls.\n\nThe possibility to call dev_alloc_name in advance remains.\n\nThis also fixes veth creation regresion caused by\n84c49d8c3e4abefb0a41a77b25aa37ebe8d6b743\n\nSigned-off-by: Jiri Pirko \u003cjpirko@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ad246c992bea6d33c6421ba1f03e2b405792adf9",
      "tree": "28afc1b370d856a63a3cd792fc292996c0315c13",
      "parents": [
        "7d36a991e8d36b8ae87e2aa1158d3735e656253b"
      ],
      "author": {
        "name": "Ben Hutchings",
        "email": "bhutchings@solarflare.com",
        "time": "Tue Apr 26 15:25:52 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Apr 29 12:44:11 2011 -0700"
      },
      "message": "ipv4, ipv6, bonding: Restore control over number of peer notifications\n\nFor backward compatibility, we should retain the module parameters and\nsysfs attributes to control the number of peer notifications\n(gratuitous ARPs and unsolicited NAs) sent after bonding failover.\nAlso, it is possible for failover to take place even though the new\nactive slave does not have link up, and in that case the peer\nnotification should be deferred until it does.\n\nChange ipv4 and ipv6 so they do not automatically send peer\nnotifications on bonding failover.\n\nChange the bonding driver to send separate NETDEV_NOTIFY_PEERS\nnotifications when the link is up, as many times as requested.  Since\nit does not directly control which protocols send notifications, make\nnum_grat_arp and num_unsol_na aliases for a single parameter.  Bump\nthe bonding version number and update its documentation.\n\nSigned-off-by: Ben Hutchings \u003cbhutchings@solarflare.com\u003e\nSigned-off-by: Jay Vosburgh \u003cfubar@us.ibm.com\u003e\nAcked-by: Brian Haley \u003cbrian.haley@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2bd93d7af1581d40e3c4b25242472661cb7c637a",
      "tree": "43c638422d20857339d8d908d6b65ebb8045edc0",
      "parents": [
        "64cad2ade1e6f890531a58318ca9ee013f92ef2f",
        "0972ddb2373d5e127aabdcabd8305eff0242cd0b"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 26 12:16:46 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 26 12:16:46 2011 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nResolved logic conflicts causing a build failure due to\ndrivers/net/r8169.c changes using a patch from Stephen Rothwell.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3aba891dde3842d89ad022237b99c1ed308040b0",
      "tree": "7b89bcdc0362a1fdd50d74c3a8108f16fecfa5b1",
      "parents": [
        "22d5969fb450afd3a4aff606360f7d52c5a3a628"
      ],
      "author": {
        "name": "Jiri Pirko",
        "email": "jpirko@redhat.com",
        "time": "Tue Apr 19 03:48:16 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Apr 25 12:00:30 2011 -0700"
      },
      "message": "bonding: move processing of recv handlers into handle_frame()\n\nSince now when bonding uses rx_handler, all traffic going into bond\ndevice goes thru bond_handle_frame. So there\u0027s no need to go back into\nbonding code later via ptype handlers. This patch converts\noriginal ptype handlers into \"bonding receive probes\". These functions\nare called from bond_handle_frame and they are registered per-mode.\n\nNote that vlan packets are also handled because they are always untagged\nthanks to vlan_untag()\n\nNote that this also allows arpmon for eth-bond-bridge-vlan topology.\n\nSigned-off-by: Jiri Pirko \u003cjpirko@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2430af8b7fa37ac0be102c77f9dc6ee669d24ba9",
      "tree": "76199ce83fd1ef26f1438302fb2f4898f537531d",
      "parents": [
        "6f4d6dc167a001267eeff18bdea0ce3e9108c662"
      ],
      "author": {
        "name": "Jiri Bohac",
        "email": "jbohac@suse.cz",
        "time": "Tue Apr 19 02:09:55 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 20 01:44:43 2011 -0700"
      },
      "message": "bonding: 802.3ad - fix agg_device_up\n\nThe slave member of struct aggregator does not necessarily point\nto a slave which is part of the aggregator. It points to the\nslave structure containing the aggregator structure, while\ncompletely different slaves (or no slaves at all) may be part of\nthe aggregator.\n\nThe agg_device_up() function wrongly uses agg-\u003eslave to find the state\nof the aggregator.  Use agg-\u003elag_ports-\u003eslave instead. The bug has\nbeen introduced by commit 4cd6fe1c6483cde93e2ec91f58b7af9c9eea51ad\n(\"bonding: fix link down handling in 802.3ad mode\").\n\nSigned-off-by: Jiri Bohac \u003cjbohac@suse.cz\u003e\nSigned-off-by: Jay Vosburgh \u003cfubar@us.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7c89943236750537d26421d9bbb6f6575e2d1e1b",
      "tree": "dfbc9b11ddcd20757388b03e9925363c1e1764f3",
      "parents": [
        "99606477a5888b0ead0284fecb13417b1da8e3af"
      ],
      "author": {
        "name": "Ben Hutchings",
        "email": "bhutchings@solarflare.com",
        "time": "Fri Apr 15 13:47:51 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 17 23:36:03 2011 -0700"
      },
      "message": "bonding, ipv4, ipv6, vlan: Handle NETDEV_BONDING_FAILOVER like NETDEV_NOTIFY_PEERS\n\nIt is undesirable for the bonding driver to be poking into higher\nlevel protocols, and notifiers provide a way to avoid that.  This does\nmean removing the ability to configure reptitition of gratuitous ARPs\nand unsolicited NAs.\n\nSigned-off-by: Ben Hutchings \u003cbhutchings@solarflare.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7d038eb6dc0e256dbcac88d52972c4ac55a78fc5",
      "tree": "4cd778c6f492bdd0f446056b21560313047f1312",
      "parents": [
        "9e5ebaf852b96aaf4d7f63b920d8016b6784f088"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 17 00:50:58 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 17 00:50:58 2011 -0700"
      },
      "message": "bonding: Fix set-but-unused variable.\n\nThe variable \u0027vlan_dev\u0027 is set but unused in\nbond_send_gratuitous_arp().  Just kill it off.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5d30530efbb811f875786d788ae1c5d79547c3a4",
      "tree": "ba6c1b23aaf1eb5489ef5e95cc5a45da70bf1321",
      "parents": [
        "65cce19c07756c2b2b51595c967dda93b0727027"
      ],
      "author": {
        "name": "David Decotigny",
        "email": "decot@google.com",
        "time": "Wed Apr 13 15:22:31 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 14 22:00:32 2011 -0700"
      },
      "message": "net-bonding: Adding support for throughputs larger than 65536 Mbps\n\nThis updates the bonding driver to support v2.6.27-rc3 enhancements\n(b11f8d8c aka. \"ethtool: Expand ethtool_cmd.speed to 32 bits\") which\nallow to encode the Mbps link speed on 32-bits (Max 4 Pbps) instead of\n16 (Max 65536 Mbps).\n\nThis patch also attempts to compact struct slave by reordering its\nfields.\n\nSigned-off-by: David Decotigny \u003cdecot@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "65cce19c07756c2b2b51595c967dda93b0727027",
      "tree": "df3f51653b8dccced401c902d8566f068c735cfc",
      "parents": [
        "d30ee670f25ea8f265a2804e2a0a53804cac5185"
      ],
      "author": {
        "name": "David Decotigny",
        "email": "decot@google.com",
        "time": "Wed Apr 13 15:22:30 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 14 22:00:32 2011 -0700"
      },
      "message": "net-bonding: Fix minor/cosmetic type inconsistencies\n\nThe __get_link_speed() function returns a u16 value which was stored\nin a u32 local variable. This patch uses the return value directly,\nthus fixing that minor type consistency.\n\nThe \u0027duplex\u0027 field in struct slave being encoded on 8 bits, to be more\nconsistent we use a u8 integer (instead of u16) whenever we copy it to\nlocal variables.\n\nSigned-off-by: David Decotigny \u003cdecot@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d30ee670f25ea8f265a2804e2a0a53804cac5185",
      "tree": "7a8d3b92f26cb3e9570df2989a0b8ea462027a1a",
      "parents": [
        "ef9c7ab4a97d53d9cb4912d13e142f52a30ecd54"
      ],
      "author": {
        "name": "David Decotigny",
        "email": "decot@google.com",
        "time": "Wed Apr 13 15:22:29 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 14 22:00:31 2011 -0700"
      },
      "message": "net-bonding: Fix minor sparse complaints\n\nThis gets rid of minor sparse complaints:\ndrivers/net/bonding/bond_main.c:4361:4: warning: do-while statement is not a compound statement\ndrivers/net/bonding/bond_main.c:243:12: warning: symbol \u0027bond_mode_name\u0027 was not declared. Should it be static?\n\nSigned-off-by: David Decotigny \u003cdecot@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1c01a80cfec6f806246f31ff2680cd3639b30e67",
      "tree": "0b554aad2ec1da71ecf6339d4ba51617bfe1dc3c",
      "parents": [
        "c44d79950b2daa1025e62eede73e4e4a274d1ef3",
        "4a9f65f6304a00f6473e83b19c1e83caa1e42530"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Apr 11 13:44:25 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Apr 11 13:44:25 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/smsc911x.c\n"
    },
    {
      "commit": "77c8e2c01542649f7a02fef8eb3b3d0e7fed6bbd",
      "tree": "2bdeb6ff656f5b0155d1fc001c8f54f47da68c0a",
      "parents": [
        "9814290ad0314fa0ce7991eae34ac44956e40b12"
      ],
      "author": {
        "name": "Peter Pan(潘卫平)",
        "email": "panweiping3@gmail.com",
        "time": "Mon Apr 11 00:16:32 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Apr 11 13:15:56 2011 -0700"
      },
      "message": "bonding:fix two typos\n\nreplace relpy with reply.\nreplace premanent with permanent.\n\nSigned-off-by: Weiping Pan(潘卫平) \u003cpanweiping3@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9814290ad0314fa0ce7991eae34ac44956e40b12",
      "tree": "fd507ee6c38aff738ff764b942d4025d1e42ee4d",
      "parents": [
        "26f007b85a1bb73e1974ebd371cf5cd1e80c0a00"
      ],
      "author": {
        "name": "Peter Pan(潘卫平)",
        "email": "panweiping3@gmail.com",
        "time": "Mon Apr 11 00:15:57 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Apr 11 13:15:56 2011 -0700"
      },
      "message": "net: fix tranmitted/tranmitting typo\n\nreplace tranmitted with transmitted.\nreplace tranmitting with transmitting.\n\nSigned-off-by: Weiping Pan(潘卫平) \u003cpanweiping3@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "26f007b85a1bb73e1974ebd371cf5cd1e80c0a00",
      "tree": "677b2dc6a4b5d2885aaede92368beb1132134ad4",
      "parents": [
        "3b647568454acedb8f09f72931bfe92b73f812c7"
      ],
      "author": {
        "name": "Peter Pan(潘卫平)",
        "email": "panweiping3@gmail.com",
        "time": "Sun Apr 10 22:17:25 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Apr 11 13:15:55 2011 -0700"
      },
      "message": "bonding:delete unused rlb_interval_counter\n\nNow, alb_bond_info uses rx_ntt,rlb_update_delay_counter and\nrlb_update_retry_counter to decide when to call rlb_update_rx_clients().\n\nSigned-off-by: Weiping Pan(潘卫平) \u003cpanweiping3@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3b647568454acedb8f09f72931bfe92b73f812c7",
      "tree": "ddb1610b5157c89c75b3ee0694c685c2783a9c3c",
      "parents": [
        "38dbaf0afb518e462de7afca552acad048237a73"
      ],
      "author": {
        "name": "Peter Pan(潘卫平)",
        "email": "panweiping3@gmail.com",
        "time": "Sun Apr 10 22:17:24 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Apr 11 13:15:55 2011 -0700"
      },
      "message": "bonding:delete unused alb_timer\n\nNow bonding-alb uses delayed_work instead of timer_list.\n\nSigned-off-by: Weiping Pan(潘卫平) \u003cpanweiping3@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "38dbaf0afb518e462de7afca552acad048237a73",
      "tree": "abebb39d02e08d539930332835ff8192bfa8134c",
      "parents": [
        "a08070acd43a76069ab20000cd02474369506add"
      ],
      "author": {
        "name": "Peter Pan(潘卫平)",
        "email": "panweiping3@gmail.com",
        "time": "Fri Apr 08 03:40:19 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Apr 11 13:15:54 2011 -0700"
      },
      "message": "bonding:set save_load to 0 when initializing\n\nIt is unnecessary to set save_load to 1 here,\nas the tx_hashtbl is just kzalloced.\n\nSigned-off-by: Weiping Pan(潘卫平) \u003cpanweiping3@gmail.com\u003e\nSigned-off-by: Jay Vosburgh \u003cfubar@us.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "42933bac11e811f02200c944d8562a15f8ec4ff0",
      "tree": "fcdd9afe56eb0e746565ddd1f92f22d36678b843",
      "parents": [
        "2b9accbee563f535046ff2cd382d0acaa92e130c",
        "25985edcedea6396277003854657b5f3cb31a628"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 07 11:14:49 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 07 11:14:49 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus2\u0027 of git://git.profusion.mobi/users/lucas/linux-2.6\n\n* \u0027for-linus2\u0027 of git://git.profusion.mobi/users/lucas/linux-2.6:\n  Fix common misspellings\n"
    },
    {
      "commit": "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": "25985edcedea6396277003854657b5f3cb31a628",
      "tree": "f026e810210a2ee7290caeb737c23cb6472b7c38",
      "parents": [
        "6aba74f2791287ec407e0f92487a725a25908067"
      ],
      "author": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@profusion.mobi",
        "time": "Wed Mar 30 22:57:33 2011 -0300"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@profusion.mobi",
        "time": "Thu Mar 31 11:26:23 2011 -0300"
      },
      "message": "Fix common misspellings\n\nFixes generated by \u0027codespell\u0027 and manually reviewed.\n\nSigned-off-by: Lucas De Marchi \u003clucas.demarchi@profusion.mobi\u003e\n"
    },
    {
      "commit": "5e8996e72899847269ca36061ea33ea24bf6cb90",
      "tree": "60cf9ddfd3a3157c134799fe93648f112e13b7a5",
      "parents": [
        "a84b50ceb7d640437d0dc28a2bef0d0de054de89"
      ],
      "author": {
        "name": "Peter Pan(潘卫平)",
        "email": "panweiping3@gmail.com",
        "time": "Wed Mar 30 20:46:19 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 31 01:54:22 2011 -0700"
      },
      "message": "bonding:typo in comment\n\nuse accumulates instead of acumulates.\n\nSigned-off-by: Pan Weiping \u003cpanweiping3@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "35d48903e9781975e823b359ee85c257c9ff5c1c",
      "tree": "889a517bd0ccfbf64978ca9f8b5e70225a268d87",
      "parents": [
        "cda6587c21a887254c8ed4b58da8fcc4040ab557"
      ],
      "author": {
        "name": "Jiri Pirko",
        "email": "jpirko@redhat.com",
        "time": "Tue Mar 22 02:38:12 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 23 12:45:10 2011 -0700"
      },
      "message": "bonding: fix rx_handler locking\n\nThis prevents possible race between bond_enslave and bond_handle_frame\nas reported by Nicolas by moving rx_handler register/unregister.\nslave-\u003ebond is added to hold pointer to master bonding sructure. That\nway dev-\u003emaster is no longer used in bond_handler_frame.\nAlso, this removes \"BUG: scheduling while atomic\" message\n\nReported-by: Nicolas de Pesloüan \u003cnicolas.2p.debian@gmail.com\u003e\nSigned-off-by: Jiri Pirko \u003cjpirko@redhat.com\u003e\nSigned-off-by: Andy Gospodarek \u003candy@greyhouse.net\u003e\nTested-by: Nicolas de Pesloüan \u003cnicolas.2p.debian@free.fr\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "dadaa10b077133e5c03333131b82ecb13679af2b",
      "tree": "a13c20b71252303cd3726795c6bf5d2d970bc4f0",
      "parents": [
        "93d03203d5a165d7a757546245dd1543dfe0ff80"
      ],
      "author": {
        "name": "Nicolas de Pesloüan",
        "email": "nicolas.2p.debian@free.fr",
        "time": "Sat Mar 19 13:36:18 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 19 13:36:18 2011 -0700"
      },
      "message": "bonding: fix a typo in a comment\n\nSigned-off-by: Nicolas de Pesloüan \u003cnicolas.2p.debian@free.fr\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ceda86a108671294052cbf51660097b6534672f5",
      "tree": "fd82cf21c099ba455e429bac7b8b0bbb9bd0d7ea",
      "parents": [
        "fbd5060875d25f7764fd1c3d35b83a8ed1d88d7b"
      ],
      "author": {
        "name": "Andy Gospodarek",
        "email": "andy@greyhouse.net",
        "time": "Mon Mar 14 12:05:21 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 16 12:57:53 2011 -0700"
      },
      "message": "bonding: enable netpoll without checking link status\n\nOnly slaves that are up should transmit netpoll frames, so there is no\nneed to check to see if a slave is up before enabling netpoll on it.\nThis resolves a reported failure on active-backup bonds where a slave\ninterface is down when netpoll was enabled.\n\nSigned-off-by: Andy Gospodarek \u003candy@greyhouse.net\u003e\nTested-by: WANG Cong \u003camwang@redhat.com\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": "2d7011ca79f1a8792e04d131b8ea21db179ab917",
      "tree": "5c9c43a4d02c75b3c46e9fff94bb3f77c0607cd7",
      "parents": [
        "e30bc066ab67a4c8abcb972227ffe7c576f06a86"
      ],
      "author": {
        "name": "Jiri Pirko",
        "email": "jpirko@redhat.com",
        "time": "Wed Mar 16 08:46:43 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 16 12:51:20 2011 -0700"
      },
      "message": "bonding: get rid of IFF_SLAVE_INACTIVE netdev-\u003epriv_flag\n\nSince bond-related code was moved from net/core/dev.c into bonding,\nIFF_SLAVE_INACTIVE is no longer needed. Replace is with flag \"inactive\"\nstored in slave structure\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": "e30bc066ab67a4c8abcb972227ffe7c576f06a86",
      "tree": "923689cd4ceade32c85d602a59b4e5feb320c300",
      "parents": [
        "0bd80dad57d82676ee484fb1f9aa4c5e8b5bc469"
      ],
      "author": {
        "name": "Jiri Pirko",
        "email": "jpirko@redhat.com",
        "time": "Sat Mar 12 03:14:37 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 16 12:51:20 2011 -0700"
      },
      "message": "bonding: wrap slave state work\n\ntransfers slave-\u003estate into slave-\u003ebackup (that it\u0027s going to transfer\ninto bitfield. Introduce wrapper inlines to do the work with it.\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": "0bd80dad57d82676ee484fb1f9aa4c5e8b5bc469",
      "tree": "f74ad36f8ab30ef3cff0404946cb440744d2b8b5",
      "parents": [
        "f1c1775ac7e61950225925c949045406ffcb43de"
      ],
      "author": {
        "name": "Jiri Pirko",
        "email": "jpirko@redhat.com",
        "time": "Wed Mar 16 08:45:23 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 16 12:51:19 2011 -0700"
      },
      "message": "net: get rid of multiple bond-related netdevice-\u003epriv_flags\n\nNow when bond-related code is moved from net/core/dev.c into bonding\ncode, multiple priv_flags are not needed anymore. So let them rot.\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": "f1c1775ac7e61950225925c949045406ffcb43de",
      "tree": "dff2fc348c566df3c18f023043fd308bb75662f7",
      "parents": [
        "c888385a0d61c4c6923ecc3b9dacfe8a1d8cb222"
      ],
      "author": {
        "name": "Jiri Pirko",
        "email": "jpirko@redhat.com",
        "time": "Sat Mar 12 03:14:35 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 16 12:51:19 2011 -0700"
      },
      "message": "bonding: register slave pointer for rx_handler\n\nRegister slave pointer as rx_handler data. That would eventually prevent\nneed to loop over slave devices to find the right slave.\n\nUse synchronize_net to ensure that bond_handle_frame does not get slave\nstructure freed when working with that.\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": "5f86cad1e8224af9e3b9b43dd84b146a9ff0df87",
      "tree": "45c7140cd8651fa51a285a4596539a3d56688af1",
      "parents": [
        "e826eafa65c6f1f7c8db5a237556cebac57ebcc5"
      ],
      "author": {
        "name": "Phil Oester",
        "email": "kernel@linuxace.com",
        "time": "Mon Mar 14 06:22:06 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 15 19:29:39 2011 -0700"
      },
      "message": "bonding: Improve syslog message at device creation time\n\nWhen the bonding module is loaded, it creates bond0 by default.\nThen, when attempting to create bond0, the following messages\nare printed to syslog:\n\n    kernel: bonding: bond0 is being created...\n    kernel: bonding: Bond creation failed.\n\nWhich seems to indicate a problem, when in reality there is no\nproblem.  Since the actual error code is passed down from bond_create,\nmake use of it to print a bit less ominous message:\n\n    kernel: bonding: bond0 is being created...\n    kernel: bond0 already exists.\n\nSigned-off-by: Phil Oester \u003ckernel@linuxace.com\u003e\nSigned-off-by: Andy Gospodarek \u003candy@greyhouse.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e826eafa65c6f1f7c8db5a237556cebac57ebcc5",
      "tree": "4f88eb6bd3ae6e963ab02250f3051379e1d91276",
      "parents": [
        "fd0e435b0fe85622f167b84432552885a4856ac8"
      ],
      "author": {
        "name": "Phil Oester",
        "email": "kernel@linuxace.com",
        "time": "Mon Mar 14 06:22:05 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 15 19:29:38 2011 -0700"
      },
      "message": "bonding: Call netif_carrier_off after register_netdevice\n\nBringing up a bond interface with all network cables disconnected\ndoes not properly set the interface as DOWN because the call to\nnetif_carrier_off occurs too early in bond_init.  The call needs\nto occur after register_netdevice has set dev-\u003ereg_state to\nNETREG_REGISTERED, so that netif_carrier_off will trigger the\ncall to linkwatch_fire_event.\n\nSigned-off-by: Phil Oester \u003ckernel@linuxace.com\u003e\nSigned-off-by: Andy Gospodarek \u003candy@greyhouse.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fd0e435b0fe85622f167b84432552885a4856ac8",
      "tree": "787a74b3a33ea940fffbee7a2e46fb14e9c27fa2",
      "parents": [
        "4a37390de98547e42ad0cb617bd2f2d452f2d4c7"
      ],
      "author": {
        "name": "Phil Oester",
        "email": "kernel@linuxace.com",
        "time": "Mon Mar 14 06:22:04 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 15 19:29:37 2011 -0700"
      },
      "message": "bonding: Incorrect TX queue offset\n\nWhen packets come in from a device with \u003e\u003d 16 receive queues\nheaded out a bonding interface, syslog gets filled with this:\n\n    kernel: bond0 selects TX queue 16, but real number of TX queues is 16\n\nbecause queue_mapping is offset by 1.  Adjust return value\nto account for the offset.\n\nThis is a revision of my earlier patch (which did not use the\nskb_rx_queue_* helpers - thanks to Ben for the suggestion).\nAndy submitted a similar patch which emits a pr_warning on\ninvalid queue selection, but I believe the log spew is\nnot useful.  We can revisit that question in the future,\nbut in the interim I believe fixing the core problem is\nworthwhile.\n\nSigned-off-by: Phil Oester \u003ckernel@linuxace.com\u003e\nSigned-off-by: Andy Gospodarek \u003candy@greyhouse.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "78fbfd8a653ca972afe479517a40661bfff6d8c3",
      "tree": "9dccc5c16bf269d53d8499064ec95a998e84c646",
      "parents": [
        "1561747ddf9d28185548687b11aae7074d6129c4"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 12 00:00:52 2011 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 12 15:08:42 2011 -0800"
      },
      "message": "ipv4: Create and use route lookup helpers.\n\nThe idea here is this minimizes the number of places one has to edit\nin order to make changes to how flows are defined and used.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\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": "bd33acc3cc525972ac779067e98efb26516c5b94",
      "tree": "ba11a65bb14001f390abe15644c7397c7ffc4935",
      "parents": [
        "a015f6f49968c330b236ca2f6c2170820414f922"
      ],
      "author": {
        "name": "Amerigo Wang",
        "email": "amwang@redhat.com",
        "time": "Sun Mar 06 21:58:46 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 09 13:32:17 2011 -0800"
      },
      "message": "bonding: move procfs code into bond_procfs.c\n\nV2: Move #ifdef CONFIG_PROC_FS into bonding.h, as suggested by David.\n\nbond_main.c is bloating, separate the procfs code out,\nmove them to bond_procfs.c\n\nSigned-off-by: WANG Cong \u003camwang@redhat.com\u003e\nReviewed-by: Jiri Pirko \u003cjpirko@redhat.com\u003e\nSigned-off-by: Andy Gospodarek \u003candy@greyhouse.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9ac3524a948cab48137a8b40a4fa8ae1092b0a24",
      "tree": "ab03bb4ace08ee4803b01d75e1f85d7e4de7b308",
      "parents": [
        "16d79d7dc98e56d4700054b9b785a92102d8998c"
      ],
      "author": {
        "name": "Nils Carlson",
        "email": "nils.carlson@ericsson.com",
        "time": "Thu Mar 03 22:09:12 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 07 16:02:18 2011 -0800"
      },
      "message": "bonding 802.3ad: Rename rx_machine_lock to state_machine_lock\n\nRename the rx_machine_lock to state_machine_lock as this makes more\nsense in light of it now protecting all the state machines against\nconcurrency.\n\nSigned-off-by: Nils Carlson \u003cnils.carlson@ericsson.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "16d79d7dc98e56d4700054b9b785a92102d8998c",
      "tree": "975e808eed2b39d12fd09bb884fc24dd013410d6",
      "parents": [
        "ce3c869283739379134e1a90c37dd1a30b5f31b7"
      ],
      "author": {
        "name": "Nils Carlson",
        "email": "nils.carlson@ericsson.com",
        "time": "Thu Mar 03 22:09:11 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 07 16:02:17 2011 -0800"
      },
      "message": "bonding 802.3ad: Fix the state machine locking v2\n\nChanges since v1:\n* Clarify an unclear comment\n* Move a (possible) name change to a separate patch\n\nThe ad_rx_machine, ad_periodic_machine and ad_port_selection_logic\nfunctions all inspect and alter common fields within the port structure.\nPrevious to this patch, only the ad_rx_machines were mutexed, and the\nperiodic and port_selection could run unmutexed against an ad_rx_machine\ntrigged by an arriving LACPDU.\n\nThis patch remedies the situation by protecting all the state machines\nfrom concurrency. This is accomplished by locking around all the state\nmachines for a given port, which are executed at regular intervals; and\nthe ad_rx_machine when handling an incoming LACPDU.\n\nSigned-off-by: Nils Carlson \u003cnils.carlson@ericsson.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "541ac7c9b30ee2ff84ad87f27e0bc069e143afb5",
      "tree": "bb1e2377bf33ecee73518b0c517980f5a33b8405",
      "parents": [
        "cca134fe784a01cf4eb9f0621b0104591b7ddfba"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Wed Mar 02 21:07:14 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 07 15:45:08 2011 -0800"
      },
      "message": "bonding: COW before overwriting the destination MAC address\n\nWhen there is a ptype handler holding a clone of this skb, whose\ndestination MAC addresse is overwritten, the owner of this handler may\nget a corrupted packet.\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cca134fe784a01cf4eb9f0621b0104591b7ddfba",
      "tree": "fd273d10393538a13be950a97073c4ea8126ae26",
      "parents": [
        "ef28a4e6ecb8fbe742ea51fc9ec836b5289d1301"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Wed Mar 02 18:26:21 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 07 15:45:07 2011 -0800"
      },
      "message": "bonding: remove the unused dummy functions when net poll controller isn\u0027t enabled\n\nThese two functions are only used when net poll controller is enabled.\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b23dd4fe42b455af5c6e20966b7d6959fa8352ea",
      "tree": "bf97323eae9a8d084170e573ff2c0c40bc72c3cd",
      "parents": [
        "452edd598f60522c11f7f88fdbab27eb36509d1a"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 02 14:31:35 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 02 14:31:35 2011 -0800"
      },
      "message": "ipv4: Make output route lookup return rtable directly.\n\nInstead of on the stack.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e364a3416d81c7717dd642dc9b3ab132b7885f66",
      "tree": "4ca2bccdb3db1d08378da976f7e53e3ccfa426c8",
      "parents": [
        "8da83f8e73a42fa3142843938aa1590b82acb6ec"
      ],
      "author": {
        "name": "Amerigo Wang",
        "email": "amwang@redhat.com",
        "time": "Sun Feb 27 23:34:28 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Feb 28 13:21:28 2011 -0800"
      },
      "message": "bonding: use the correct size for _simple_hash()\n\nClearly it should be the size of -\u003eip_dst here.\nAlthough this is harmless, but it still reads odd.\n\nSigned-off-by: WANG Cong \u003camwang@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4ec952b8ab636e87465ed78a1ca5fa5efe0d5e0f",
      "tree": "20b4dc6b8364aaa8b6315e93e3a680d9ab68bc54",
      "parents": [
        "a693e69897e7811e2790295f38a0ce3a92c4b45c"
      ],
      "author": {
        "name": "stephen hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Wed Feb 23 07:40:33 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Feb 28 12:39:58 2011 -0800"
      },
      "message": "bonding: fix sparse warning\n\nFix use of zero where NULL expected. And wrap long line.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: Jay Vosburgh \u003cfubar@us.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5b2c4dd2ec12cf0e53b2bd2926f0fe2d1fbb4eda",
      "tree": "281cf5e006d738d5121153c564d9b1f48171a366",
      "parents": [
        "e3dfa389fd2c79526b4bbf295726b66d21001664"
      ],
      "author": {
        "name": "Jiri Pirko",
        "email": "jpirko@redhat.com",
        "time": "Wed Feb 23 09:05:42 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Feb 27 23:29:01 2011 -0800"
      },
      "message": "net: convert bonding to use rx_handler\n\nThis patch converts bonding to use rx_handler. Results in cleaner\n__netif_receive_skb() with much less exceptions needed. Also\nbond-specific work is moved into bond code.\n\nDid performance test using pktgen and counting incoming packets by\niptables. No regression noted.\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": "080e4130b1fb6a02e75149a1cccc8192e734713d",
      "tree": "09627d9d6e7811fc4ae119df03b892327efbd0dc",
      "parents": [
        "8a8efa22f51b3c3f879d272914e3dbbc2041bf91"
      ],
      "author": {
        "name": "Amerigo Wang",
        "email": "amwang@redhat.com",
        "time": "Thu Feb 17 23:43:33 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Feb 27 16:11:51 2011 -0800"
      },
      "message": "netpoll: remove IFF_IN_NETPOLL flag\n\nV4: rebase to net-next-2.6\n\nThis patch removes the flag IFF_IN_NETPOLL, we don\u0027t need it any more since\nwe have netpoll_tx_running() now.\n\nSigned-off-by: WANG Cong \u003camwang@redhat.com\u003e\nAcked-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nCc: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8a8efa22f51b3c3f879d272914e3dbbc2041bf91",
      "tree": "dc4fd5df150bec7a54b92dd70f8a1f64c0ce5b26",
      "parents": [
        "70919e23ac35c9c244dfd73f97312894cae7d65f"
      ],
      "author": {
        "name": "Amerigo Wang",
        "email": "amwang@redhat.com",
        "time": "Thu Feb 17 23:43:32 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Feb 27 16:11:50 2011 -0800"
      },
      "message": "bonding: sync netpoll code with bridge\n\nV4: rebase to net-next-2.6\nV3: remove an useless #ifdef.\n\nThis patch unifies the netpoll code in bonding with netpoll code in bridge,\nthanks to Herbert that code is much cleaner now.\n\nSigned-off-by: WANG Cong \u003camwang@redhat.com\u003e\nAcked-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nCc: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9232ecca3ecd2e32140118c8fdabd7f8fb9ef4d5",
      "tree": "083caf3744bb7cd6505d1561b770fdca764dbe68",
      "parents": [
        "fbaec0ea54f7d9131891ff98744e82c073ce03b1"
      ],
      "author": {
        "name": "Jiri Pirko",
        "email": "jpirko@redhat.com",
        "time": "Sun Feb 13 09:33:01 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Feb 13 16:58:40 2011 -0800"
      },
      "message": "bond: implement [add/del]_slave ops\n\nallow enslaving/releasing using netlink interface\n\nSigned-off-by: Jiri Pirko \u003cjpirko@redhat.com\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": "672bda337060fa2ff99866a6ebfa3ae036f8b23b",
      "tree": "3dde2d776d9a38494790a9d8c6eeb593676218b7",
      "parents": [
        "a512b92b3af4b03fc6834617a042dc85fbd4e34e"
      ],
      "author": {
        "name": "Jiri Pirko",
        "email": "jpirko@redhat.com",
        "time": "Tue Jan 25 11:03:25 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jan 25 13:13:16 2011 -0800"
      },
      "message": "bonding: fix return value of couple of store functions\n\ncount is incorrectly returned even in case of fail. Return ret instead.\n\nSigned-off-by: Jiri Pirko \u003cjpirko@redhat.com\u003e\nSigned-off-by: Jay Vosburgh \u003cfubar@us.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": "e92427b289d252cfbd4cb5282d92f4ce1a5bb1fb",
      "tree": "6d30e5e7b7f8e9aaa51d43b7128ac56860fa03bb",
      "parents": [
        "c506653d35249bb4738bb139c24362e1ae724bc1",
        "ec30f343d61391ab23705e50a525da1d55395780"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 24 13:17:06 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 24 13:17:06 2011 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6\n"
    },
    {
      "commit": "b30532515f0a62bfe17207ab00883dd262497006",
      "tree": "136732c3bb862639d3e4c1d5a0f3724cd7e8000d",
      "parents": [
        "6a3c869a6021f4abcd69aa5fbb15c63f69eb36fe"
      ],
      "author": {
        "name": "Neil Horman",
        "email": "nhorman@tuxdriver.com",
        "time": "Thu Jan 20 09:02:31 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 20 16:45:56 2011 -0800"
      },
      "message": "bonding: Ensure that we unshare skbs prior to calling pskb_may_pull\n\nRecently reported oops:\n\nkernel BUG at net/core/skbuff.c:813!\ninvalid opcode: 0000 [#1] SMP\nlast sysfs file: /sys/devices/virtual/net/bond0/broadcast\nCPU 8\nModules linked in: sit tunnel4 cpufreq_ondemand acpi_cpufreq freq_table bonding\nipv6 dm_mirror dm_region_hash dm_log cdc_ether usbnet mii serio_raw i2c_i801\ni2c_core iTCO_wdt iTCO_vendor_support shpchp ioatdma i7core_edac edac_core bnx2\nixgbe dca mdio sg ext4 mbcache jbd2 sd_mod crc_t10dif mptsas mptscsih mptbase\nscsi_transport_sas dm_mod [last unloaded: microcode]\n\nModules linked in: sit tunnel4 cpufreq_ondemand acpi_cpufreq freq_table bonding\nipv6 dm_mirror dm_region_hash dm_log cdc_ether usbnet mii serio_raw i2c_i801\ni2c_core iTCO_wdt iTCO_vendor_support shpchp ioatdma i7core_edac edac_core bnx2\nixgbe dca mdio sg ext4 mbcache jbd2 sd_mod crc_t10dif mptsas mptscsih mptbase\nscsi_transport_sas dm_mod [last unloaded: microcode]\nPid: 0, comm: swapper Not tainted 2.6.32-71.el6.x86_64 #1 BladeCenter HS22\n-[7870AC1]-\nRIP: 0010:[\u003cffffffff81405b16\u003e]  [\u003cffffffff81405b16\u003e]\npskb_expand_head+0x36/0x1e0\nRSP: 0018:ffff880028303b70  EFLAGS: 00010202\nRAX: 0000000000000002 RBX: ffff880c6458ec80 RCX: 0000000000000020\nRDX: 0000000000000000 RSI: 0000000000000000 RDI: ffff880c6458ec80\nRBP: ffff880028303bc0 R08: ffffffff818a6180 R09: ffff880c6458ed64\nR10: ffff880c622b36c0 R11: 0000000000000400 R12: 0000000000000000\nR13: 0000000000000180 R14: ffff880c622b3000 R15: 0000000000000000\nFS:  0000000000000000(0000) GS:ffff880028300000(0000) knlGS:0000000000000000\nCS:  0010 DS: 0018 ES: 0018 CR0: 000000008005003b\nCR2: 00000038653452a4 CR3: 0000000001001000 CR4: 00000000000006e0\nDR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000\nDR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400\nProcess swapper (pid: 0, threadinfo ffff8806649c2000, task ffff880c64f16ab0)\nStack:\n ffff880028303bc0 ffffffff8104fff9 000000000000001c 0000000100000000\n\u003c0\u003e ffff880000047d80 ffff880c6458ec80 000000000000001c ffff880c6223da00\n\u003c0\u003e ffff880c622b3000 0000000000000000 ffff880028303c10 ffffffff81407f7a\nCall Trace:\n\u003cIRQ\u003e\n [\u003cffffffff8104fff9\u003e] ? __wake_up_common+0x59/0x90\n [\u003cffffffff81407f7a\u003e] __pskb_pull_tail+0x2aa/0x360\n [\u003cffffffffa0244530\u003e] bond_arp_rcv+0x2c0/0x2e0 [bonding]\n [\u003cffffffff814a0857\u003e] ? packet_rcv+0x377/0x440\n [\u003cffffffff8140f21b\u003e] netif_receive_skb+0x2db/0x670\n [\u003cffffffff8140f788\u003e] napi_skb_finish+0x58/0x70\n [\u003cffffffff8140fc89\u003e] napi_gro_receive+0x39/0x50\n [\u003cffffffffa01286eb\u003e] ixgbe_clean_rx_irq+0x35b/0x900 [ixgbe]\n [\u003cffffffffa01290f6\u003e] ixgbe_clean_rxtx_many+0x136/0x240 [ixgbe]\n [\u003cffffffff8140fe53\u003e] net_rx_action+0x103/0x210\n [\u003cffffffff81073bd7\u003e] __do_softirq+0xb7/0x1e0\n [\u003cffffffff810d8740\u003e] ? handle_IRQ_event+0x60/0x170\n [\u003cffffffff810142cc\u003e] call_softirq+0x1c/0x30\n [\u003cffffffff81015f35\u003e] do_softirq+0x65/0xa0\n [\u003cffffffff810739d5\u003e] irq_exit+0x85/0x90\n [\u003cffffffff814cf915\u003e] do_IRQ+0x75/0xf0\n [\u003cffffffff81013ad3\u003e] ret_from_intr+0x0/0x11\n \u003cEOI\u003e\n [\u003cffffffff8101bc01\u003e] ? mwait_idle+0x71/0xd0\n [\u003cffffffff814cd80a\u003e] ? atomic_notifier_call_chain+0x1a/0x20\n [\u003cffffffff81011e96\u003e] cpu_idle+0xb6/0x110\n [\u003cffffffff814c17c8\u003e] start_secondary+0x1fc/0x23f\n\nResulted from bonding driver registering packet handlers via dev_add_pack and\nthen trying to call pskb_may_pull. If another packet handler (like for AF_PACKET\nsockets) gets called first, the delivered skb will have a user count \u003e 1, which\ncauses pskb_may_pull to BUG halt when it does its skb_shared check.  Fix this by\ncalling skb_share_check prior to the may_pull call sites in the bonding driver\nto clone the skb when needed.  Tested by myself and the reported successfully.\n\nSigned-off-by: Neil Horman\nCC: Andy Gospodarek \u003candy@greyhouse.net\u003e\nCC: Jay Vosburgh \u003cfubar@us.ibm.com\u003e\nCC: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nSigned-off-by: Jay Vosburgh \u003cfubar@us.ibm.com\u003e\nSigned-off-by: Andy Gospodarek \u003candy@greyhouse.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "008d23e4852d78bb2618f2035f8b2110b6a6b968",
      "tree": "81c88f744f6f3fc84132527c1ddc0b4da410c5e2",
      "parents": [
        "8f685fbda43deccd130d192c9fcef1444649eaca",
        "bfc672dcf323877228682aff79dff8ecd9f30ff8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 10:05:56 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 10:05:56 2011 -0800"
      },
      "message": "Merge branch \u0027for-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial\n\n* \u0027for-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (43 commits)\n  Documentation/trace/events.txt: Remove obsolete sched_signal_send.\n  writeback: fix global_dirty_limits comment runtime -\u003e real-time\n  ppc: fix comment typo singal -\u003e signal\n  drivers: fix comment typo diable -\u003e disable.\n  m68k: fix comment typo diable -\u003e disable.\n  wireless: comment typo fix diable -\u003e disable.\n  media: comment typo fix diable -\u003e disable.\n  remove doc for obsolete dynamic-printk kernel-parameter\n  remove extraneous \u0027is\u0027 from Documentation/iostats.txt\n  Fix spelling milisec -\u003e ms in snd_ps3 module parameter description\n  Fix spelling mistakes in comments\n  Revert conflicting V4L changes\n  i7core_edac: fix typos in comments\n  mm/rmap.c: fix comment\n  sound, ca0106: Fix assignment to \u0027channel\u0027.\n  hrtimer: fix a typo in comment\n  init/Kconfig: fix typo\n  anon_inodes: fix wrong function name in comment\n  fix comment typos concerning \"consistent\"\n  poll: fix a typo in comment\n  ...\n\nFix up trivial conflicts in:\n - drivers/net/wireless/iwlwifi/iwl-core.c (moved to iwl-legacy.c)\n - fs/ext4/ext4.h\n\nAlso fix missed \u0027diabled\u0027 typo in drivers/net/bnx2x/bnx2x.h while at it.\n"
    },
    {
      "commit": "57cc7215b70856dc6bae8e55b00ecd7b1d7429b1",
      "tree": "f6dedefd41e6745a9b801166b99af7d830e41ef2",
      "parents": [
        "37721e1b0cf98cb65895f234d8c500d270546529"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Mon Jan 10 08:18:25 2011 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 10 08:51:44 2011 -0800"
      },
      "message": "headers: kobject.h redux\n\nRemove kobject.h from files which don\u0027t need it, notably,\nsched.h and fs.h.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4b7bd364700d9ac8372eff48832062b936d0793b",
      "tree": "0dbf78c95456a0b02d07fcd473281f04a87e266d",
      "parents": [
        "c0d8768af260e2cbb4bf659ae6094a262c86b085",
        "90a8a73c06cc32b609a880d48449d7083327e11a"
      ],
      "author": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Wed Dec 22 18:57:02 2010 +0100"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Wed Dec 22 18:57:02 2010 +0100"
      },
      "message": "Merge branch \u0027master\u0027 into for-next\n\nConflicts:\n\tMAINTAINERS\n\tarch/arm/mach-omap2/pm24xx.c\n\tdrivers/scsi/bfa/bfa_fcpim.c\n\nNeeded to update to apply fixes for which the old branch was too\noutdated.\n"
    },
    {
      "commit": "b4aa9e05a61b845541fa6f5b1d246976922601f0",
      "tree": "ca94478c3df281ab76a3399f5ba6341ade3f5791",
      "parents": [
        "1dc0f3c54ce1df957f99c17b145488fd03eb1a59",
        "4b8fe66300acb2fba8b16d62606e0d30204022fc"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 17 12:27:22 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 17 12:27:22 2010 -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.h\n\tdrivers/net/wireless/iwlwifi/iwl-1000.c\n\tdrivers/net/wireless/iwlwifi/iwl-6000.c\n\tdrivers/net/wireless/iwlwifi/iwl-core.h\n\tdrivers/vhost/vhost.c\n"
    },
    {
      "commit": "caafa84251b886feb6cdf23d50e2cc99dcdaaaf3",
      "tree": "13f37d7be313fea5eb2b9d8e0557a5e3ff1107fb",
      "parents": [
        "411204a5a1ec1a35363d8ef450c77e2b8235da4d"
      ],
      "author": {
        "name": "Taku Izumi",
        "email": "izumi.taku@jp.fujitsu.com",
        "time": "Sun Dec 12 19:04:43 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Dec 16 13:16:05 2010 -0800"
      },
      "message": "bonding: add the debugfs interface to see RLB hash table\n\nThis patch provices the debugfs interface to see RLB hash table\nlike the following:\n\n# cat /sys/kernel/debug/bonding/bond0/rlb_hash_table\nSourceIP        DestinationIP   Destination MAC   DEV\n10.124.196.205  10.124.196.205  ff:ff:ff:ff:ff:ff eth4\n10.124.196.205  10.124.196.81   00:19:99:XX:XX:XX eth3\n10.124.196.205  10.124.196.1    00:21:d8:XX:XX:XX eth0\n\nThis is helpful to check if the receive load balancing works as expected.\n\nSigned-off-by: Taku Izumi \u003cizumi.taku@jp.fujitsu.com\u003e\nSigned-off-by: Jay Vosburgh \u003cfubar@us.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "411204a5a1ec1a35363d8ef450c77e2b8235da4d",
      "tree": "6f40217c3a6d3f7395507880a86aad1a158b047b",
      "parents": [
        "ad6bad3efbb82206837daad8cba2bc9343d778bf"
      ],
      "author": {
        "name": "Taku Izumi",
        "email": "izumi.taku@jp.fujitsu.com",
        "time": "Sun Dec 12 19:03:24 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Dec 16 13:16:05 2010 -0800"
      },
      "message": "bonding: migrate some macros from bond_alb.c to bond_alb.h\n\nThis patch simply migrates some macros from bond_alb.c to bond_alb.h.\n\nSigned-off-by: Taku Izumi \u003cizumi.taku@jp.fujitsu.com\u003e\nSigned-off-by: Jay Vosburgh \u003cfubar@us.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f88a4a9b65a6f3422b81be995535d0e69df11bb8",
      "tree": "7b9875784d13030b70a0f55219afa97de437b051",
      "parents": [
        "ffa95ed50f9fb2d8faaa6bd73086a7056ea46a06"
      ],
      "author": {
        "name": "Ben Hutchings",
        "email": "bhutchings@solarflare.com",
        "time": "Mon Dec 13 08:20:24 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Dec 16 12:43:22 2010 -0800"
      },
      "message": "bonding/vlan: Fix mangled NAs on slaves without VLAN tag insertion\n\nbond_na_send() attempts to insert a VLAN tag in between building and\nsending packets of the respective formats.  If the slave does not\nimplement hardware VLAN tag insertion then vlan_put_tag() will mangle\nthe network-layer header because the Ethernet header is not present at\nthis point (unlike in bond_arp_send()).\n\nFix this by adding the tag out-of-line and relying on\ndev_hard_start_xmit() to insert it inline if necessary.\n\nSigned-off-by: Ben Hutchings \u003cbhutchings@solarflare.com\u003e\nSigned-off-by: Jay Vosburgh \u003cfubar@us.ibm.com\u003e\nReviewed-by: Jesse Gross \u003cjesse@nicira.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ffa95ed50f9fb2d8faaa6bd73086a7056ea46a06",
      "tree": "17502c5275b8f28563ccfd15f23fe85a5e2dabfe",
      "parents": [
        "8387451e558853f7b513790c0070e3b6f0c135aa"
      ],
      "author": {
        "name": "Ben Hutchings",
        "email": "bhutchings@solarflare.com",
        "time": "Mon Dec 13 08:19:56 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Dec 16 12:43:22 2010 -0800"
      },
      "message": "bonding: Change active slave quietly when bond is down\n\nbond_change_active_slave() may be called when a slave is added, even\nif the bond has not been brought up yet.  It may then attempt to send\npackets, and further it may use mcast_work which is uninitialised\nbefore the bond is brought up.  Add the necessary checks for\nnetif_running(bond-\u003edev).\n\nSigned-off-by: Ben Hutchings \u003cbhutchings@solarflare.com\u003e\nSigned-off-by: Jay Vosburgh \u003cfubar@us.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8387451e558853f7b513790c0070e3b6f0c135aa",
      "tree": "4ba7b1c1190e690f750323dc802b9d5b4337a76d",
      "parents": [
        "42dccd1f757d674a6604077a61d1577d1578c755"
      ],
      "author": {
        "name": "Ben Hutchings",
        "email": "bhutchings@solarflare.com",
        "time": "Mon Dec 13 08:19:28 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Dec 16 12:43:21 2010 -0800"
      },
      "message": "bonding/vlan: Remove redundant VLAN tag insertion logic\n\nA bond may have a mixture of slave devices with and without hardware\nVLAN tag insertion capability.  Therefore it always claims this\ncapability and performs software VLAN tag insertion if the slave does\nnot.\n\nSince commit 7b9c60903714bf0a19d746b228864bad3497284e, this has\nalso been done by dev_hard_start_xmit().  The result is that VLAN-\ntagged skbs are now double-tagged when transmitted through slave\ndevices without hardware VLAN tag insertion!\n\nRemove the now-redundant logic from bond_dev_queue_xmit().\n\nSigned-off-by: Ben Hutchings \u003cbhutchings@solarflare.com\u003e\nSigned-off-by: Jay Vosburgh \u003cfubar@us.ibm.com\u003e\nReviewed-by: Jesse Gross \u003cjesse@nicira.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "af3e5bd5f650163c2e12297f572910a1af1b8236",
      "tree": "378ed230dc95ca29058c772aaf38aee44e583f63",
      "parents": [
        "82cc4f5cb8be6dede34c32a814ab1470409e1840"
      ],
      "author": {
        "name": "Hillf Danton",
        "email": "dhillf@gmail.com",
        "time": "Fri Dec 10 18:54:11 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Dec 16 12:24:02 2010 -0800"
      },
      "message": "bonding: Fix slave selection bug.\n\nThe returned slave is incorrect, if the net device under check is not\ncharged yet by the master.\n\nSigned-off-by: Hillf Danton \u003cdhillf@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f073c7ca29a4a7e14060d9d3ddf09bfbb7cd9cc0",
      "tree": "d545b7e77908ffb101c16d1be8cfe641828fa9b9",
      "parents": [
        "6c2c9d964e71770e7d6efc1a82f3621005d12185"
      ],
      "author": {
        "name": "Taku Izumi",
        "email": "izumi.taku@jp.fujitsu.com",
        "time": "Thu Dec 09 15:17:13 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 10 16:24:33 2010 -0800"
      },
      "message": "bonding: add the debugfs facility to the bonding driver\n\nThis patch provides the debugfs facility to the bonding driver.\nThe \"bonding\" directory is created in the debugfs root and directories of\neach bonding interface (like bond0, bond1...) are created in that.\n\n # mount -t debugfs none /sys/kernel/debug\n\n # ls /sys/kernel/debug/bonding\n bond0  bond1\n\nSigned-off-by: Taku Izumi \u003cizumi.taku@jp.fujitsu.com\u003e\nSigned-off-by: Jay Vosburgh \u003cfubar@us.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fb4fa76a1fa59340154c42d998d700e1f8bf21e0",
      "tree": "c9d66f1bd9468708ad5a241aa818c075f93f071f",
      "parents": [
        "4e085e76cbe558b79b54cbab772f61185879bc64"
      ],
      "author": {
        "name": "Neil Horman",
        "email": "nhorman@tuxdriver.com",
        "time": "Mon Dec 06 09:05:50 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Dec 09 20:33:46 2010 -0800"
      },
      "message": "net: Convert netpoll blocking api in bonding driver to be a counter\n\nA while back I made some changes to enable netpoll in the bonding driver.  Among\nthem was a per-cpu flag that indicated we were in a path that held locks which\ncould cause the netpoll path to block in during tx, and as such the tx path\nshould queue the frame for later use.  This appears to have given rise to a\nregression.  If one of those paths on which we hold the per-cpu flag yields the\ncpu, its possible for us to come back on a different cpu, leading to us clearing\na different flag than we set.  This results in odd netpoll drops, and BUG\nbacktraces appearing in the log, as we check to make sure that we only clear set\nbits, and only set clear bits.  I had though briefly about changing the\noffending paths so that they wouldn\u0027t sleep, but looking at my origional work\nmore closely, it doesn\u0027t appear that a per-cpu flag is warranted.  We alrady\ngate the checking of this flag on IFF_IN_NETPOLL, so we don\u0027t hit this in the\nnormal tx case anyway.  And practically speaking, the normal use case for\nnetpoll is to only have one client anyway, so we\u0027re not going to erroneously\nqueue netpoll frames when its actually safe to do so.  As such, lets just\nconvert that per-cpu flag to an atomic counter.  It fixes the rescheduling bugs,\nis equivalent from a performance perspective and actually eliminates some code\nin the process.\n\nTested by the reporter and myself, successfully\n\nReported-by: Liang Zheng \u003clzheng@redhat.com\u003e\nCC: Jay Vosburgh \u003cfubar@us.ibm.com\u003e\nCC: Andy Gospodarek \u003candy@greyhouse.net\u003e\nCC: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fe6c791570efe717946ea7b7dd50aec96b70d551",
      "tree": "1becb5e8aea7a9c9a7d78f987bd73b0a5d8ee434",
      "parents": [
        "f8bf5681cf15f77692c8ad8cb95d059ff7c622c9",
        "f19872575ff7819a3723154657a497d9bca66b33"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 08 13:15:38 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 08 13:47:38 2010 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tdrivers/net/wireless/ath/ath9k/ar9003_eeprom.c\n\tnet/llc/af_llc.c\n"
    },
    {
      "commit": "d13a2cb63d06fe2e3067c7d40f9a5946abd614c8",
      "tree": "02c1a03ebd493b1dde6ace6f2ee88bb60866e741",
      "parents": [
        "6c08af030212d1a34593397bb01f262ff31c3629"
      ],
      "author": {
        "name": "David Strand",
        "email": "dpstrand@gmail.com",
        "time": "Wed Dec 01 11:43:08 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 01 11:43:08 2010 -0800"
      },
      "message": "bonding: check for assigned mac before adopting the slaves mac address\n\nRestore the check for an unassigned mac address before adopting the\nfirst slaves as it\u0027s own. The change in behavior was introduced by:\n\ncommit c20811a79e671a6a1fe86a8c1afe04aca8a7f085\nAuthor: Jiri Pirko \u003cjpirko@redhat.com\u003e\n\n    bonding: move dev_addr cpy to bond_enslave\n\n\nSigned-off-by: David Strand \u003cdpstrand@gmail.com\u003e\nSigned-off-by: Jay Vosburgh \u003cfubar@us.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "24912420e923d56461b400d83f250a31bed8a964",
      "tree": "3bb599e665ed7510df2e3f4c8cb008f7a33f50a9",
      "parents": [
        "0670b8ae66daf1d326c7bd10e73daff5f18fcf92",
        "0302b8622ce696af1cda22fcf207d3793350e896"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Nov 19 13:13:47 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Nov 19 13:13:47 2010 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tdrivers/net/bonding/bond_main.c\n\tnet/core/net-sysfs.c\n\tnet/ipv6/addrconf.c\n"
    },
    {
      "commit": "866f3b25a2eb60d7529c227a0ecd80c3aba443fd",
      "tree": "b11b24cf158a232641548b6c652bf9e001ae1446",
      "parents": [
        "dda0b38692a7298f433b92b1329867b1ecabb4bb"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Nov 18 09:33:19 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 18 09:33:19 2010 -0800"
      },
      "message": "bonding: IGMP handling cleanup\n\nInstead of iterating in_dev-\u003emc_list from bonding driver, its better\nto call a helper function provided by igmp.c\nDetails of implementation (locking) are private to igmp code.\n\nip_mc_rejoin_group(struct ip_mc_list *im) becomes\nip_mc_rejoin_groups(struct in_device *in_dev);\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3006bc38895895f1a0352c2e17e1a503f35f7e2f",
      "tree": "24a3a9ecbee9215898b4c6b30357740eeeb632bb",
      "parents": [
        "28cb6ccd2c7e86b3a4db94c7062cd27937bed424"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Nov 18 09:30:42 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 18 09:30:42 2010 -0800"
      },
      "message": "bonding: fix a race in IGMP handling\n\nRCU conversion in IGMP code done in net-next-2.6 raised a race in\n__bond_resend_igmp_join_requests().\n\nIt iterates in_dev-\u003emc_list without appropriate protection (RTNL, or\nread_lock on in_dev-\u003emc_list_lock).\n\nAnother cpu might delete an entry while we use it and trigger a fault.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c04914af6861d62df303aeedbbe554972ce4e736",
      "tree": "47e835b36264498574a6e09e8d1032ece0cbcdfc",
      "parents": [
        "a17531fa4c951f32ca4f90b04ca42cfb11924098"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Mon Nov 15 11:12:25 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 17 10:36:50 2010 -0800"
      },
      "message": "drivers/net/bonding: Remove unnecessary casts of netdev_priv\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e4a7b93bd5d84e1e79917d024d17d745d190fc9a",
      "tree": "84a80b1b60ca952498a6e8e5587256a5bb8d54cf",
      "parents": [
        "840a185dddfd098b78b96a30da4cad722a7aef18"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Fri Oct 29 01:52:46 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 08 13:50:07 2010 -0800"
      },
      "message": "bonding: remove dev_base_lock use\n\nbond_info_seq_start() uses a read_lock(\u0026dev_base_lock) to make sure\ndevice doesn’t disappear. Same goal can be achieved using RCU.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b595076a180a56d1bb170e6eceda6eb9d76f4cd3",
      "tree": "bc01ec7283808013e0b8ce7713fd6fc40f810429",
      "parents": [
        "6aaccece1c483f189f76f1282b3984ff4c7ecb0a"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@pengutronix.de",
        "time": "Mon Nov 01 15:38:34 2010 -0400"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Mon Nov 01 15:38:34 2010 -0400"
      },
      "message": "tree-wide: fix comment/printk typos\n\n\"gadget\", \"through\", \"command\", \"maintain\", \"maintain\", \"controller\", \"address\",\n\"between\", \"initiali[zs]e\", \"instead\", \"function\", \"select\", \"already\",\n\"equal\", \"access\", \"management\", \"hierarchy\", \"registration\", \"interest\",\n\"relative\", \"memory\", \"offset\", \"already\",\n\nSigned-off-by: Uwe Kleine-König \u003cu.kleine-koenig@pengutronix.de\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "a71fb88145a03678fef3796930993e390db68a15",
      "tree": "d35645b0f3768861e2b18723c2a4bcc68c0034eb",
      "parents": [
        "74b0b85b88aaa952023762e0280799aaae849841"
      ],
      "author": {
        "name": "Jarek Poplawski",
        "email": "jarkao2@gmail.com",
        "time": "Wed Oct 27 07:08:22 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 27 14:24:07 2010 -0700"
      },
      "message": "bonding: Fix lockdep warning after bond_vlan_rx_register()\n\nFix lockdep warning:\n[   52.991402] \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n[   52.991511] [ INFO: SOFTIRQ-safe -\u003e SOFTIRQ-unsafe lock order detected ]\n[   52.991569] 2.6.36-04573-g4b60626-dirty #65\n[   52.991622] ------------------------------------------------------\n[   52.991696] ip/4842 [HC0[0]:SC0[4]:HE1:SE0] is trying to acquire:\n[   52.991758]  (\u0026bond-\u003elock){++++..}, at: [\u003cefe4d300\u003e] bond_set_multicast_list+0x60/0x2c0 [bonding]\n[   52.991966]\n[   52.991967] and this task is already holding:\n[   52.992008]  (\u0026bonding_netdev_addr_lock_key){+.....}, at: [\u003cc04e5530\u003e] dev_mc_sync+0x50/0xa0\n[   52.992008] which would create a new lock dependency:\n[   52.992008]  (\u0026bonding_netdev_addr_lock_key){+.....} -\u003e (\u0026bond-\u003elock){++++..}\n[   52.992008]\n[   52.992008] but this new dependency connects a SOFTIRQ-irq-safe lock:\n[   52.992008]  (\u0026(\u0026mc-\u003emca_lock)-\u003erlock){+.-...}\n[   52.992008] ... which became SOFTIRQ-irq-safe at:\n[   52.992008]   [\u003cc0272beb\u003e] __lock_acquire+0x96b/0x1960\n[   52.992008]   [\u003cc027415e\u003e] lock_acquire+0x7e/0xf0\n[   52.992008]   [\u003cc05f356d\u003e] _raw_spin_lock_bh+0x3d/0x50\n[   52.992008]   [\u003cc0584e40\u003e] mld_ifc_timer_expire+0xf0/0x280\n[   52.992008]   [\u003cc024cee6\u003e] run_timer_softirq+0x146/0x310\n[   52.992008]   [\u003cc024591d\u003e] __do_softirq+0xad/0x1c0\n[   52.992008]\n[   52.992008] to a SOFTIRQ-irq-unsafe lock:\n[   52.992008]  (\u0026bond-\u003elock){++++..}\n[   52.992008] ... which became SOFTIRQ-irq-unsafe at:\n[   52.992008] ...  [\u003cc0272c3b\u003e] __lock_acquire+0x9bb/0x1960\n[   52.992008]   [\u003cc027415e\u003e] lock_acquire+0x7e/0xf0\n[   52.992008]   [\u003cc05f36b8\u003e] _raw_write_lock+0x38/0x50\n[   52.992008]   [\u003cefe4cbe4\u003e] bond_vlan_rx_register+0x24/0x70 [bonding]\n[   52.992008]   [\u003cc0598010\u003e] register_vlan_dev+0xc0/0x280\n[   52.992008]   [\u003cc0599f3a\u003e] vlan_newlink+0xaa/0xd0\n[   52.992008]   [\u003cc04ed4b4\u003e] rtnl_newlink+0x404/0x490\n[   52.992008]   [\u003cc04ece35\u003e] rtnetlink_rcv_msg+0x1e5/0x220\n[   52.992008]   [\u003cc050424e\u003e] netlink_rcv_skb+0x8e/0xb0\n[   52.992008]   [\u003cc04ecbac\u003e] rtnetlink_rcv+0x1c/0x30\n[   52.992008]   [\u003cc0503bfb\u003e] netlink_unicast+0x24b/0x290\n[   52.992008]   [\u003cc0503e37\u003e] netlink_sendmsg+0x1f7/0x310\n[   52.992008]   [\u003cc04cd41c\u003e] sock_sendmsg+0xac/0xe0\n[   52.992008]   [\u003cc04ceb80\u003e] sys_sendmsg+0x130/0x230\n[   52.992008]   [\u003cc04cf04e\u003e] sys_socketcall+0xde/0x280\n[   52.992008]   [\u003cc0202d10\u003e] sysenter_do_call+0x12/0x36\n[   52.992008]\n[   52.992008] other info that might help us debug this:\n...\n[ Full info at netdev: Wed, 27 Oct 2010 12:24:30 +0200\n  Subject: [BUG net-2.6 vlan/bonding] lockdep splats ]\n\nUse BH variant of write_lock(\u0026bond-\u003elock) (as elsewhere in bond_main)\nto prevent this dependency.\n\nFixes commit f35188faa0fbabefac476536994f4b6f3677380f [v2.6.36]\n\nReported-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nTested-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: Jarek Poplawski \u003cjarkao2@gmail.com\u003e\nAcked-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Jay Vosburgh \u003cfubar@us.ibm.com\u003e\n"
    },
    {
      "commit": "7bfc47532301a84c575cfc20b4531f5de5c326bc",
      "tree": "fbe14b9923e12084c1b983fc09ba8158744907cc",
      "parents": [
        "128ea6c3eece8e87c05813d3a57f4ea079c3dbc7"
      ],
      "author": {
        "name": "Bandan Das",
        "email": "bandan.das@stratus.com",
        "time": "Sat Oct 16 20:19:59 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 21 03:09:49 2010 -0700"
      },
      "message": "bonding: cleanup: remove braces from single block statements\n\ncheckpatch.pl cleanup : Remove braces from single statement\nblocks.\n\nSigned-off-by: Bandan Das \u003cbandan.das@stratus.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "128ea6c3eece8e87c05813d3a57f4ea079c3dbc7",
      "tree": "8ccdf5b26793039947df1b03628166e6371de9b6",
      "parents": [
        "7453da829786061e81c9c11b7a34a2834146894f"
      ],
      "author": {
        "name": "Bandan Das",
        "email": "bandan.das@stratus.com",
        "time": "Sat Oct 16 20:19:58 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 21 03:09:49 2010 -0700"
      },
      "message": "bonding: cleanup : add space around operators\n\ncheckpatch.pl cleanup: Added spaces around operators at various places.\nAlso fixed some c99 style comments that I came across.\n\nSigned-off-by: Bandan Das \u003cbandan.das@stratus.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "26d8ee75e08cfca8b65ade871d68c8cd96e4ea23",
      "tree": "d27ed544e355915b8624a59ebcdc97d1a3e3a118",
      "parents": [
        "1c4c40c42da468ef02dc04940930c1926c964558"
      ],
      "author": {
        "name": "stephen hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Fri Oct 15 05:09:34 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 21 03:09:46 2010 -0700"
      },
      "message": "bonding: make release_and_destroy static\n\nOnly used in main file.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nAcked-by: Andy Gospodarek \u003candy@greyhouse.net\u003e\nSigned-off-by: Jay Vosburgh \u003cfubar@us.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "379b7383413d883ffc4db55914626ca303e6f7f5",
      "tree": "95b004fbb4f4064e277ce0913a9001c113f322e4",
      "parents": [
        "d215697fe14a0c5a96765c6279b4751e632587a5"
      ],
      "author": {
        "name": "stephen hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Fri Oct 15 11:02:56 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 21 03:09:43 2010 -0700"
      },
      "message": "bonding: make bond_resend_igmp_join_requests_delayed static\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nAcked-by: Flavio Leitner \u003cfleitner@redhat.com\u003e\nSigned-off-by: Jay Vosburgh \u003cfubar@us.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9ff76c951c5194d44a7cdce51d807d67fc3ae514",
      "tree": "afd0af3d6c304e58483c59ffeaaf0f2c30b10a31",
      "parents": [
        "0683e31ad5d9b4cab3cc32d033269e8cf675823a"
      ],
      "author": {
        "name": "Neil Horman",
        "email": "nhorman@tuxdriver.com",
        "time": "Tue Oct 19 07:04:25 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 20 01:44:29 2010 -0700"
      },
      "message": "netpoll: Remove netpoll blocking from uninit path\n\nSome recent testing in netpoll with bonding showed this backtrace\n\n ------------[ cut here ]------------\n kernel BUG at drivers/net/bonding/bonding.h:134!\n invalid opcode: 0000 [#1] SMP\n last sysfs file: /sys/devices/pci0000:00/0000:00:1d.2/usb7/devnum\n CPU 0\n Pid: 1876, comm: rmmod Not tainted 2.6.36-rc3+ #10 D26928/\n RIP: 0010:[\u003cffffffffa0514ba4\u003e]  [\u003cffffffffa0514ba4\u003e] bond_uninit+0x6f4/0x7a0\n RSP: 0018:ffff88003b1b5d58  EFLAGS: 00010296\n RAX: ffff88003b9b6200 RBX: ffff8800373e8e00 RCX: 00000000000f4240\n RDX: 00000000ffffffff RSI: 0000000000000286 RDI: 0000000000000286\n RBP: ffff88003b1b5dc8 R08: 0000000000000000 R09: 00000001af7de920\n R10: 0000000000000000 R11: ffff880002495e98 R12: ffff880037922700\n R13: ffff880038c31000 R14: ffff880037922730 R15: 0000000000000286\n FS:  00007f90e6d72700(0000) GS:ffff880002400000(0000) knlGS:0000000000000000\n CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b\n CR2: 000000346f0d9ad0 CR3: 000000003b263000 CR4: 00000000000006f0\n DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000\n DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400\n Process rmmod (pid: 1876, threadinfo ffff88003b1b4000, task ffff88003b36aa80)\n Stack:\n 00000000ffffffff ffff88003b1b5d7a ffff8800379221e8 ffff880037922000\n \u003c0\u003e ffff88003b1b5dc8 ffffffff813eb5fb ffff88003b1b5da8 0000000031b177a3\n \u003c0\u003e ffff88003b1b5da8 ffff880037922000 ffff88003b1b5e48 ffff88003b1b5e48\n Call Trace:\n [\u003cffffffff813eb5fb\u003e] ? rtmsg_ifinfo+0xcb/0xf0\n [\u003cffffffff813daad8\u003e] rollback_registered_many+0x168/0x280\n [\u003cffffffff813dac09\u003e] unregister_netdevice_many+0x19/0x80\n [\u003cffffffff813e97b3\u003e] __rtnl_kill_links+0x63/0x90\n [\u003cffffffff813e980b\u003e] __rtnl_link_unregister+0x2b/0x60\n [\u003cffffffff813e9bde\u003e] rtnl_link_unregister+0x1e/0x30\n [\u003cffffffffa052124b\u003e] bonding_exit+0x37/0x51 [bonding]\n [\u003cffffffff81098b2e\u003e] sys_delete_module+0x19e/0x270\n [\u003cffffffff810bb2b2\u003e] ? audit_syscall_entry+0x252/0x280\n [\u003cffffffff8100b0b2\u003e] system_call_fastpath+0x16/0x1b\n RIP  [\u003cffffffffa0514ba4\u003e] bond_uninit+0x6f4/0x7a0 [bonding]\n RSP \u003cffff88003b1b5d58\u003e\n ---[ end trace 1395ad691cea24d1 ]---\n\nIt occurs because of my recent netpoll blocking patches, which I added to avoid\nrecursive deadlock in the bonding driver.  It relies on some per cpu bits, but\nthe shutdown path forces some rescheduling as we cancel workqueues for the\ndriver and wait for some device refcounts.  If after the forced reschedule, we\nwind up on a different cpu we trigger the bughalt in unblock_netpoll_tx.\n\nThe fix is to remove the netpoll block/unblock calls from bond_release_all.\nThis is safe to do because bond_uninit, which is called via ndo_uninit in\nrollback_registered_many, doesn\u0027t occur until we send a NETDEV_UNREGISTER event,\nwhich triggers netconsole to remove us as a netpoll client, so we are guaranteed\nnot to recurse into our own tx path here.\n\nSigned-off-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nReviewed-by: WANG Cong \u003camwang@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "45b0cb8abdbdd425934f6b02dbb3963dd89fef55",
      "tree": "85f5d0bbee2dbcf4538b62bc0f8e90a2992c4dcb",
      "parents": [
        "3b410a310b48a8e7de3438957635093596ad5ca5"
      ],
      "author": {
        "name": "Neil Horman",
        "email": "nhorman@tuxdriver.com",
        "time": "Wed Oct 13 16:01:53 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 18 08:32:09 2010 -0700"
      },
      "message": "bonding: Re-enable netpoll over bonding\n\nWith the inclusion of previous fixup patches, netpoll over bonding apears to\nwork reliably with failover conditions.  This reverts Gospos previous commit\nc22d7ac844f1cb9c6a5fd20f89ebadc2feef891b, and allows access again to the netpoll\nfunctionality in the bonding driver.\n\nSigned-off-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e843fa50887582c867d8b7995f81fe9c1a076806",
      "tree": "5a8e34f5afaeeed539d519b0e91b7a4c92268b11",
      "parents": [
        "c2355e1ab910278a94d487b78590ee3c8eecd08a"
      ],
      "author": {
        "name": "Neil Horman",
        "email": "nhorman@tuxdriver.com",
        "time": "Wed Oct 13 16:01:50 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 18 08:32:07 2010 -0700"
      },
      "message": "bonding: Fix deadlock in bonding driver resulting from internal locking when using netpoll\n\nThe monitoring paths in the bonding driver take write locks that are shared by\nthe tx path.  If netconsole is in use, these paths can call printk which puts us\nin the netpoll tx path, which, if netconsole is attached to the bonding driver,\nresult in deadlock (the xmit_lock guards are useless in netpoll_send_skb, as the\nmonitor paths in the bonding driver don\u0027t claim the xmit_lock, nor should they).\nThe solution is to use a per cpu flag internal to the driver to indicate when a\ncpu is holding the lock in a path that might recusrse into the tx path for the\ndriver via netconsole.  By checking this flag on transmit, we can defer the\nsending of the netconsole frames until a later time using the retransmit feature\nof netpoll_send_skb that is triggered on the return code NETDEV_TX_BUSY.  I\u0027ve\ntested this and am able to transmit via netconsole while causing failover\nconditions on the bond slave links.\n\nSigned-off-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c2355e1ab910278a94d487b78590ee3c8eecd08a",
      "tree": "6a3adce66355ad36483500475f9931d0e359695e",
      "parents": [
        "c6ce3854f098e1307ecd3bde07903d65fb14a9cb"
      ],
      "author": {
        "name": "Neil Horman",
        "email": "nhorman@tuxdriver.com",
        "time": "Wed Oct 13 16:01:49 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 18 08:32:07 2010 -0700"
      },
      "message": "bonding: Fix bonding drivers improper modification of netpoll structure\n\nThe bonding driver currently modifies the netpoll structure in its xmit path\nwhile sending frames from netpoll.  This is racy, as other cpus can access the\nnetpoll structure in parallel. Since the bonding driver points np-\u003edev to a\nslave device, other cpus can inadvertently attempt to send data directly to\nslave devices, leading to improper locking with the bonding master, lost frames,\nand deadlocks.  This patch fixes that up.\n\nThis patch also removes the real_dev pointer from the netpoll structure as that\ndata is really only used by bonding in the poll_controller, and we can emulate\nits behavior by check each slave for IS_UP.\n\nSigned-off-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "69259abb64d4da77273bf59accfc9fa79e7165f4",
      "tree": "bd043ab03a788b749c8d5ae4049d8defae9abf34",
      "parents": [
        "dd53df265b1ee7a1fbbc76bb62c3bec2383bbd44",
        "12e94471b2be5ef9b55b10004a3a2cd819490036"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 06 19:39:31 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 06 19:39:31 2010 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tdrivers/net/pcmcia/pcnet_cs.c\n\tnet/caif/caif_socket.c\n"
    },
    {
      "commit": "dd53df265b1ee7a1fbbc76bb62c3bec2383bbd44",
      "tree": "33bf0fc60aafea1363ec89cdb756b93414419130",
      "parents": [
        "767e97e1e0db0d0f3152cd2f3bd3403596aedbad"
      ],
      "author": {
        "name": "Krzysztof Oledzki",
        "email": "ole@ans.pl",
        "time": "Thu Sep 30 06:19:04 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 06 18:43:34 2010 -0700"
      },
      "message": "bonding: add Speed/Duplex information to /proc/net/bonding/bond\n\nEffect:\n Slave Interface: eth5\n MII Status: up\n Speed: 10000 Mbps\n Duplex: full\n Link Failure Count: 0\n Permanent HW addr: XX:XX:XX:XX:XX:XX\n Slave queue ID: 0\n\nSigned-off-by: Krzysztof Piotr Oledzki \u003cole@ans.pl\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "546add79468183f266c75c632c96e4b0029e0d96",
      "tree": "1be2cca38edc0d2fdc2f5fc2c9cdddb0585cbaa3",
      "parents": [
        "700c2a779e6d5a60e2ef4716e75ea7f41546602f"
      ],
      "author": {
        "name": "Krzysztof Piotr Oledzki",
        "email": "ole@ans.pl",
        "time": "Wed Oct 06 14:28:22 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 06 14:28:22 2010 -0700"
      },
      "message": "bonding: reread information about speed and duplex when interface goes up\n\nWhen an interface was enslaved when it was down, bonding thinks\nit has speed -1 even after it goes up. This leads into selecting\na wrong active interface in active/backup mode on mixed 10G/1G or\n1G/100M environment.\n\nbefore:\n bonding: bond0: link status definitely up for interface eth5, 100 Mbps full duplex.\n bonding: bond0: link status definitely up for interface eth0, 100 Mbps full duplex.\n\nafter:\n bonding: bond0: link status definitely up for interface eth5, 10000 Mbps full duplex.\n bonding: bond0: link status definitely up for interface eth0, 1000 Mbps full duplex.\n\nSigned-off-by: Krzysztof Piotr Oledzki \u003cole@ans.pl\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "700c2a779e6d5a60e2ef4716e75ea7f41546602f",
      "tree": "c2558f87d2db5d9bc1e2c4110970d6db27d5c02b",
      "parents": [
        "4f5157307652f1cbff2413b5e81ebcadd8e2524b"
      ],
      "author": {
        "name": "Krzysztof Piotr Oledzki",
        "email": "ole@ans.pl",
        "time": "Wed Oct 06 14:25:06 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 06 14:25:06 2010 -0700"
      },
      "message": "bonding: print information about speed and duplex seen by the driver\n\nbefore:\n bonding: bond0: link status definitely up for interface eth5\n bonding: bond0: link status definitely up for interface eth0\n\nafter:\n bonding: bond0: link status definitely up for interface eth5, 100 Mbps full duplex.\n bonding: bond0: link status definitely up for interface eth0, 100 Mbps full duplex.\n\n\nSigned-off-by: Krzysztof Piotr Oledzki \u003cole@ans.pl\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c2952c314b4fe61820ba8fd6c949eed636140d52",
      "tree": "dd7ab927c7d344279e128f38d90387214cd06e13",
      "parents": [
        "e12b453904c54bbdc515778ff664d87a7f9473af"
      ],
      "author": {
        "name": "Flavio Leitner",
        "email": "fleitner@redhat.com",
        "time": "Tue Oct 05 14:23:59 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Oct 05 20:26:58 2010 -0700"
      },
      "message": "bonding: add retransmit membership reports tunable\n\nAllow sysadmins to configure the number of multicast\nmembership report sent on a link failure event.\n\nSigned-off-by: Flavio Leitner \u003cfleitner@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5a37e8ca8536c47871d46c82211f399adf06fd44",
      "tree": "a691902b909171122ebaa51412165051c54a2a85",
      "parents": [
        "a8bb69f78194dc483f6c4a4bf8860c1ede35fa25"
      ],
      "author": {
        "name": "Flavio Leitner",
        "email": "fleitner@redhat.com",
        "time": "Tue Oct 05 14:23:57 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Oct 05 20:26:56 2010 -0700"
      },
      "message": "bonding: rejoin multicast groups on VLANs\n\nDuring a failover, the IGMP membership is sent to update\nthe switch restoring the traffic, but it misses groups added\nto VLAN devices running on top of bonding devices.\n\nThis patch changes it to iterate over all VLAN devices\non top of it sending IGMP memberships too.\n\nSigned-off-by: Flavio Leitner \u003cfleitner@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "27e6f065df132b5270014d3285889b15185e9da9",
      "tree": "b529f186972ab0577e96e4234803d795f143a2bd",
      "parents": [
        "392bd0cb000d4aac9e88e4f50823db85e7220688"
      ],
      "author": {
        "name": "Neil Horman",
        "email": "nhorman@tuxdriver.com",
        "time": "Tue Oct 05 03:39:21 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Oct 05 20:06:01 2010 -0700"
      },
      "message": "bonding: fix WARN_ON when writing to bond_master sysfs file\n\nFix a WARN_ON failure in bond_masters sysfs file\n\nGot a report of this warning recently\n\nbonding: bond0 is being created...\n------------[ cut here ]------------\nWARNING: at fs/proc/generic.c:590 proc_register+0x14d/0x185()\nHardware name: ProLiant BL465c G1\nproc_dir_entry \u0027bonding/bond0\u0027 already registered\nModules linked in: bonding ipv6 tg3 bnx2 shpchp amd64_edac_mod edac_core\nipmi_si\nipmi_msghandler serio_raw i2c_piix4 k8temp edac_mce_amd hpwdt microcode hpsa\ncc\niss radeon ttm drm_kms_helper drm i2c_algo_bit i2c_core [last unloaded:\nscsi_wai\nt_scan]\nPid: 935, comm: ifup-eth Not tainted 2.6.33.5-124.fc13.x86_64 #1\nCall Trace:\n[\u003cffffffff8104b54c\u003e] warn_slowpath_common+0x77/0x8f\n[\u003cffffffff8104b5b1\u003e] warn_slowpath_fmt+0x3c/0x3e\n[\u003cffffffff8114bf0b\u003e] proc_register+0x14d/0x185\n[\u003cffffffff8114c20c\u003e] proc_create_data+0x87/0xa1\n[\u003cffffffffa0211e9b\u003e] bond_create_proc_entry+0x55/0x95 [bonding]\n[\u003cffffffffa0215e5d\u003e] bond_init+0x95/0xd0 [bonding]\n[\u003cffffffff8138cd97\u003e] register_netdevice+0xdd/0x29e\n[\u003cffffffffa021240b\u003e] bond_create+0x8e/0xb8 [bonding]\n[\u003cffffffffa021c4be\u003e] bonding_store_bonds+0xb3/0x1c1 [bonding]\n[\u003cffffffff812aec85\u003e] class_attr_store+0x27/0x29\n[\u003cffffffff8115423d\u003e] sysfs_write_file+0x10f/0x14b\n[\u003cffffffff81101acf\u003e] vfs_write+0xa9/0x106\n[\u003cffffffff81101be2\u003e] sys_write+0x45/0x69\n[\u003cffffffff81009b02\u003e] system_call_fastpath+0x16/0x1b\n---[ end trace a677c3f7f8b16b1e ]---\nbonding: Bond creation failed.\n\nIt happens because a user space writer to bond_master can try to\nregister an already existing bond interface name.  Fix it by teaching\nbond_create to check for the existance of devices with that name first\nin cases where a non-NULL name parameter has been passed in\n\nSigned-off-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    }
  ],
  "next": "e40051d134f7ee95c8c1f7a3471e84eafc9ab326"
}
