From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jamie Lokier Subject: Re: readahead on directories Date: Wed, 21 Apr 2010 01:44:34 +0100 Message-ID: <20100421004434.GA27420@shareable.org> References: <4BCC7C05.8000803@cfl.rr.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: linux-fsdevel@vger.kernel.org, Linux-kernel To: Phillip Susi Return-path: Received: from mail2.shareable.org ([80.68.89.115]:46198 "EHLO mail2.shareable.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753231Ab0DUAog (ORCPT ); Tue, 20 Apr 2010 20:44:36 -0400 Content-Disposition: inline In-Reply-To: <4BCC7C05.8000803@cfl.rr.com> Sender: linux-fsdevel-owner@vger.kernel.org List-ID: Phillip Susi wrote: > I have been trying to improve boot times with ureadahead and have > identified a period of time of almost zero IO throughput caused by calls > to open() blocking during name lookup while fetching directory blocks. > At first I thought this could simply be fixed by calling readahead() on > the directories first before open()ing all of the normal files for > readahead. > > Unfortunately it seems that readahead() fails when called on a > directory. I was wondering if I could get some help understanding why > this is, and how it could be fixed. readahead() doesn't make much sense on a directory - the offset and size aren't meaningful. But does plain opendir/readdir/closedir solve the problem? -- Jamie