Re: AIO Support and related package information??

From: vikas gupta
Date: Thu Sep 22 2005 - 22:18:01 EST


hi Sebastein,
Well Thanks For your Reply...
I will Try to Provide support on Arm Platform ...
but while cross building in configure script only i am
getting error i had given follwing option with
configure script
CC=<pathto cross compiler> ./configure --host=<arm
host> --prefix=<build library>

But i am getting errors ...
Can you please look into the matter

Thanks in advance



--- Sébastien Dugué <sebastien.dugue@xxxxxxxx> wrote:

> 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,
>
=== message truncated ===




__________________________________________________________
Yahoo! India Matrimony: Find your partner now. Go to http://yahoo.shaadi.com
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/