linux io_submit syscall duration

Raz Ben-Jehuda(caro)
2006-11-15T07:39:16Z

Bnejamin hello.

My name is raz and i have encountered a problem with io_submit.
The maximum duration of a single io_submit operation when
heavily stressing the system with large number of big (1MB) ios,
reaches several hundereds ms.

I have been profiling it and it seems that the problem is the
file->f_op->aio_read operation,
a call that is made in fs/aio.c when coming from:
sys_io_submit -->
io_submit_one -->
aio_run_iocb -->
*retry

The test is initiating several hundered 1MB IOs over a single block device.

I understand that the assumption made was aio_read is asynchronous and no
delay will occure, but isn't possible to do it in the workqueue context ?

would appreciate your help.
thank you

raz