From owner-freebsd-hackers@freebsd.org Sun Jan 12 12:21:19 2020 Return-Path: Delivered-To: freebsd-hackers@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 1BA2C22DE27 for ; Sun, 12 Jan 2020 12:21:19 +0000 (UTC) (envelope-from wojtek@puchar.net) Received: from puchar.net (puchar.net [194.1.144.90]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 47wbRd3z5Vz4KnM for ; Sun, 12 Jan 2020 12:21:17 +0000 (UTC) (envelope-from wojtek@puchar.net) Received: Received: from 127.0.0.1 (localhost [127.0.0.1]) by puchar.net (8.15.2/8.15.2) with ESMTPS id 00CCLEus061737 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Sun, 12 Jan 2020 13:21:14 +0100 (CET) (envelope-from puchar-wojtek@puchar.net) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=puchar.net; s=default; t=1578831675; bh=KpHngJBrrw8KTF1Fg7qCfKxuw5YaL4MYGcTt9gylDEM=; h=Date:From:To:Subject; b=TqVyDeDiynJrKeQcdpSYxbfIFok+cc5qj9PFCsVc064qzlFIZVPxcYfZ3ApQTStxV NDIKUoogd7b6oeD1r8mqUxm4tYVlYpqSHcz1kCvY7GxSsMKsgiPiEtfc1AR1W4m28y /NssWW17GS4ibYRbXF9K4uASGAwtaVenN2z9qXYc= Received: from localhost (puchar-wojtek@localhost) by puchar.net (8.15.2/8.15.2/Submit) with ESMTP id 00CCLEqe061734 for ; Sun, 12 Jan 2020 13:21:14 +0100 (CET) (envelope-from puchar-wojtek@puchar.net) Date: Sun, 12 Jan 2020 13:21:14 +0100 (CET) From: Wojciech Puchar To: freebsd-hackers@freebsd.org Subject: adding some smartness in file cache Message-ID: User-Agent: Alpine 2.20 (BSF 67 2015-01-07) MIME-Version: 1.0 Content-Type: text/plain; format=flowed; charset=US-ASCII X-Rspamd-Queue-Id: 47wbRd3z5Vz4KnM X-Spamd-Bar: ---- Authentication-Results: mx1.freebsd.org; dkim=fail (rsa verify failed) header.d=puchar.net header.s=default header.b=TqVyDeDi; dmarc=none; spf=pass (mx1.freebsd.org: domain of wojtek@puchar.net designates 194.1.144.90 as permitted sender) smtp.mailfrom=wojtek@puchar.net X-Spamd-Result: default: False [-4.23 / 15.00]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; FROM_HAS_DN(0.00)[]; R_SPF_ALLOW(-0.20)[+mx]; R_DKIM_REJECT(1.00)[puchar.net:s=default]; MIME_GOOD(-0.10)[text/plain]; PREVIOUSLY_DELIVERED(0.00)[freebsd-hackers@freebsd.org]; TO_DN_NONE(0.00)[]; RCPT_COUNT_ONE(0.00)[1]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; DMARC_NA(0.00)[puchar.net]; TO_MATCH_ENVRCPT_ALL(0.00)[]; DKIM_TRACE(0.00)[puchar.net:-]; RCVD_IN_DNSWL_NONE(0.00)[90.144.1.194.list.dnswl.org : 127.0.10.0]; IP_SCORE(-2.93)[ip: (-7.74), ipnet: 194.1.144.0/24(-3.87), asn: 43476(-3.10), country: PL(0.07)]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+]; RCVD_TLS_LAST(0.00)[]; ASN(0.00)[asn:43476, ipnet:194.1.144.0/24, country:PL]; MID_RHS_MATCH_FROM(0.00)[]; RCVD_COUNT_TWO(0.00)[2] X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 12 Jan 2020 12:21:19 -0000 FreeBSD uses unified cache which is generally great but have some disadventages. One common is case of linear reading or writing of large files. This wipes out other things from memory very quickly. Can cache be made to drop every full block (MAXPHYS) from cache instantly after is fully read by user program or is wrote to disk. This way memory would be much better utilized in caching small I/O.