Linux asynchronous Io support

Source: Internet
Author: User

 

Linux asynchronous Io support:

Http://www.bullopensource.org/posix/


POSIX asynchronous I/O for Linux

POSIX asynchronous I/O for Linux (paols) is an attempt to write a POSIX AIO compliant API Based on Linux kernel 2.6 native AIO API.

This library can work without patching the kernel. Kernel patches are only needed if you want to use posix aio features not available from user-space or to improve performance.












 
Latest news
Wed, 21 Feb 2007:Release 0.8.2

  • A lot of fixes both in the library code and the testcases
  • Support for listio syscall
  • Library is now Mt safe
  • Kernel patches ported to 2.6.20
Mon, 20 Mar 2006:VPC: Release 0.8

  • Fixed x86_64 implementation.
  • Fixed testcases use of volatile Variables
Mon, 7 Nov 2005:VPC: Release 0.7

  • MergedIO_CMD_EVENTAndIO_CMD_CHECKPOINTIntoIO_CMD_GROUPFor listio support.
  • Fixed Buf type fromunsigned char *Tochar *For gcc4 in check/aio_fsync.c.
  • Do not useaiocb->dataTo store a pointer toaiocb. This field was used inUpdate_events ()In src/aio_event.c to retrieveaiocbFromio_event. We can instead useevent->obj.
  • Added missing comma inAio_syscall4In src/syscall_x86.h.
  • Added--enable-debugOption to configure for compiling the library with debug symbols. Changed Configure. AC and src/makefile. AM
  • Changed_ Aio_thread_init ()To takesigeventAs Arg instead ofaiocb.
  • Added new listio testcases in check.
  • Added support patches for the 2.6.14 kernel including Ben lahaise's additions for request Completion notification.
  • Updated support patches for the 2.6.10 and 2.6.12 kernels.
Mon, 25 Jul 2005:VPC: Release 0.6

  • Fixed compilation errors when none of the Kernel patches are applied I. e. No support for AIO and Lio completion signal and no supportIo_setup (0 ,...).
  • Bug fixes concerning buffered AIO support inAio_readAndAio_write.
  • Fixed the type of the buffer (fromUnsigned char *ToChar *) Used for the AIO request in a few places in Testbed for consistency. These were causing compile time errors under GCC 4.0.
  • Bug fix in Kernel patches. InSys_io_submit, The iocb address was passedCreate_lioInstead of whatever the user passed inSigevent sigev_value.
  • Removed automatic checking of Kernel support for buffered AIO in Configure. ac. The feature must be manually enabled or disabled. Default right now is disabled.
  • Added mini testsuite so that doing a 'Make check' after building the library makes sure everything is in order before installing. CurrentlyAio_fsyncAndAio_cancelChecks fail due to lack of support from the kernel.
  • Added support patches for the 2.6.12 kernel.
  • Releases (Library and Kernel patches) are now available on SourceForge.
Older news available here.
 
Library-Kernel patches
Download on SourceForge.
 
POSIX test suite
Posixtestsuite-1.5.0-aio.patch Udpdated AIO test suite in open POSIX Test Suite (patch now supported ded in opts 1.5.1)
 
MySQL PAIO patch
MySQL 4.1.12 patch This patchset provides posix aio support to the MySQL InnoDB engine.
The first patch in the series adds generic posix aio support to the InnoDB engine. The second patch adds detection of libposix-AIO for use in place of librt.
 
Qemu PAIO Patches
Qemu libposix-AIO patch This patch allow to link qemu against libposix-AIO instead of librt. It adds a parameter, "-- enable-libposix-AIO", to enable this feature.
Qemu ide direct I/O patch As memory provided to the IDE device is aligned, this patch uses it instead of internal ide Virtual Device buffer.
 
Benchmark Results
Sysbench-OLTP
 
Old Resources
Old Library releases and Kernel patches
 
Developper
Sé Bastien dugué
Laurent Vivier [GPG key]
 
Documentation
Readme
Posix aio for Linux data structure [Dia]
Lioevent patch description
...
 
Links
 
Kernel Asynchronous I/O (AIO) Support for Linux
The Open Group Base specifications:

  • AIO Rationale
  • AIO system interfaces:
    • AIO. h
    • Aio_cancel
    • Aio_error
    • Aio_fsync
    • Aio_read
    • Aio_return
    • Aio_suspend
    • Aio_write
    • Lio_listio
The single UNIX specification, version 3
POSIX option groups
Open POSIX test suite

 

Page maintained: Sé Bastien dugué. Last Update: 02/28/2007 22:01:19

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.