Re: [PATCH 5/5] ioeventfd: Introduce KVM_IOEVENTFD_FLAG_SOCKET

Pekka Enberg
2011-07-13T10:04:11Z

On Wed, Jul 13, 2011 at 10:51 AM, Pekka Enberg <penberg@kernel.org> wrote:
> On Sun, Jul 10, 2011 at 8:34 AM, Sasha Levin <levinsasha928@gmail.com> wrote:
>> After working on that solution a bit I saw it's adding a lot of code and
>> complexity for this small issue, and I'm now thinking we may be better
>> off with just handling reads twice in case of a signal just between
>> socket_write() and socket_read() - once through the socket and once
>> through a regular MMIO exit.
>
> I don't really understand the issue so can you elaborate where the
> complexity comes from? Why can't we just switch to non-blocking read
> and return -ENOSUPP if there's signal_pending() after socket_write()?
> AFAICT, we can just let callers of kvm_iodevice_write() and
> kvm_iodevice_read() deal with exits, no?

Oh, re-reading Michael's explanation, signal_pending() is irrelevant
here and all we need to do is return -ENOSUPP if either the read or
write fails. What's the part I'm totally missing here?

Pekka