From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id ; Fri, 10 May 2002 20:56:09 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id ; Fri, 10 May 2002 20:56:08 -0400 Received: from e1.ny.us.ibm.com ([32.97.182.101]:51401 "EHLO e1.ny.us.ibm.com") by vger.kernel.org with ESMTP id ; Fri, 10 May 2002 20:56:08 -0400 To: Linus Torvalds cc: Lincoln Dale , Andrew Morton , Alan Cox , Martin Dalecki , Padraig Brady , Anton Altaparmakov , Kernel Mailing List Reply-To: Gerrit Huizenga From: Gerrit Huizenga Subject: Re: O_DIRECT performance impact on 2.4.18 (was: Re: [PATCH] 2.5.14 IDE 56) In-Reply-To: Your message of Fri, 10 May 2002 08:55:32 PDT. MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-ID: <10065.1021078877.1@us.ibm.com> Date: Fri, 10 May 2002 18:01:17 -0700 Message-Id: Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org In message , > : Li nus Torvalds writes: > > > On Fri, 10 May 2002, Lincoln Dale wrote: > > > > so O_DIRECT in 2.4.18 still shows up as a 55% performance hit versus no > > O_DIRECT. anyone have any clues? > > Yes. > > O_DIRECT isn't doing any read-ahead. > > For O_DIRECT to be a win, you need to make it asynchronous. > > Linus O_DIRECT is especially useful for applications which maintain their own cache, e.g. a database. And adding Async to it is an even bigger bonus (another Oracleism we did in PTX). No read ahead, no attempt to keep the buffer in memory until memory pressure kicks in. Just a good tool for doing random IO (like an OLTP database would do). gerrit