Date: Mon, 18 Dec 2000 22:32:47 -0800 From: Kirk McKusick <mckusick@mckusick.com> To: Alfred Perlstein <bright@wintelcom.net> Cc: cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: Re: cvs commit: src/sys/ufs/ffs ... Message-ID: <200012190632.WAA29113@beastie.mckusick.com> In-Reply-To: Your message of "Wed, 13 Dec 2000 00:54:20 PST." <20001213005420.Z16205@fw.wintelcom.net>
next in thread | previous in thread | raw e-mail | index | archive | help
Date: Wed, 13 Dec 2000 00:54:20 -0800 From: Alfred Perlstein <bright@wintelcom.net> To: Kirk McKusick <mckusick@FreeBSD.org> Cc: cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: Re: cvs commit: src/sys/ufs/ffs ... Possible, but this doesn't seem like it will always do the job. Why not implement a max amount of requests and block processes who want to add until the threshhold goes below some mark? -- -Alfred Perlstein - [bright@wintelcom.net|alfred@freebsd.org] "I have the heart of a child; I keep it in a jar on my desk." At the time that we are trying to allocate a soft dependency structure, we are deep in the filesystem code holding one or more vnodes locked. If we hold up a process for more than a short time, we run the risk of getting a lock race to the root. For this reason, it is not really possible to hold up any given process for more than a few tens of milliseconds. What this code does accomplish is to ensure that at a time of excessive resouce usage, we free at least as many structures as we allocate (and usually free more than we allocate). So, on each pass into the filesystem things can get no worse and typically get better. This code has been tested on some phenominally busy servers at Yahoo and has made it through comfortably, so I am pretty confident that it will do the right thing. Kirk To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200012190632.WAA29113>