Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 19 Sep 1999 13:20:07 -0400 (EDT)
From:      Christopher Sedore <cmsedore@mailbox.syr.edu>
To:        "John W. DeBoskey" <jwd@unx.sas.com>
Cc:        Wes Peters <wes@softweyr.com>, freebsd-hackers@FreeBSD.ORG
Subject:   Re: kern/13075 (was: Re: aio_*)
Message-ID:  <Pine.SOL.4.10.9909191314400.12009-100000@rodan.syr.edu>
In-Reply-To: <199909190229.WAA32777@bb01f39.unx.sas.com>

next in thread | previous in thread | raw e-mail | index | archive | help

Part of my patches is a new system call, aio_waitcomplete() which waits
for an aio job to complete, and returns a pointer to the userland aiocb
associated with the job.  (This is a non-standard extension of my own
creation). The patches are available from http://tfeed.maxwell.syr.edu,
link is on the bottom of the page.

-Chris


On Sat, 18 Sep 1999, John W. DeBoskey wrote:

> Hand up... 
> 
> I have two machines running heavily hit aio based file server
> mechanisms. If the patches will apply to a -current system about
> 2 weeks old I'll give it a try... (atleast without too much trouble).
> 
> And now for a wish:
> 
>            /*----------------------------------------------------------+
>             | ST_AIO                                                   |
>             |                                                          |
>             | A task in the ST_AIO state means that one of our         |
>             | aio_writes has finished. we will loop thru all           |
>             | outstanding aio_writes to see which one completed.       |
>             |                                                          |
>             *----------------------------------------------------------*/
>             case ST_AIO:
> 
>                 /*-----------------------------------------------------+
>                  | loop to get completed write process.                |
>                  *-----------------------------------------------------*/
>                  for (j=0; j<MAX_WRITERS; j++) {
>                     if (aio[j].task &&
>                        aio_error(&aio[j].iocb) != EINPROGRESS) {
> 
> ie: you have to loop to determine which aio operation completed.
>     Looking thru the kernel, I don't see any easy way to fix this.
> 
>     But then, I may be missing something (which I don't understand)
>     about how to setup the sigevent structure:
> 
>     Aio generates the signal for me (setup via the sigevent struct),
>     but the sigev_value is not passed depending on how the kernel
>     processes the signal.
> 
> 
> Thanks,
> John
> 
> > Christopher Sedore wrote:
> > > 
> > > On Thu, 16 Sep 1999, Wes Peters wrote:
> > > 
> > > > Christopher Sedore wrote:
> > > > >
> > > > > On Wed, 15 Sep 1999, Ruslan Ermilov wrote:
> > > > > >
> > > > > > Do you by any change have an idea how to fix PR kern/13075
> > > > > > (signal is not posted for async I/O on raw devices)
> > > > >
> > > > > Yes.  There is no code to post the signal unless the job is of the lio
> > > > > variety.  Writing a fix took about 15 minutes (including reboot).
> > > > > Extensive testing not included, though the test program provided with the
> > > > > PR now functions.
> > > >
> > > > Great, now do you want to tackle aio_cancel?  ;^)
> > > 
> > > I've been holding off to see whether I can get the other aio patches for
> > > improved socket io committed.  I don't want to do two versions of
> > > aio_cancel (the changes for sockets alter the way things are queued and
> > > hence the way that cancels have to be done).
> > 
> > Good to hear.  OK, show of hands: who's using aio_* and has the time to
> > test patches for Christopher?
> > 
> > - -- 
> >             "Where am I, and what am I doing in this handbasket?"
> > 
> > Wes Peters                                                         Softweyr LLC
> > http://softweyr.com/                                           wes@softweyr.com
> > 
> > 
> > To Unsubscribe: send mail to majordomo@FreeBSD.org
> > with "unsubscribe freebsd-hackers" in the body of the message
> > 
> > ------------------------------
> > 
> 
> 
> 
> To Unsubscribe: send mail to majordomo@FreeBSD.org
> with "unsubscribe freebsd-hackers" in the body of the message
> 




To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.SOL.4.10.9909191314400.12009-100000>