From owner-kaio@oss.sgi.com Tue Dec 12 06:31:23 2000 Received: by oss.sgi.com id ; Tue, 12 Dec 2000 06:31:04 -0800 Received: from bacall.jsc.nasa.gov ([139.169.132.234]:55302 "EHLO bacall.jsc.nasa.gov") by oss.sgi.com with ESMTP id ; Tue, 12 Dec 2000 06:30:53 -0800 Received: from lincom-asg.com (IDENT:jgraham@localhost.localdomain [127.0.0.1]) by bacall.jsc.nasa.gov (8.9.3/8.9.3) with ESMTP id IAA05821 for ; Tue, 12 Dec 2000 08:30:40 -0600 Message-ID: <3A363690.CBE40A3D@lincom-asg.com> Date: Tue, 12 Dec 2000 08:30:40 -0600 From: Jeff Graham X-Mailer: Mozilla 4.76 [en] (X11; U; Linux 2.2.17 i686) X-Accept-Language: en MIME-Version: 1.0 To: kaio@oss.sgi.com Subject: errors when compiling -ansi -Wall -pedantic Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-kaio@oss.sgi.com Precedence: bulk Return-Path: X-Orcpt: rfc822;kaio-outgoing Hello, Using gcc 2.95.2 on a (slightly patched) 2.2.17 kernel running Red Hat 6.2, I get the following warnings and errors when trying to compile using kaio-1.3-2.2.17 Note that without the -ansi switch, it will compile (but still with warnings). Can the maintainers clean this up? Thanks, Jeff g++ -Wall -pedantic -O6 -mpentium -I. -s -ansi -I/usr/src/linux/include -c -o libserial.o libserial.C In file included from /usr/include/errno.h:36, from libserial.C:36: /usr/include/bits/errno.h:32: warning: `ECANCELED' redefined /usr/src/linux/include/asm/errno.h:133: warning: this is the location of the previous definition In file included from libserial.C:12: /usr/src/linux/include/linux/aio.h:76: syntax error before `;' libserial.C: In method `int Serial::WriteDataAIO(const char *, int)': libserial.C:218: `struct aiocb' has no member named `aio_sigevent' libserial.C:218: `SIGEV_NONE' undeclared (first use this function) libserial.C:218: (Each undeclared identifier is reported only once libserial.C:218: for each function it appears in.) libserial.C:219: `struct aiocb' has no member named `aio_sigevent' libserial.C: In method `int Serial::ReadDataAIO(void *, int)': libserial.C:369: `struct aiocb' has no member named `aio_sigevent' libserial.C:370: `struct aiocb' has no member named `aio_sigevent' gmake: *** [libserial.o] Error 1 From owner-kaio@oss.sgi.com Tue Dec 12 06:40:43 2000 Received: by oss.sgi.com id ; Tue, 12 Dec 2000 06:40:33 -0800 Received: from bacall.jsc.nasa.gov ([139.169.132.234]:57094 "EHLO bacall.jsc.nasa.gov") by oss.sgi.com with ESMTP id ; Tue, 12 Dec 2000 06:40:21 -0800 Received: from lincom-asg.com (IDENT:jgraham@localhost.localdomain [127.0.0.1]) by bacall.jsc.nasa.gov (8.9.3/8.9.3) with ESMTP id IAA06004 for ; Tue, 12 Dec 2000 08:40:11 -0600 Message-ID: <3A3638CB.3A5E129@lincom-asg.com> Date: Tue, 12 Dec 2000 08:40:11 -0600 From: Jeff Graham X-Mailer: Mozilla 4.76 [en] (X11; U; Linux 2.2.17 i686) X-Accept-Language: en MIME-Version: 1.0 To: kaio Subject: makefile adding build for static library and optimizations Content-Type: multipart/mixed; boundary="------------946619D77D136918ED760D5F" Sender: owner-kaio@oss.sgi.com Precedence: bulk Return-Path: X-Orcpt: rfc822;kaio-outgoing This is a multi-part message in MIME format. --------------946619D77D136918ED760D5F Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Everyone, Here is a patched Makefile for kaio, which builds a static library in addition to the shared one.... -Jeff --------------946619D77D136918ED760D5F Content-Type: text/plain; charset=us-ascii; name="Makefile" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="Makefile" SHELL=bash CC =$(shell which cc) CFLAGS += -O6 -mpentium -pthread -I/usr/src/linux/include INCLUDE= -I. -I../../linux/include TARGETS=libdba.so libdba.a all: $(TARGETS) libdba.so: aiolib.c $(CC) -o $@ -shared $(CFLAGS) $(INCLUDE) $< libdba.a: aiolib.c $(CC) -static $(CFLAGS) -s -c $< ar -rcs $@ aiolib.o install: libdba.so libdba.a install -m 0755 libdba.so $(INSTALLROOT)/lib install -m 0755 libdba.a $(INSTALLROOT)/lib clean: - @ rm -f $(TARGETS) *.o --------------946619D77D136918ED760D5F-- From owner-kaio@oss.sgi.com Tue Dec 12 13:41:26 2000 Received: by oss.sgi.com id ; Tue, 12 Dec 2000 13:41:16 -0800 Received: from deliverator.sgi.com ([204.94.214.10]:19301 "EHLO deliverator.sgi.com") by oss.sgi.com with ESMTP id ; Tue, 12 Dec 2000 13:41:04 -0800 Received: from madurai.engr.sgi.com (madurai.engr.sgi.com [163.154.5.75]) by deliverator.sgi.com (980309.SGI.8.8.8-aspam-6.2/980310.SGI-aspam) via ESMTP id NAA15638 for ; Tue, 12 Dec 2000 13:41:03 -0800 (PST) mail_from (ananth@sgi.com) Received: from sgi.com (mango.engr.sgi.com [163.154.5.76]) by madurai.engr.sgi.com (980427.SGI.8.8.8/970903.SGI.AUTOCF) via ESMTP id NAA12469; Tue, 12 Dec 2000 13:35:36 -0800 (PST) Message-ID: <3A369AEA.4A4E7244@sgi.com> Date: Tue, 12 Dec 2000 13:38:50 -0800 From: Rajagopal Ananthanarayanan X-Mailer: Mozilla 4.72 [en] (X11; U; Linux 2.2.16-4SGI_20smp i686) X-Accept-Language: en MIME-Version: 1.0 To: Jeff Graham CC: kaio@oss.sgi.com Subject: Re: errors when compiling -ansi -Wall -pedantic References: <3A363690.CBE40A3D@lincom-asg.com> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-kaio@oss.sgi.com Precedence: bulk Return-Path: X-Orcpt: rfc822;kaio-outgoing Jeff Graham wrote: > > Hello, > > Using gcc 2.95.2 on a (slightly patched) 2.2.17 kernel running Red Hat 6.2, > I get the following > warnings and errors when trying to compile using kaio-1.3-2.2.17 > > Note that without the -ansi switch, it will compile (but still with warnings). > > Can the maintainers clean this up? Most of the problems below is because of the way aio.h is currently required to be included. aio.h should really be part of /usr/include & not part of the kernel. Jeff, can you make a physical copy of aio.h and not use -I/usr/src/include (which is the kernel headers)? I don't really know what else needs to be cleaned so any ideas welcome. cheers, ananth. > > Thanks, > Jeff > > g++ -Wall -pedantic -O6 -mpentium -I. -s -ansi -I/usr/src/linux/include -c -o > libserial.o libserial.C > In file included from /usr/include/errno.h:36, > from libserial.C:36: > /usr/include/bits/errno.h:32: warning: `ECANCELED' redefined > /usr/src/linux/include/asm/errno.h:133: warning: this is the location of the > previous definition > In file included from libserial.C:12: > /usr/src/linux/include/linux/aio.h:76: syntax error before `;' > libserial.C: In method `int Serial::WriteDataAIO(const char *, int)': > libserial.C:218: `struct aiocb' has no member named `aio_sigevent' > libserial.C:218: `SIGEV_NONE' undeclared (first use this function) > libserial.C:218: (Each undeclared identifier is reported only once > libserial.C:218: for each function it appears in.) > libserial.C:219: `struct aiocb' has no member named `aio_sigevent' > libserial.C: In method `int Serial::ReadDataAIO(void *, int)': > libserial.C:369: `struct aiocb' has no member named `aio_sigevent' > libserial.C:370: `struct aiocb' has no member named `aio_sigevent' > gmake: *** [libserial.o] Error 1 -- -------------------------------------------------------------------------- Rajagopal Ananthanarayanan ("ananth") Member Technical Staff, SGI. -------------------------------------------------------------------------- From owner-kaio@oss.sgi.com Fri Dec 22 04:45:27 2000 Received: by oss.sgi.com id ; Fri, 22 Dec 2000 04:45:17 -0800 Received: from [209.177.4.67] ([209.177.4.67]:29059 "EHLO localhost.localdomain") by oss.sgi.com with ESMTP id ; Fri, 22 Dec 2000 04:45:07 -0800 Received: (from dmgrime@localhost) by localhost.localdomain (8.9.3/8.9.3) id HAA01279 for kaio@oss.sgi.com; Fri, 22 Dec 2000 07:46:24 -0500 Date: Fri, 22 Dec 2000 07:46:24 -0500 From: "David M. Grimes" To: kaio@oss.sgi.com Subject: Linux 2.4.0-test10 RAWIO Support Message-ID: <20001222074624.C459@appliedtheory.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2i Sender: owner-kaio@oss.sgi.com Precedence: bulk Return-Path: X-Orcpt: rfc822;kaio-outgoing All, I have just recently obtained, successfully built, and am experimenting with the kaio patches (1.3 for 2.4.0-test10). My questions are related to the use of raw devices with kaio, and specifically, to the comment on the KAIO homepage which says: "KAIO is also integrated to work well with Raw I/O, another feature availabe with SGI Linux Environment 1.1 or as a patch from this web site." I could only find the Raw I/O (SCSI SGI patches) for 2.2.13, and 2.4.0+ has the Tweedie char/raw.c raw devices by default. So, are the SGI patches integrated in another set of patches? Is the native stuff as good now, and the patches are no longer being maintained? If not, can they be made available so they are suitable for the same kernel version as kaio? Thanks in advance for any insight! David Grimes Senior Systems Architect AppliedTheory From owner-kaio@oss.sgi.com Tue Dec 26 14:39:24 2000 Received: by oss.sgi.com id ; Tue, 26 Dec 2000 14:39:14 -0800 Received: from pneumatic-tube.sgi.com ([204.94.214.22]:6466 "EHLO pneumatic-tube.sgi.com") by oss.sgi.com with ESMTP id ; Tue, 26 Dec 2000 14:38:47 -0800 Received: from madurai.engr.sgi.com (madurai.engr.sgi.com [163.154.5.75]) by pneumatic-tube.sgi.com (980327.SGI.8.8.8-aspam/980310.SGI-aspam) via ESMTP id OAA02605 for ; Tue, 26 Dec 2000 14:47:16 -0800 (PST) mail_from (ananth@sgi.com) Received: from sgi.com (mango.engr.sgi.com [163.154.5.76]) by madurai.engr.sgi.com (980427.SGI.8.8.8/970903.SGI.AUTOCF) via ESMTP id OAA28731; Tue, 26 Dec 2000 14:33:11 -0800 (PST) Message-ID: <3A491D51.CCE82A21@sgi.com> Date: Tue, 26 Dec 2000 14:36:01 -0800 From: Rajagopal Ananthanarayanan X-Mailer: Mozilla 4.72 [en] (X11; U; Linux 2.2.16-4SGI_20smp i686) X-Accept-Language: en MIME-Version: 1.0 To: "David M. Grimes" CC: kaio@oss.sgi.com Subject: Re: Linux 2.4.0-test10 RAWIO Support References: <20001222074624.C459@appliedtheory.com> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-kaio@oss.sgi.com Precedence: bulk Return-Path: X-Orcpt: rfc822;kaio-outgoing "David M. Grimes" wrote: > > All, > > I have just recently obtained, successfully built, and am experimenting with > the kaio patches (1.3 for 2.4.0-test10). My questions are related to the > use of raw devices with kaio, and specifically, to the comment on the KAIO > homepage which says: > > "KAIO is also integrated to work well with Raw I/O, another > feature availabe with SGI Linux Environment 1.1 or as a patch > from this web site." > > I could only find the Raw I/O (SCSI SGI patches) for 2.2.13, and 2.4.0+ has > the Tweedie char/raw.c raw devices by default. So, are the SGI patches > integrated in another set of patches? Is the native stuff as good now, and > the patches are no longer being maintained? If not, can they be made > available so they are suitable for the same kernel version as kaio? That comment really applies to 2.2 kernels ... that SGI raw i/o patch was written in days when raw i/o was not fully available in linux. Stephen Tweedie's raw I/O is now part of 2.4 as you noted. The 2.4 raw i/o, however, does not provide seperate inititate_io and wait_io functions. Thus, the number of outstanding raw i/o will be limited by the number of slave threads. Also, the 2.4 raw I/O uses bufferheads to queue the I/O as compared the SGI SCSI patch which directly translates the I/O into a scsi scatter-gather list. The SGI SCSI patch is not available for 2.4 ... hope this helps! ananth. -------------------------------------------------------------------------- Rajagopal Ananthanarayanan ("ananth") Member Technical Staff, SGI. -------------------------------------------------------------------------- From owner-kaio@oss.sgi.com Wed Dec 27 06:09:21 2000 Received: by oss.sgi.com id ; Wed, 27 Dec 2000 06:09:02 -0800 Received: from [209.177.4.67] ([209.177.4.67]:54507 "EHLO localhost.localdomain") by oss.sgi.com with ESMTP id ; Wed, 27 Dec 2000 06:08:37 -0800 Received: (from dmgrime@localhost) by localhost.localdomain (8.9.3/8.9.3) id JAA11995 for kaio@oss.sgi.com; Wed, 27 Dec 2000 09:10:35 -0500 Date: Wed, 27 Dec 2000 09:10:35 -0500 From: "David M. Grimes" To: kaio@oss.sgi.com Subject: Re: Linux 2.4.0-test10 RAWIO Support Message-ID: <20001227091035.A3728@appliedtheory.com> References: <20001222074624.C459@appliedtheory.com> <3A491D51.CCE82A21@sgi.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2i In-Reply-To: <3A491D51.CCE82A21@sgi.com>; from ananth@sgi.com on Tue, Dec 26, 2000 at 02:36:01PM -0800 Sender: owner-kaio@oss.sgi.com Precedence: bulk Return-Path: X-Orcpt: rfc822;kaio-outgoing On Tue, Dec 26, 2000 at 02:36:01PM -0800, Rajagopal Ananthanarayanan wrote: > "David M. Grimes" wrote: > > > > All, > > > > I have just recently obtained, successfully built, and am experimenting with > > the kaio patches (1.3 for 2.4.0-test10). My questions are related to the > > use of raw devices with kaio, and specifically, to the comment on the KAIO > > homepage which says: > > > > "KAIO is also integrated to work well with Raw I/O, another > > feature availabe with SGI Linux Environment 1.1 or as a patch > > from this web site." > > > > I could only find the Raw I/O (SCSI SGI patches) for 2.2.13, and 2.4.0+ has > > the Tweedie char/raw.c raw devices by default. So, are the SGI patches > > integrated in another set of patches? Is the native stuff as good now, and > > the patches are no longer being maintained? If not, can they be made > > available so they are suitable for the same kernel version as kaio? > > The 2.4 raw i/o, however, does not provide seperate > inititate_io and wait_io functions. Thus, the number > of outstanding raw i/o will be limited by the number > of slave threads. Also, the 2.4 raw I/O uses bufferheads Do you know if there is any intent to make the SGI SCSI patches available for 2.4 kernels? From the documentation provided with KAIO, it appears that when using kaio on files on a ext2 filesystem you get asynchrony independant of the slave threads. Is this true? If not, how can I achieve true asynchronous I/O without being limited by the number of slave threads? If the SGI SCSI pathches are not (and cannot be) availble for 2.4 kernels, can the kaio-1.3 be produced against a 2.2.13 kernel so it can be used with the SGI SCSI patches? > to queue the I/O as compared the SGI SCSI patch which > directly translates the I/O into a scsi scatter-gather list. Ultimately, this is what I am trying to do. I guess I could get by with large files on an ext2 filesystem, but I'd really prefer to use raw SCSI I/O. Thanks in advance for any help, David Grimes Senior Software Architect AppliedTheory Corporation From owner-kaio@oss.sgi.com Wed Dec 27 10:02:53 2000 Received: by oss.sgi.com id ; Wed, 27 Dec 2000 10:02:44 -0800 Received: from pneumatic-tube.sgi.com ([204.94.214.22]:57608 "EHLO pneumatic-tube.sgi.com") by oss.sgi.com with ESMTP id ; Wed, 27 Dec 2000 10:02:25 -0800 Received: from madurai.engr.sgi.com (madurai.engr.sgi.com [163.154.5.75]) by pneumatic-tube.sgi.com (980327.SGI.8.8.8-aspam/980310.SGI-aspam) via ESMTP id KAA04578 for ; Wed, 27 Dec 2000 10:10:55 -0800 (PST) mail_from (ananth@sgi.com) Received: from sgi.com (mango.engr.sgi.com [163.154.5.76]) by madurai.engr.sgi.com (980427.SGI.8.8.8/970903.SGI.AUTOCF) via ESMTP id JAA29041; Wed, 27 Dec 2000 09:57:04 -0800 (PST) Message-ID: <3A4A2E17.315BE75D@sgi.com> Date: Wed, 27 Dec 2000 09:59:51 -0800 From: Rajagopal Ananthanarayanan X-Mailer: Mozilla 4.72 [en] (X11; U; Linux 2.2.16-4SGI_20smp i686) X-Accept-Language: en MIME-Version: 1.0 To: "David M. Grimes" CC: kaio@oss.sgi.com Subject: Re: Linux 2.4.0-test10 RAWIO Support References: <20001222074624.C459@appliedtheory.com> <3A491D51.CCE82A21@sgi.com> <20001227091035.A3728@appliedtheory.com> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-kaio@oss.sgi.com Precedence: bulk Return-Path: X-Orcpt: rfc822;kaio-outgoing "David M. Grimes" wrote: > > Do you know if there is any intent to make the SGI SCSI patches available > for 2.4 kernels? From the documentation provided with KAIO, it appears that > when using kaio on files on a ext2 filesystem you get asynchrony independant > of the slave threads. Is this true? If not, how can I achieve true > asynchronous I/O without being limited by the number of slave threads? Lots of questions, let me answer one by one ;-) 1. The 2.2 SGI Raw I/O patches are not directly available for 2.4 kernels. This is because we'd rather go along with what's in 2.4 & enhance it. To this end, there are some enhancements available at: http://oss.sgi.com/projects/rawio/ See the 5/23/00 update. Unfortunately, that patch is now outdated. There was an updated version available in the XFS release, but I'm not sure; the person working on it is on holiday leave for about 2 weeks. 2. With ext2 you can get thread-independent asynchrony for reads, yes. Writes still require slave thread context. > > If the SGI SCSI pathches are not (and cannot be) availble for 2.4 kernels, > can the kaio-1.3 be produced against a 2.2.13 kernel so it can be used with > the SGI SCSI patches? I really have limited time & the focus is on 2.4; so the right thing is to get some form of the below (scsi-sgl) layer in 2.4 ... > > > to queue the I/O as compared the SGI SCSI patch which > > directly translates the I/O into a scsi scatter-gather list. > > Ultimately, this is what I am trying to do. I guess I could get by with > large files on an ext2 filesystem, but I'd really prefer to use raw SCSI I/O. Yes, try to use ext2 & get other issues sorted out. In a few weeks, we can look into getting a more performant raw i/o patch. regards, -------------------------------------------------------------------------- Rajagopal Ananthanarayanan ("ananth") Member Technical Staff, SGI. --------------------------------------------------------------------------