BUG: aim7/specjbb2005/fio hang due to commit:597a264b1a9c7e36d1728f

From: Alex,Shi
Date: Sun Jun 13 2010 - 03:08:29 EST


The listed benchmark using loopback mode netio and all hang in 35-rc3
testing. Yanmin and I found it is due to the commit
597a264b1a9c7e36d1728f677c66c5c1f7e3b837.
After revert this patch, all benchmarks can be recovered. Seems the
following line is the suspicious.



+ /*
+ * bonding note: skbs received on inactive slaves should only
+ * be delivered to pkt handlers that are exact matches. Also
+ * the deliver_no_wcard flag will be set. If packet handlers
+ * are sensitive to duplicate packets these skbs will need to
+ * be dropped at the handler. The vlan accel path may have
+ * already set the deliver_no_wcard flag.
+ */
null_or_orig = NULL;
orig_dev = skb->dev;
master = ACCESS_ONCE(orig_dev->master);
- if (master) {
- if (skb_bond_should_drop(skb, master))
+ if (skb->deliver_no_wcard)
+ null_or_orig = orig_dev;
+ else if (master) {
+ if (skb_bond_should_drop(skb, master)) {
+ skb->deliver_no_wcard = 1;
null_or_orig = orig_dev; /* deliver only exact
match */
- else
+ } else
skb->dev = master;
}

Thanks
Alex

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/