From owner-cvs-src@FreeBSD.ORG Wed Oct 12 17:51:32 2005 Return-Path: X-Original-To: cvs-src@FreeBSD.org Delivered-To: cvs-src@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 5B02516A41F; Wed, 12 Oct 2005 17:51:32 +0000 (GMT) (envelope-from ambrisko@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 29E0B43D45; Wed, 12 Oct 2005 17:51:32 +0000 (GMT) (envelope-from ambrisko@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j9CHpVMa060560; Wed, 12 Oct 2005 17:51:32 GMT (envelope-from ambrisko@repoman.freebsd.org) Received: (from ambrisko@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j9CHpVdP060559; Wed, 12 Oct 2005 17:51:31 GMT (envelope-from ambrisko) Message-Id: <200510121751.j9CHpVdP060559@repoman.freebsd.org> From: Doug Ambrisko Date: Wed, 12 Oct 2005 17:51:31 +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/sys event.h src/sys/kern kern_event.c vfs_aio.c X-BeenThere: cvs-src@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 12 Oct 2005 17:51:32 -0000 ambrisko 2005-10-12 17:51:31 UTC FreeBSD src repository Modified files: sys/sys event.h sys/kern kern_event.c vfs_aio.c Log: Add in kqueue support to LIO event notification and fix how it handled notifications when LIO operations completed. These were the problems with LIO event complete notification: - Move all LIO/AIO event notification into one general function so we don't have bugs in different data paths. This unification got rid of several notification bugs one of which if kqueue was used a SIGILL could get sent to the process. - Change the LIO event accounting to count all AIO request that could have been split across the fast path and daemon mode. The prior accounting only kept track of AIO op's in that mode and not the entire list of operations. This could cause a bogus LIO event complete notification to occur when all of the fast path AIO op's completed and not the AIO op's that ended up queued for the daemon. Suggestions from: alc Revision Changes Path 1.95 +6 -2 src/sys/kern/kern_event.c 1.197 +198 -121 src/sys/kern/vfs_aio.c 1.33 +2 -2 src/sys/sys/event.h