Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: FreeBSD disk AIO support
- To: nginx-ru@xxxxxxxxx
- Subject: Re: FreeBSD disk AIO support
- From: Andrei Nigmatulin <andrei.nigmatulin@xxxxxxxxx>
- Date: Mon, 24 Aug 2009 04:35:26 +0400
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:from:to:subject:date :user-agent:references:in-reply-to:mime-version:content-type :content-transfer-encoding:content-disposition:message-id; bh=llhrWrzS0n/VF+pgFbbmzNsquGqDPPcrDMGK3T/TzyM=; b=qM4oGDzrPm798ohyjhVRc3iFYLyHZa4oOgV+Gkko6/2uWg7ItV1+F2POFZU6b6GfHk 81fa05a+geDuD4ThihA+2yh/s4/0ITeROnc0fLG7LW00pwFgypMTQRVpcRziKeqFKAWr 57eJB4/gQMvmN7M326G5Wax3ccejsmceyrVYA=
- Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=from:to:subject:date:user-agent:references:in-reply-to:mime-version :content-type:content-transfer-encoding:content-disposition :message-id; b=DpmiJ+H0fSgDa8appmsefe5/oasGiycg6c4MNanITFp5f6vI5QCZygJCvJwhEKgdX8 vtTk2sbMjfTJJMr6xFZx7x7nePPiOkOQLlLPKievE79cJj4XCscYN4xwvs0/R0va4LhC oj9aO4dJd+qqOI1v7lviDz2ljwLtm+AmR0jnk=
- In-reply-to: <200908240223.55166.andrei.nigmatulin@xxxxxxxxx>
- References: <20090823161150.GC49906@xxxxxxxxxxxxx> <20090823211307.GN49906@xxxxxxxxxxxxx> <200908240223.55166.andrei.nigmatulin@xxxxxxxxx>
On Monday 24 August 2009 02:23, Andrei Nigmatulin wrote:
> On Monday 24 August 2009 01:13, Igor Sysoev wrote:
> > On Sun, Aug 23, 2009 at 10:44:58PM +0400, Вадим wrote:
> > > Здравствуйте.
> > >
> > > OpenSUSE 11.0 и выше, например.
> >
> > Поставил openSUSE 11.1.
> >
> > > uname -r
> >
> > 2.6.27.7-9-default
> >
> > > /lib/libc.so.6
> >
> > GNU C Library stable release version 2.9 (20081117), by Roland McGrath et
> > al. ...
> >
> > /usr/include/libaio.h:
> >
> > struct iocb {
> > PADDEDptr(void *data, __pad1); /* Return in the io completion
> > event */ PADDED(unsigned key, __pad2); /* For use in identifying io
> > requests */
> >
> > short aio_lio_opcode;
> > short aio_reqprio;
> > int aio_fildes;
> >
> > union {
> > struct io_iocb_common c;
> > ...
> >
> > struct io_iocb_common {
> > PADDEDptr(void *buf, __pad1);
> > PADDEDul(nbytes, __pad2);
> > long long offset;
> > long long __pad3, __pad4;
> > }; /* result code is the amount read or -'ve errno */
> >
> >
> > Полей .aio_flags и .aio_resfd в struct iocb нет. Ну и как это собирать ?
>
> А если
>
> -#include <libaio.h>
> +#include <linux/aio_abi.h>
>
> ?
Похоже, что libaio >= 0.3.107 имеет поддержку eventfd (патч добавил Rusty
Russell) и искомые поля есть в io_iocb_common.
--
Andrei Nigmatulin
GPG PUB KEY 6449830D
Now I lay me down to sleep(3)
Pray the OS my core to keep
If I die before I wake
Pray the Disk my core to take
|