From owner-freebsd-fs Fri Jul 19 07:32:07 1996 Return-Path: owner-fs Received: (from root@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id HAA28802 for fs-outgoing; Fri, 19 Jul 1996 07:32:07 -0700 (PDT) Received: from dyson.iquest.net (dyson.iquest.net [198.70.144.127]) by freefall.freebsd.org (8.7.5/8.7.3) with ESMTP id HAA28783 for ; Fri, 19 Jul 1996 07:32:02 -0700 (PDT) Received: (from root@localhost) by dyson.iquest.net (8.7.5/8.6.9) id JAA00152; Fri, 19 Jul 1996 09:31:05 -0500 (EST) From: "John S. Dyson" Message-Id: <199607191431.JAA00152@dyson.iquest.net> Subject: Re: RE:About buffer cache To: heo@cslsun10.sogang.ac.kr (Heo Sung Gwan) Date: Fri, 19 Jul 1996 09:31:05 -0500 (EST) Cc: freebsd-fs@FreeBSD.ORG In-Reply-To: <9607191338.AA05500@cslsun10.sogang.ac.kr> from "Heo Sung Gwan" at Jul 19, 96 10:38:44 pm X-Mailer: ELM [version 2.4 PL24 ME8] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: owner-fs@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk > > And there are two possible approaches: > 1. Modification of buffer cache to FIFO buffers dynamically allocated. > 2. User-level process that manages that FIFO buffers that access files > through raw disk without buffer cache. > > > Thanks for your resposes. > On some OSes there is the ability to tune the buffer cache/filesystem to be warned of certain behavior. Specifically, on sequential file reads we will currently retain the old, sequentially read data, non-preferentially. We do have some code in our vfs_bio to remember if a buffer is being accessed repeatedly, but I know that a large, multimedia read will still flush the buffer cache. Should we consider an fcntl or somesuch that will send a hint to the buffer cache code to forget old sequentially read data? This would allow reuse of essentially the same buffer space for multimedia apps. So, instead of a multimedia read taking up the entire cache with stale data, we could free the stale data. And reuse the buffer space. Shouldn't be too hard, but the keepers of the API should tell me where/how to implement the system call hooks... Bruce?, Kirk?, David???, Anyone else have an idea as to where to put the hints? John