title: Linux asynchronous I/O queue
body: <p>In the context of block devices like a file; are Linux kernel AIO functions like <code>io_submit()</code> only asynchronous <em>within</em> the supplied queue of I/O operations, or are they (also) asynchronous across several prosesses and/or threads that also have queues of I/O operations on the same file.</p>
  
  <blockquote>
    <p>Doc says: The <strong>io_submit()</strong> system call queues nr I/O request blocks for
    processing in the AIO context ctx_id.  The iocbpp argument should be
    an array of nr AIO control blocks, which will be submitted to context
    ctx_id.</p>
  </blockquote>
  
  <p><strong>Update:</strong></p>
  
  <p>Example: 
  If I spawn two threads, both have 100 queued I/O operations on the same file and both call <code>io_submit()</code> at approx. the same time; will <em>all</em> 200 I/O operations be asynchronous or will thread #1's 100 I/O operations only be asynchronous in regards to each other but block thread #2 until all thread #1's I/O operations are done?</p>