Following are patches to update the locking used in the bonding driver. This involves two basic changes: conversion from timers to workqueues for the various periodic monitor functions, and conversion of locking. These patches should resolve the majority of locking and might sleep related warnings that occur during certain operations.
The workqueue conversion is fairly straightforward, and substitutes workqueue driven events for the existing timer driven events. The locking changes are of two types: first, changes to resolve deadlocks created by the conversion to workqueues, and second, changes to make the locking more correct, which generally involves holding RTNL and no other locks during specific operations. Some of the RTNL-related changes are fairly extensive, and involve either conditional locking or releasing and reacquiring locks in order to obey lock ordering constraints. These changes were developed and extensively tested by Andy Gospodarek <[EMAIL PROTECTED]> and myself over the last few months. Patches are relative to netdev-2.6#upstream. -J --- -Jay Vosburgh, IBM Linux Technology Center, [EMAIL PROTECTED] - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html