From mboxrd@z Thu Jan 1 00:00:00 1970 From: Denis Vlasenko Subject: Re: AIO!! Date: Tue, 11 Oct 2005 12:25:35 +0300 Message-ID: <200510111225.35838.vda@ilport.com.ua> References: <434A6EFC.4010100@cdac.in> <20051010160856.GI13986@kvack.org> <434B47C1.60106@cdac.in> Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <434B47C1.60106@cdac.in> Content-Disposition: inline Sender: linux-kernel-owner@vger.kernel.org To: Karthik Sarangan Cc: Benjamin LaHaise , Linux Kernel Mailing List , Linux SCSI Mailing List List-Id: linux-scsi@vger.kernel.org On Tuesday 11 October 2005 08:04, Karthik Sarangan wrote: > > Benjamin LaHaise wrote: > > O_DIRECT buffers must be aligned on block sized boundaries (minimum 512 > > bytes). Check the actual return code from the aiocb and you'll find that > > it is likely -EINVAL, no -EINPROGRESS. See the man page for > > posix_memalign() to properly align the pointer. > > EEP!! I forgot all about buffer alignment!! Thanks for pointing it out Why do you constantly shout? > ------------------ > Two more questions. > > 1. Is aio_fsync of any use while 'aio_read'ing and 'aio_write'ing to > a 'raw' device or a '/dev/sdb' with O_DIRECT? I suspect you did not do some research first. > 2. I have an Ultra320 SCSI disk whose datasheet says it has a max. > possible throughput of 78MBps > > I did a 'aio_write' onto '/dev/sdb' with O_DIRECT. > Following are some throughput values. > > Buffer for IO | Avg Speed > (in KBytes) | > ----------------O----------- > Upto 512KB | 69MBps > 1024KB | 125MBps > 2048KB | 250MBps > 4096KB | 500MBps > 8192KB | 1GBps -- What the !! -- Most probably bug in your program. > Buffer cache does not come into consideration. > > Does this mean that the SCSI lower layer (aic79xx) can transfer data > only upto 512 KB? It means that you are in dire need of reading this: http://www.catb.org/~esr/faqs/smart-questions.html -- vda