On Tue, Jul 05, 2005 at 10:00:24AM -0400, Chris Mason wrote: > If it doesn't regress, I would suspect something in the aio core. My first > attempts at the context switch reduction patches caused this kind of > regression. There was too much latency in sending the events up to userland.
AIO will by its very nature have a higher rate of context switches unless the subsystem in question does its completion from the interrupt handler. There are a few optimizations in this area that we can do to improve things for some of the common usage models: when sleeping in read_events() we can do iocb runs in the sleeping task instead of switching to the aio helper daemon. That might help for Oracle's usage model of aio, and it should also help aio-stress. There are also other ways of reducing the overhead of the context switches. O_DIRECT operations could take note of the mm they are operating on and do its get_user_pages() on the mm without the tlb being flushed. -ben -- "Time is what keeps everything from happening all at once." -- John Wheeler - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/