Re: AIO!!

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux