[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <x49373ce7qu.fsf@segfault.boston.devel.redhat.com>
Date: Thu, 11 Jan 2018 10:27:05 -0500
From: Jeff Moyer <jmoyer@...hat.com>
To: Christoph Hellwig <hch@....de>
Cc: viro@...iv.linux.org.uk, Avi Kivity <avi@...lladb.com>,
linux-aio@...ck.org, linux-fsdevel@...r.kernel.org,
netdev@...r.kernel.org, linux-api@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH 30/32] aio: add delayed cancel support
Christoph Hellwig <hch@....de> writes:
> On Wed, Jan 10, 2018 at 06:26:39PM -0500, Jeff Moyer wrote:
>> >> The upcoming aio poll support would like to be able to complete the
>> >> iocb inline from the cancellation context, but that would cause
>> >> a lock order reversal. Add support for optionally moving the cancelation
>> >> outside the context lock to avoid this reversal.
>> >>
>> >> Signed-off-by: Christoph Hellwig <hch@....de>
>> >
>> > Acked-by: Jeff Moyer <jmoyer@...hat.com>
>>
>> Actually, let's move these two defines:
>>
>> #define AIO_IOCB_DELAYED_CANCEL (1 << 0)
>> #define AIO_IOCB_CANCELLED (1 << 1)
>>
>> to include/linux/aio.h so that drivers outside of fs/aio.c can make use
>> of them.
>
> struct aio_kiocb is private to aio.c, so just exposing them won't
> do anything useful. If we really need these elsewhere we'll need
> to come up with a proper interface.
Duh, good point. My main concern is that things like usb gadget will
have to deal with races between cancellation and completion on their
own. It would be nice if we had infrastructure for them to use. I'll
have a look through that code to see if there's something we could or
should be doing.
Cheers,
Jeff
Powered by blists - more mailing lists