From owner-kaio@oss.sgi.com Wed Nov 21 19:09:09 2001 Received: (from majordomo@localhost) by oss.sgi.com (8.11.2/8.11.3) id fAM399827646 for kaio-outgoing; Wed, 21 Nov 2001 19:09:09 -0800 Received: from turing.xman.org (IDENT:postfix@adsl-63-198-73-118.dsl.lsan03.pacbell.net [63.198.73.118]) by oss.sgi.com (8.11.2/8.11.3) with SMTP id fAM395o27642 for ; Wed, 21 Nov 2001 19:09:05 -0800 Received: from xman.org (unknown [65.166.147.200]) by turing.xman.org (Postfix) with ESMTP id 5FA7A5727 for ; Wed, 21 Nov 2001 17:43:09 -0800 (PST) Message-ID: <3BFC57A4.90707@xman.org> Date: Wed, 21 Nov 2001 17:40:52 -0800 From: Christopher Smith User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:0.9.5) Gecko/20011023 X-Accept-Language: en MIME-Version: 1.0 To: kaio@oss.sgi.com Subject: Silly question about aiocb definition Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Sender: owner-kaio@oss.sgi.com Precedence: bulk Sorry for the silly question, but the aiocb definition found in the SGI KAIO patch is as follows: typedef struct aiocb { int aio_fildes; /* File descriptor to perform aio */ void *aio_buf; /* User's data buffer */ size_t aio_nbytes; /* No. of bytes in transfer */ #if defined(__USE_FILE_OFFSET64) || defined(AIO_FILE_OFFSET64) || defined(__KERNEL__) loff_t aio_offset; #else off_t aio_offset; /* File position to begin transfer */ char __aio_pad[sizeof(loff_t) - sizeof(off_t)]; #endif int aio_reqprio; /* Unused - Reserved */ sigevent_t aio_sigevent; /* Notification Options */ int aio_lio_opcode; /* lio_listio opcode */ unsigned long aio_reserved[AIO_RESERVED];/* Don't use this */ #ifdef KAIO_STATS unsigned long aio_times[AIO_TIMES]; #endif } aiocb_t; The relevant area of concern is aio_buf. Shouldn't aio_buf be marked volatile? It certainly is in the case where one is providing an async read. Obviously I have similar concerns for aiocb64. --Chris From owner-kaio@oss.sgi.com Thu Nov 22 03:23:49 2001 Received: (from majordomo@localhost) by oss.sgi.com (8.11.2/8.11.3) id fAMBNnO11727 for kaio-outgoing; Thu, 22 Nov 2001 03:23:49 -0800 Received: from latulipe.staff.proxad.net (postfix@latulipe.staff.proxad.net [213.228.1.82]) by oss.sgi.com (8.11.2/8.11.3) with SMTP id fAMBNko11718 for ; Thu, 22 Nov 2001 03:23:47 -0800 Received: from proxad.net (localhost [127.0.0.1]) by latulipe.staff.proxad.net (Postfix) with ESMTP id DFB2147DD for ; Thu, 22 Nov 2001 11:23:44 +0100 (MET) Message-ID: <3BFCD230.576B6847@proxad.net> Date: Thu, 22 Nov 2001 11:23:44 +0100 From: Francois Petillon X-Mailer: Mozilla 4.77 [en] (X11; U; Linux 2.4.6-686 i686) X-Accept-Language: en MIME-Version: 1.0 To: kaio@oss.sgi.com Subject: Re: Silly question about aiocb definition References: <3BFC57A4.90707@xman.org> Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit Sender: owner-kaio@oss.sgi.com Precedence: bulk Christopher Smith wrote: > The relevant area of concern is aio_buf. > Shouldn't aio_buf be marked volatile? It certainly is in the case where > one is providing an async read. Obviously I have similar concerns for > aiocb64. I do not know if it is linked but I could not make work AIO in a stable way. I patched diablo dreaderd (frontal news server) to allow him to access directly to a spool. This spool is stored on a netapp, filled by a diablo spooler. Dreaderd ask to Diablo where an article was stored and try to load it directly. The version with normal read is working fine. When using aio_read, it is working fine for a few minutes under an high load until the kernel starts to send signal for AIO read completion while aio_error returns EINPROGRESS. Any idea ? François From owner-kaio@oss.sgi.com Thu Nov 22 13:28:22 2001 Received: (from majordomo@localhost) by oss.sgi.com (8.11.2/8.11.3) id fAMLSMw11567 for kaio-outgoing; Thu, 22 Nov 2001 13:28:22 -0800 Received: from hellman (adsl-63-198-73-118.dsl.lsan03.pacbell.net [63.198.73.118]) by oss.sgi.com (8.11.2/8.11.3) with SMTP id fAMLSJo11551 for ; Thu, 22 Nov 2001 13:28:19 -0800 Received: by hellman (Postfix, from userid 1000) id DA9D91A16B; Thu, 22 Nov 2001 12:27:23 -0800 (PST) To: Francois Petillon Cc: kaio@oss.sgi.com Subject: Unrelated question regarding heavy loads. References: <3BFC57A4.90707@xman.org> <3BFCD230.576B6847@proxad.net> From: Christopher Smith Date: 22 Nov 2001 12:27:23 -0800 In-Reply-To: <3BFCD230.576B6847@proxad.net> Message-ID: <87pu6asg9g.fsf_-_@xman.org> Lines: 19 User-Agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.1 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Sender: owner-kaio@oss.sgi.com Precedence: bulk Francois Petillon writes: > I do not know if it is linked but I could not make work > AIO in a stable way. I patched diablo dreaderd (frontal > news server) to allow him to access directly to a spool. > This spool is stored on a netapp, filled by a diablo > spooler. Dreaderd ask to Diablo where an article was > stored and try to load it directly. The version with > normal read is working fine. When using aio_read, it is > working fine for a few minutes under an high load until > the kernel starts to send signal for AIO read completion > while aio_error returns EINPROGRESS. Any idea ? Well, it's hard to say without looking at your code, but obvious things which come to mind, such as are you checking the return code from aio_read()? Also, have you setup your signal handling so you can distinguish between aio requests? Is it possible you're getting signals from something else? --Chris From owner-kaio@oss.sgi.com Fri Nov 23 01:31:59 2001 Received: (from majordomo@localhost) by oss.sgi.com (8.11.2/8.11.3) id fAN9Vx826710 for kaio-outgoing; Fri, 23 Nov 2001 01:31:59 -0800 Received: from lhotse.ifj.edu.pl (IDENT:root@lhotse.ifj.edu.pl [192.86.14.188]) by oss.sgi.com (8.11.2/8.11.3) with SMTP id fAN9Vto26692 for ; Fri, 23 Nov 2001 01:31:55 -0800 Received: from lhotse.ifj.edu.pl (IDENT:piters@lhotse.ifj.edu.pl [192.86.14.188]) by lhotse.ifj.edu.pl (8.11.0/8.11.0) with SMTP id fANAoIr17128; Fri, 23 Nov 2001 11:50:19 +0100 From: Piotr Golonka Organization: Institute Of Nuclear Physics, Cracow, Poland Date: Fri, 23 Nov 2001 11:50:18 +0100 X-Mailer: KMail [version 1.1.95.5] Content-Type: text/plain; charset="us-ascii" Cc: kaio@oss.sgi.com To: kaio@oss.sgi.com References: <3BFC57A4.90707@xman.org> <3BFCD230.576B6847@proxad.net> <87pu6asg9g.fsf_-_@xman.org> In-Reply-To: <87pu6asg9g.fsf_-_@xman.org> Subject: Re: Unrelated question regarding heavy loads. MIME-Version: 1.0 Message-Id: <01112311501801.01248@lhotse.ifj.edu.pl> Content-Transfer-Encoding: 8bit Sender: owner-kaio@oss.sgi.com Precedence: bulk > Well, it's hard to say without looking at your code, but obvious > things which come to mind, such as are you checking the return code > from aio_read()? Also, have you setup your signal handling so you can > distinguish between aio requests? Is it possible you're getting > signals from something else? If you're using more than one fd, and you haven't patched KAIO code it may not work: in the latest version of source, file descriptor was not returned properly to your signal handler. I posted a "patch"(modified versions of aio_read and send_signal, as far as I remember, some 2 months ago to KAIO list) regards Piotr Golonka CERN, European Laboratory for High Energy Physics, FNPT,UMM, Krakow, Poland -- ---------------------------------------------- ##==-- Microsoft ? Is that a kind of a toilet paper ? --==## ----------------------------------------------