kvm.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Stefano Garzarella <sgarzare@redhat.com>
To: Arseniy Krasnov <AVKrasnov@sberdevices.ru>
Cc: "David S. Miller" <davem@davemloft.net>,
	"edumazet@google.com" <edumazet@google.com>,
	Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
	"kys@microsoft.com" <kys@microsoft.com>,
	"haiyangz@microsoft.com" <haiyangz@microsoft.com>,
	"sthemmin@microsoft.com" <sthemmin@microsoft.com>,
	"wei.liu@kernel.org" <wei.liu@kernel.org>,
	Dexuan Cui <decui@microsoft.com>,
	Stefan Hajnoczi <stefanha@redhat.com>,
	Bryan Tan <bryantan@vmware.com>, Vishnu Dasa <vdasa@vmware.com>,
	VMware PV-Drivers Reviewers <pv-drivers@vmware.com>,
	Krasnov Arseniy <oxffffaa@gmail.com>,
	"virtualization@lists.linux-foundation.org" 
	<virtualization@lists.linux-foundation.org>,
	"netdev@vger.kernel.org" <netdev@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"linux-hyperv@vger.kernel.org" <linux-hyperv@vger.kernel.org>,
	"kvm@vger.kernel.org" <kvm@vger.kernel.org>,
	kernel <kernel@sberdevices.ru>
Subject: Re: [RFC PATCH v3 5/9] vsock: pass sock_rcvlowat to notify_poll_in as target
Date: Mon, 8 Aug 2022 12:46:30 +0200	[thread overview]
Message-ID: <20220808104630.dvprekauh5pi7zx3@sgarzare-redhat> (raw)
In-Reply-To: <5e343101-8172-d0fa-286f-5de422c6db0b@sberdevices.ru>

On Wed, Aug 03, 2022 at 01:59:49PM +0000, Arseniy Krasnov wrote:
>This callback controls setting of POLLIN,POLLRDNORM output bits of poll()
>syscall,but in some cases,it is incorrectly to set it, when socket has
>at least 1 bytes of available data.

I suggest you refrase the description a bit, which should describe what 
was the problem and what the patch does, so I was thinking something 
like this:

   Passing 1 as the target to notify_poll_in(), we don't honor
   what the user has set via SO_RCVLOWAT, going to set POLLIN
   and POLLRDNORM, even if we don't have the amount of bytes
   expected by the user.

   Let's use sock_rcvlowat() to get the right target to pass to
   notify_poll_in().

Anyway, the patch LGTM:

Reviewed-by: Stefano Garzarella <sgarzare@redhat.com>

>
>Signed-off-by: Arseniy Krasnov <AVKrasnov@sberdevices.ru>
>---
> net/vmw_vsock/af_vsock.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
>diff --git a/net/vmw_vsock/af_vsock.c b/net/vmw_vsock/af_vsock.c
>index 016ad5ff78b7..3a1426eb8baa 100644
>--- a/net/vmw_vsock/af_vsock.c
>+++ b/net/vmw_vsock/af_vsock.c
>@@ -1066,8 +1066,9 @@ static __poll_t vsock_poll(struct file *file, struct socket *sock,
> 		if (transport && transport->stream_is_active(vsk) &&
> 		    !(sk->sk_shutdown & RCV_SHUTDOWN)) {
> 			bool data_ready_now = false;
>+			int target = sock_rcvlowat(sk, 0, INT_MAX);
> 			int ret = transport->notify_poll_in(
>-					vsk, 1, &data_ready_now);
>+					vsk, target, &data_ready_now);
> 			if (ret < 0) {
> 				mask |= EPOLLERR;
> 			} else {
>-- 
>2.25.1


  reply	other threads:[~2022-08-08 10:46 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-08-03 13:48 [RFC PATCH v3 0/9] vsock: updates for SO_RCVLOWAT handling Arseniy Krasnov
2022-08-03 13:51 ` [RFC PATCH v3 1/9] vsock: SO_RCVLOWAT transport set callback Arseniy Krasnov
2022-08-08 10:23   ` Stefano Garzarella
2022-08-08 10:30     ` Stefano Garzarella
2022-08-09  9:37       ` Arseniy Krasnov
2022-08-09  9:45         ` Arseniy Krasnov
2022-08-09 10:03           ` Stefano Garzarella
2022-08-09 10:13             ` Arseniy Krasnov
2022-08-03 13:53 ` [RFC PATCH v3 2/9] hv_sock: disable SO_RCVLOWAT support Arseniy Krasnov
2022-08-08 10:31   ` Stefano Garzarella
2022-08-03 13:55 ` [RFC PATCH v3 3/9] virtio/vsock: use 'target' in notify_poll_in callback Arseniy Krasnov
2022-08-08 10:33   ` Stefano Garzarella
2022-08-03 13:57 ` [RFC PATCH v3 4/9] vmci/vsock: " Arseniy Krasnov
2022-08-08 10:36   ` Stefano Garzarella
2022-08-19  4:49     ` Vishnu Dasa
2022-08-03 13:59 ` [RFC PATCH v3 5/9] vsock: pass sock_rcvlowat to notify_poll_in as target Arseniy Krasnov
2022-08-08 10:46   ` Stefano Garzarella [this message]
2022-08-03 14:01 ` [RFC PATCH v3 6/9] vsock: add API call for data ready Arseniy Krasnov
2022-08-08 10:53   ` Stefano Garzarella
2022-08-03 14:03 ` [RFC PATCH v3 7/9] virtio/vsock: check SO_RCVLOWAT before wake up reader Arseniy Krasnov
2022-08-08 10:58   ` Stefano Garzarella
2022-08-03 14:05 ` [RFC PATCH v3 8/9] vmci/vsock: " Arseniy Krasnov
2022-08-08 11:01   ` Stefano Garzarella
2022-08-19  4:46     ` Vishnu Dasa
2022-08-03 14:07 ` [RFC PATCH v3 9/9] vsock_test: POLLIN + SO_RCVLOWAT test Arseniy Krasnov
2022-08-08 11:10   ` Stefano Garzarella
2022-08-08 11:14   ` Stefano Garzarella
2022-08-05 16:05 ` [RFC PATCH v3 0/9] vsock: updates for SO_RCVLOWAT handling Stefano Garzarella
2022-08-08  6:30   ` Arseniy Krasnov
2022-08-08 11:22 ` Stefano Garzarella
2022-08-09  9:19   ` Arseniy Krasnov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220808104630.dvprekauh5pi7zx3@sgarzare-redhat \
    --to=sgarzare@redhat.com \
    --cc=AVKrasnov@sberdevices.ru \
    --cc=bryantan@vmware.com \
    --cc=davem@davemloft.net \
    --cc=decui@microsoft.com \
    --cc=edumazet@google.com \
    --cc=haiyangz@microsoft.com \
    --cc=kernel@sberdevices.ru \
    --cc=kuba@kernel.org \
    --cc=kvm@vger.kernel.org \
    --cc=kys@microsoft.com \
    --cc=linux-hyperv@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=oxffffaa@gmail.com \
    --cc=pabeni@redhat.com \
    --cc=pv-drivers@vmware.com \
    --cc=stefanha@redhat.com \
    --cc=sthemmin@microsoft.com \
    --cc=vdasa@vmware.com \
    --cc=virtualization@lists.linux-foundation.org \
    --cc=wei.liu@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).