From owner-freebsd-arch@FreeBSD.ORG Wed Nov 9 06:18:16 2011 Return-Path: Delivered-To: freebsd-arch@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id EFE771065670; Wed, 9 Nov 2011 06:18:16 +0000 (UTC) (envelope-from tim@kientzle.com) Received: from monday.kientzle.com (99-115-135-74.uvs.sntcca.sbcglobal.net [99.115.135.74]) by mx1.freebsd.org (Postfix) with ESMTP id C988A8FC08; Wed, 9 Nov 2011 06:18:16 +0000 (UTC) Received: (from root@localhost) by monday.kientzle.com (8.14.4/8.14.4) id pA96I8OO088574; Wed, 9 Nov 2011 06:18:08 GMT (envelope-from tim@kientzle.com) Received: from [192.168.2.119] (CiscoE3000 [192.168.1.65]) by kientzle.com with SMTP id vzw4keh838gh4n74yzvdazjisn; Wed, 09 Nov 2011 06:18:08 +0000 (UTC) (envelope-from tim@kientzle.com) Mime-Version: 1.0 (Apple Message framework v1251.1) Content-Type: text/plain; charset=us-ascii From: Tim Kientzle In-Reply-To: <20111109043512.GT6110@elvis.mu.org> Date: Tue, 8 Nov 2011 22:18:07 -0800 Content-Transfer-Encoding: 7bit Message-Id: <3D0BF37D-0C31-4509-A231-F4D1F81472D8@kientzle.com> References: <201110281426.00013.jhb@freebsd.org> <4EB2C9DD.9090606@FreeBSD.org> <20111104160319.GD6110@elvis.mu.org> <201111080800.32717.jhb@freebsd.org> <20111109033504.GS6110@elvis.mu.org> <840E509B-0D63-41C2-B26A-31655F1D42C2@kientzle.com> <20111109043512.GT6110@elvis.mu.org> To: Alfred Perlstein X-Mailer: Apple Mail (2.1251.1) Cc: Bruce Cran , Ed Schouten , freebsd-arch@freebsd.org, Jilles Tjoelker , arch@freebsd.org Subject: Re: [PATCH] fadvise(2) system call X-BeenThere: freebsd-arch@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussion related to FreeBSD architecture List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Nov 2011 06:18:17 -0000 On Nov 8, 2011, at 8:35 PM, Alfred Perlstein wrote: > A query to sysctl, perhaps 'vfs.bufspace' (I haven't bothered to > look at the actual correct sysctl node to query) would give a real > indication of the amount of buffer size there is. The kernel knows the size of the file and knows how much buffer cache there is. So the kernel already knows whether the file will fit. > If the file to > extract is larger than that size, it would be pretty obvious to use > the "will not need" flag for file access. It's not at all obvious. If I have 1GB of cache and I'm going to generate and then read back a 2GB file, the best strategy is to hold the first 1GB in cache. If I'm going to write the file and it will never be read back, then the best strategy is to not cache any of it. Sometimes, a program knows which of these is likely, but if it doesn't know, it shouldn't say. Tim