Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 29 Oct 2013 01:21:51 +0400
From:      =?UTF-8?B?QWxleGV5IEVnb3Jvdg==?= <electreg@list.ru>
To:        freebsd-hackers@freebsd.org
Subject:   =?UTF-8?B?Y2xvc2luZyBrcXVldWUgZGVzY3JpcHRvciBkb2Vzbid0IHJlbGVhc2UgYXNz?= =?UTF-8?B?b2NpYXRlZCBrZXJuZWwgcmVzb3VyY2VzPw==?=
Message-ID:  <1382995311.800352930@f402.i.mail.ru>

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


Hello all,
I'm porting application from Linux which uses libaio for async disk IO.
On FreeBSD we are using kqueue + posix AIO, but I discovered that closing kqueue descriptor doesn't release associated aio requests - sysctl value vfs.aio.num_queue_count keeps growing each time I'm close kqueue fd without waiting for aio requests to complete, and then at some point when limit is reached program hangs.
Problem getting harder considering that I'm doing IO on raw disk device and can't cancel requests with aio_cancel(2).
Is it a bug? How can I release this requests without terminating process or waiting for all requests to complete?
Thanks.
 

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