Re: Linux AIO status & todo

From: Jakub Jelinek
Date: Tue Aug 23 2005 - 04:57:20 EST


On Tue, Aug 23, 2005 at 01:14:38PM +0530, Suparna Bhattacharya wrote:

> 2. No support for propagating IO completion events to user space
> threads using RT signals. User threads need to poll the completion
> queue using io_getevents. POSIX specifies that when an AIO
> request completes, a signal can be delivered to the application
> to indicate the completion of the IO.

POSIX AIO needs to handle SIGEV_NONE, SIGEV_SIGNAL and SIGEV_THREAD
notification. Obviously kernel shouldn't create threads for SIGEV_THREAD
itself, as kernel shouldn't hardcode all the implementation details how a
thread can be created. But it would be good if AIO signalling e.g. handled
both SIGEV_SIGNAL and SIGEV_SIGNAL | SIGEV_THREAD_ID, with the same usage as
e.g. timer_* syscalls. If kernel makes sure SI_ASYNCIO si_code is set in
the notification signal siginfos, glibc could even use just one helper
thread for timer_*/[al]io_* and maybe in the future other SIGEV_THREAD notification.

Jakub
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/