From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id ; Mon, 5 Nov 2001 09:24:06 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id ; Mon, 5 Nov 2001 09:23:58 -0500 Received: from leibniz.math.psu.edu ([146.186.130.2]:12181 "EHLO math.psu.edu") by vger.kernel.org with ESMTP id ; Mon, 5 Nov 2001 09:23:53 -0500 Date: Mon, 5 Nov 2001 09:23:41 -0500 (EST) From: Alexander Viro To: Andrew Morton cc: "Albert D. Cahalan" , Mike Fedyk , lkml , ext2-devel@lists.sourceforge.net Subject: Re: [Ext2-devel] disk throughput In-Reply-To: <3BE647F4.AD576FF2@zip.com.au> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org On Mon, 5 Nov 2001, Andrew Morton wrote: > OK, that's one possible reason. Not sure I buy it though. If > the files are created a few days after their parent directory > then the chance of their data or metadata being within device > readhead scope of any of the parent dir's blocks seems small? Algorithm for inode allocation had been written by Kirk back in '84. You can find some analisys in the original paper (A Fast Filesystem for UNIX). BTW, what you want is not "readahead scope of parent dir block". You want inodes of files in given directory close to each other. That matters a lot when you do stat() on directory contents, etc. Moreover, since we attempt to keep data blocks close to inodes, we want to keep use of cylinder groups more or less even.