From owner-cvs-src@FreeBSD.ORG Sun Mar 7 11:29:32 2004 Return-Path: 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 DD6CB16A4CE; Sun, 7 Mar 2004 11:29:32 -0800 (PST) Received: from fledge.watson.org (fledge.watson.org [204.156.12.50]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8ACCC43D1D; Sun, 7 Mar 2004 11:29:32 -0800 (PST) (envelope-from robert@fledge.watson.org) Received: from fledge.watson.org (localhost [127.0.0.1]) by fledge.watson.org (8.12.10/8.12.10) with ESMTP id i27JS8xC002773; Sun, 7 Mar 2004 14:28:08 -0500 (EST) (envelope-from robert@fledge.watson.org) Received: from localhost (robert@localhost)i27JS88r002770; Sun, 7 Mar 2004 14:28:08 -0500 (EST) (envelope-from robert@fledge.watson.org) Date: Sun, 7 Mar 2004 14:28:07 -0500 (EST) From: Robert Watson X-Sender: robert@fledge.watson.org To: "Brian F. Feldman" In-Reply-To: <200403071650.i27GoRkA025174@green.homeunix.org> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII cc: Alexander Kabaev cc: cvs-src@FreeBSD.org cc: src-committers@FreeBSD.org cc: cvs-all@FreeBSD.org Subject: Re: cvs commit: src/sys/nfsserver nfs.h nfs_srvsock.c nfs_srvsubs.c X-BeenThere: cvs-src@freebsd.org X-Mailman-Version: 2.1.1 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: Sun, 07 Mar 2004 19:29:33 -0000 On Sun, 7 Mar 2004, Brian F. Feldman wrote: > Alexander Kabaev wrote: > > kan 2004/03/07 08:28:31 PST > > > > FreeBSD src repository > > > > Modified files: > > sys/nfsserver nfs.h nfs_srvsock.c nfs_srvsubs.c > > Log: > > Convert from timeout to callout API. > > > > Submitted by: rwatson > > Does this "fix" the 1KHz interrupts? Unfortunately, no. That will require some changes to the NFS code, but it's not clear how substantial changes are required. Right now, the NFS/RPC code polls a workqueue to see if work needs to happen. With a bit of restructuring, it could move to a more scheduled model, where it relies on callout() to schedule things when they need to happen and maintains a queue or heap of work items. One of the nice things about the callout interface is that it makes the MPSAFE choice explicit to the consumer of the interface... Another problem with the NFS code is that each of these callouts requires Giant; removing Giant from these callouts is another good thing to work on. Robert N M Watson FreeBSD Core Team, TrustedBSD Projects robert@fledge.watson.org Senior Research Scientist, McAfee Research