From owner-cvs-all@FreeBSD.ORG Sun Mar 16 19:25:31 2008 Return-Path: Delivered-To: cvs-all@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 37C20106566C; Sun, 16 Mar 2008 19:25:31 +0000 (UTC) (envelope-from thompsa@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 2886F8FC1F; Sun, 16 Mar 2008 19:25:31 +0000 (UTC) (envelope-from thompsa@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m2GJPUYg013566; Sun, 16 Mar 2008 19:25:30 GMT (envelope-from thompsa@repoman.freebsd.org) Received: (from thompsa@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m2GJPUNP013565; Sun, 16 Mar 2008 19:25:30 GMT (envelope-from thompsa) Message-Id: <200803161925.m2GJPUNP013565@repoman.freebsd.org> From: Andrew Thompson Date: Sun, 16 Mar 2008 19:25:30 +0000 (UTC) To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org X-FreeBSD-CVS-Branch: HEAD Cc: Subject: cvs commit: src/sys/net ieee8023ad_lacp.c ieee8023ad_lacp.h if_lagg.c X-BeenThere: cvs-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: CVS commit messages for the entire tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 16 Mar 2008 19:25:31 -0000 thompsa 2008-03-16 19:25:30 UTC FreeBSD src repository Modified files: sys/net ieee8023ad_lacp.c ieee8023ad_lacp.h if_lagg.c Log: Switch the LACP state machine over to its own mutex to protect the internals, this means that it no longer grabs the lagg rwlock. Use two port table arrays which list the active ports for Tx and switch between them with an atomic op. Now the lagg rwlock is only exclusively locked for management (ioctls) and queuing of lacp control frames isnt needed. Revision Changes Path 1.15 +103 -124 src/sys/net/ieee8023ad_lacp.c 1.10 +47 -3 src/sys/net/ieee8023ad_lacp.h 1.27 +6 -3 src/sys/net/if_lagg.c