On Tue, 7 Aug 2018 09:25:55 +0200 Christoph Hellwig <hch@xxxxxx> wrote: > On Mon, Aug 06, 2018 at 03:27:05PM -0700, Andrew Morton wrote: > > On Mon, 6 Aug 2018 10:30:58 +0200 Christoph Hellwig <hch@xxxxxx> wrote: > > > > > If we get a keyed wakeup for a aio poll waitqueue and wake can acquire the > > > ctx_lock without spinning we can just complete the iocb straight from the > > > wakeup callback to avoid a context switch. > > > > Why do we try to avoid spinning on the lock? > > Because we are called with the lock on the waitqueue called, which > nests inside it. Ah. > > > + /* try to complete the iocb inline if we can: */ > > > > ie, this comment explains 'what" but not "why". > > > > (There's a typo in Subject:, btw) > > Because it is faster obviously. I can update the comment. I meant the comment could explain why it's a trylock instead of a spin_lock().