lkml.org 
[lkml]   [2005]   [Oct]   [11]   [last100]   RSS-feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
Complete thread (EXPERIMENTAL)
/
DateTue, 11 Oct 2005 10:34:01 +0530
FromKarthik Sarangan <>
SubjectRe: AIO!!
Digg This
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
)

------------------
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?

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 !! --
Buffer cache does not come into consideration.

Does this mean that the SCSI lower layer (aic79xx) can transfer data only upto 512 KB?

\
ISP Services
Valid XHTML 1.0!\ /
Valid CSS! Last update: 2005-10-11 05:13    [W:2.257 / U:0.030 seconds]
©2003-2005 Jasper Spaans