Linux非同步IO支援

來源:互聯網
上載者:User

 

Linux非同步IO支援:

http://www.bullopensource.org/posix/


POSIX Asynchronous I/O for Linux

POSIX Asynchronous I/O for Linux (PAIOL) 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: Release 0.8

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

  • Merged IO_CMD_EVENT and IO_CMD_CHECKPOINT into IO_CMD_GROUP for listio support.
  • Fixed buf type from unsigned char * to char * for gcc4 in check/aio_fsync.c.
  • Do not use the aiocb->data to store a pointer to the aiocb. This field was used in update_events() in src/aio_event.c to retrieve the aiocb from the io_event. We can instead use event->obj.
  • Added missing comma in aio_syscall4 in src/syscall_x86.h.
  • Added --enable-debug option to configure for compiling the library with debug symbols. Changed configure.ac and src/Makefile.am
  • Changed __aio_thread_init() to take a sigevent as arg instead of an aiocb.
  • 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: 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 support for io_setup (0, ...).
  • Bug fixes concerning buffered AIO support in aio_read and aio_write.
  • Fixed the type of the buffer (from unsigned char * to char *) 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. In sys_io_submit, the iocb address was passed to create_lio instead of whatever the user passed in the sigevent 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. Currently the aio_fsync and aio_cancel checks 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 included 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 by: Sébastien Dugué. Last update: 02/28/2007 22:01:19

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

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.