From owner-freebsd-current@FreeBSD.ORG Sun Aug 14 13:30:08 2005 Return-Path: X-Original-To: current@FreeBSD.ORG Delivered-To: freebsd-current@FreeBSD.ORG Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 276A416A41F; Sun, 14 Aug 2005 13:30:08 +0000 (GMT) (envelope-from sobomax@portaone.com) Received: from www.portaone.com (support.portaone.com [195.70.151.35]) by mx1.FreeBSD.org (Postfix) with ESMTP id 62BCC43D49; Sun, 14 Aug 2005 13:30:05 +0000 (GMT) (envelope-from sobomax@portaone.com) Received: from [192.168.0.49] (lesnik.portaone.com [195.140.246.50] (may be forged)) (authenticated bits=0) by www.portaone.com (8.12.11/8.12.11) with ESMTP id j7EC1jQA099900 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Sun, 14 Aug 2005 14:01:47 +0200 (CEST) (envelope-from sobomax@portaone.com) Message-ID: <42FF329D.9080608@portaone.com> Date: Sun, 14 Aug 2005 15:01:33 +0300 From: Maxim Sobolev Organization: Porta Software Ltd User-Agent: Mozilla Thunderbird 1.0.6 (Windows/20050716) X-Accept-Language: en-us, en MIME-Version: 1.0 To: Ade Lovett References: <42F7D104.2020103@FreeBSD.org> <42FF0C09.2070204@FreeBSD.org> In-Reply-To: <42FF0C09.2070204@FreeBSD.org> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Virus-Scanned: ClamAV 0.86.2/1017/Sun Aug 14 11:33:43 2005 on www.portaone.com X-Virus-Status: Clean X-Spam-Status: No, score=-5.9 required=5.0 tests=ALL_TRUSTED,BAYES_00 autolearn=ham version=3.0.0 X-Spam-Checker-Version: SpamAssassin 3.0.0 (2004-09-13) on www.portaone.com Cc: current@FreeBSD.ORG Subject: Re: Serious performance issues, broken initialization, and a likely fix X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Maxim.Sobolev@portaone.com List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 14 Aug 2005 13:30:08 -0000 Ade Lovett wrote: > Ade Lovett wrote: > >>To cut a long story short, the order in which nswbuf is being >>initialized is completely, totally, and utterly wrong -- this was >>introduced by revision 1.132 of vm/vnode_pager.c just over 4 years ago. > > > This is now logged as kern/84903 and, as the PR states, IMO 6.0 should > *NOT* be released until a resolution is found to this problem. > > The current misinitialization of nswbuf will affect *any* system where > there are even a reasonable number of attempted concurrent disk reads. > > I'm certainly willing to work with someone to get a definitive patch > made, however we do *not* run HEAD here, only RELENG_6, so that will > have to be taken into consideration. I think kan has already committed a fix for that problem into HEAD. -Maxim kan 2005-08-13 20:21:34 UTC FreeBSD src repository Modified files: sys/kern vfs_cluster.c sys/sys buf.h sys/vm vm_pager.c vnode_pager.c Log: Do not use vm_pager_init() to initialize vnode_pbuf_freecnt variable. vm_pager_init() is run before required nswbuf variable has been set to correct value. This caused system to run with single pbuf available for vnode_pager. Handle both cluster_pbuf_freecnt and vnode_pbuf_freecnt variable in the same way. Reported by: ade Obtained from: alc MFC after: 2 days Revision Changes Path 1.167 +0 -6 src/sys/kern/vfs_cluster.c 1.188 +2 -0 src/sys/sys/buf.h 1.106 +1 -0 src/sys/vm/vm_pager.c 1.223 +0 -9 src/sys/vm/vnode_pager.c