Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 18 Sep 1999 22:29:59 -0400 (EDT)
From:      "John W. DeBoskey" <jwd@unx.sas.com>
To:        wes@softweyr.com (Wes Peters)
Cc:        freebsd-hackers@freebsd.org
Subject:   Re: kern/13075 (was: Re: aio_*)
Message-ID:  <199909190229.WAA32777@bb01f39.unx.sas.com>
In-Reply-To: From Wes Peters at "Sep 16, 1999  5:52: 1 pm"

next in thread | raw e-mail | index | archive | help
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




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199909190229.WAA32777>