From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jay Vosburgh Subject: [PATCH 0/6] bonding workqueue and lock rework Date: Wed, 10 Oct 2007 21:14:03 -0700 Message-ID: <11920760494096-git-send-email-fubar@us.ibm.com> Cc: andy@greyhouse.net To: netdev@vger.kernel.org, jgarzik@pobox.com Return-path: Received: from e35.co.us.ibm.com ([32.97.110.153]:52542 "EHLO e35.co.us.ibm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751267AbXJKEOO (ORCPT ); Thu, 11 Oct 2007 00:14:14 -0400 Received: from d03relay04.boulder.ibm.com (d03relay04.boulder.ibm.com [9.17.195.106]) by e35.co.us.ibm.com (8.13.8/8.13.8) with ESMTP id l9B4EBbZ026779 for ; Thu, 11 Oct 2007 00:14:11 -0400 Received: from d03av01.boulder.ibm.com (d03av01.boulder.ibm.com [9.17.195.167]) by d03relay04.boulder.ibm.com (8.13.8/8.13.8/NCO v8.5) with ESMTP id l9B4EBhF373176 for ; Wed, 10 Oct 2007 22:14:11 -0600 Received: from d03av01.boulder.ibm.com (loopback [127.0.0.1]) by d03av01.boulder.ibm.com (8.12.11.20060308/8.13.3) with ESMTP id l9B4EAQK027139 for ; Wed, 10 Oct 2007 22:14:11 -0600 Sender: netdev-owner@vger.kernel.org List-Id: netdev.vger.kernel.org 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 and myself over the last few months. Patches are relative to netdev-2.6#upstream. -J --- -Jay Vosburgh, IBM Linux Technology Center, fubar@us.ibm.com