FreeBSD disk AIO support

Andrei Nigmatulin andrei.nigmatulin at gmail.com
Mon Aug 24 18:38:59 MSD 2009


On Monday 24 August 2009 13:16, Igor Sysoev wrote:
> On Mon, Aug 24, 2009 at 04:35:26AM +0400, Andrei Nigmatulin wrote:
> > Похоже, что libaio >= 0.3.107 имеет поддержку eventfd (патч добавил Rusty
> > Russell) и искомые поля есть в io_iocb_common.
>
> Похоже, в openSUSE 11.1 libaio-0.4:
> > objdump -T /lib/libaio.so.1.0.1

Нет, 0.4 в данном месте, это версия abi библиотеки libaio:

Makefile: -Wl,--version-script=libaio.map

А в opensuse 11.1 стоит версия 0.3.104. Убедиться просто - в libaio.h нет 
такого:

static inline void io_set_eventfd(struct iocb *iocb, int eventfd)
{
        iocb->u.c.flags |= (1 << 0) /* IOCB_FLAG_RESFD */;
        iocb->u.c.resfd = eventfd;
}



>
> /lib/libaio.so.1.0.1:     file format elf32-i386
>
> DYNAMIC SYMBOL TABLE:
> 00000780 g    DF .text	00000030 (LIBAIO_0.1) io_cancel
> 000004c0 g    DF .text	00000040  LIBAIO_0.4  io_queue_wait
> 00000720 g    DF .text	00000057 (LIBAIO_0.1) io_queue_wait
> 00000660 g    DF .text	0000001a  LIBAIO_0.4  io_cancel
> 000006a0 g    DF .text	00000012  LIBAIO_0.4  io_destroy
> 00000460 g    DF .text	00000037  LIBAIO_0.1  io_queue_init
> 000006c0 g    DF .text	00000057 (LIBAIO_0.1) io_getevents
> 000004a0 g    DF .text	00000020  LIBAIO_0.1  io_queue_release
> 000005c0 g    DF .text	0000007d  LIBAIO_0.4  io_getevents
> 00000000 g    DO *ABS*	00000000  LIBAIO_0.1  LIBAIO_0.1
> 00000500 g    DF .text	00000074  LIBAIO_0.1  io_queue_run
> 00000640 g    DF .text	0000001a  LIBAIO_0.1  io_submit
> 00000680 g    DF .text	00000016  LIBAIO_0.4  io_setup
> 00000000 g    DO *ABS*	00000000  LIBAIO_0.4  LIBAIO_0.4

-- 
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





More information about the nginx-ru mailing list