Re: AIO Support and related package information??

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

 



  Hi Vikas,


On Thu, 2005-09-22 at 04:08 +0100, vikas gupta wrote:
> hello ALL ,
> 
> I am very curious about the AIO support in kernel. I
> have downloaded the
> recent kernel 2.6.13 and applied suparna's patches on
> that but now i got stuck as
> now there are two different packages are available.

  You should try Ben LaHaise's patchset which includes
Suparna's patches. It's available as a single patch at:

http://www.kvack.org/~bcrl/patches/aio-2.6.13-rc6-B1-all.diff 

and broken down at:
http://www.kvack.org/~bcrl/patches/aio-2.6.13-rc6-B1/

> 
> 1) libaio rpm
> 

  libaio is meant as a way for using the kernel AIO support but 
does not provide a POSIX compliant interface.

> There are many rpm available such as
> libaio-0.3.xxx-02.src rpm and many
> more but at http://lse.sourceforge.net/io/aio.html
> ,Somebody has said to use
> libaio-0.3.99 package ..

  I've been using libaio-0.3.92 with success.

> 
> So can you please give me some guidelines on after
> applying the patch how
> to proceed further???
> 
> Is these packages are part of linux kernel
> installation ????
> 
> Is this package implementation is really necessary and
> if yes then what
> are the packages we need to install.
> 
> And if any other resource is required then from where
> i can get that
> resource.
> 
> 2) libposix API library of 
> http://www.bullopensource.org/posix.
> 
>         How to use it???
>         Is it any other way of implementing the AIO
> Support or it is to
> provide posix conformance to the kernel.


  Just like libaio, libposix-aio uses the kernel AIO support but 
provides a POSIX compliant interface.

  There are no man pages yet, but you can look a the SuSV3 
specification (links are on http://www.bullopensource.org/posix/).

  For completeness, I should add that there is a POSIX AIO
implementation in glibc librt but it uses helper threads to achieve
asynchrony and does not use kernel support.

> 
> 3) What is the relation between libposixaio pacakage
> supported by bullsource.net and libaio pacakage
> supported by redhat ....

  None, libposix-aio used to rely on libaio for the syscalls but that's
no longer the case.

> 
> 4) I am able to built that libposix package without
> libaio ??????

  Normal.

> 
> 5) are these pacakages are supported for othewr
> platforms such as arm and ppc ,I am not able to build
> libposix for arm platform.Do Cross compiling is
> supported ???
> 

  Right now support is provided for:

	i386	- tested
	ia64	- not tested
	x86_64	- not tested

  If you're willing to add support for other platforms there is
only one file to add for implementing the architecture dependant
syscalls, such as syscall_arm.h or syscall_ppc.h. Look at the sources.

> 
> 
> 6) How to use these api in test program
> 
>   Can i use it as mentioned below ????
> 
>   Test1.c
> 
>   #include <aio.h>
>   #include <errno.h>
>   #include <stdio.h>
>   #include <string.h>
>   #include <unistd.h>
> 
>   #define BYTES 8
> 
>   int main( int argc, char *argv[] )
>   {
>       int i, r;
>       int fildes;
>       struct aiocb cb;
>       char buff[BYTES];
> 
>       if ((fildes = open( "/etc/resolv.conf", O_RDONLY
> )) < 0) {
>           perror( "opening file" ); return 1;
>       }
> 
>       cb.aio_fildes = fildes;
>       cb.aio_offset = 0;
>       cb.aio_buf = buff;
>       cb.aio_nbytes = BYTES;
>       cb.aio_reqprio = 0;
>       cb.aio_sigevent.sigev_notify = SIGEV_NONE;
> 
>       errno = 0;
>       r = aio_read( &cb );
>       printf( "aio_read() ret: %i\terrno: %i\n", r,
> errno );
> 
>       while (aio_error( &cb ) == EINPROGRESS) {
> usleep( 10 ); }
> 
>       for (i = 0; i < BYTES; i++) { printf( "%c ",
> buff[i] ); } printf(
> "\n" );
> 
>       errno = 0;
>       r = aio_return( &cb );
>       printf( "aio_return() ret: %i\tBYTES: %i\terrno:
> %i\n", r, BYTES,
> errno );
> 
>       return 0;
> }

  That should be OK. Look at the examples in libposix-aio, in
the check and testbed subdirectories.


> 
> 
> 
> Any other information, if u can provide then it will
> be of great use ...
> 
> 
> Thanks in advance ...
> 
> Vikas

  Hope this helps,

  Sébastien.

-- 
------------------------------------------------------

  Sébastien Dugué                BULL/FREC:B1-247
  phone: (+33) 476 29 77 70      Bullcom: 229-7770

  mailto:[email protected]

  Linux POSIX AIO: http://www.bullopensource.org/posix
  
------------------------------------------------------

-
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]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]
  Powered by Linux