![]() | |||||||||||||
Messages in this thread |
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:sebastien.dugue@bull.net 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 majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ | ||||||||||||
| Last update: 2005-09-22 07:48 [from the cache] ©2003-2008 | |||||||||||||