From: Vishnu Dasa <vdasa@vmware.com> To: Stefano Garzarella <sgarzare@redhat.com> Cc: Arseniy Krasnov <AVKrasnov@sberdevices.ru>, Bryan Tan <bryantan@vmware.com>, Pv-drivers <Pv-drivers@vmware.com>, "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>, 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 4/9] vmci/vsock: use 'target' in notify_poll_in callback Date: Fri, 19 Aug 2022 04:49:56 +0000 [thread overview] Message-ID: <0783F6F8-901A-4186-B4E7-01FE099F1939@vmware.com> (raw) In-Reply-To: <20220808103611.4ma4c5fpszrmstvx@sgarzare-redhat> > On Aug 8, 2022, at 3:36 AM, Stefano Garzarella <sgarzare@redhat.com> wrote: > > On Wed, Aug 03, 2022 at 01:57:54PM +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. Use 'target' which is already exists >> and equal to sk_rcvlowat in this case. > > Ditto as the previous patch. > With that fixed: > > Reviewed-by: Stefano Garzarella <sgarzare@redhat.com> > > @Bryan, @Vishnu, if you're happy with this change, can you ack/review? This patch looks good to me. Thank you, Arseniy for running the test with VMCI. I also ran some of our internal tests successfully with this patch series. > Thanks, > Stefano > >> >> Signed-off-by: Arseniy Krasnov <AVKrasnov@sberdevices.ru> Reviewed-by: Vishnu Dasa <vdasa@vmware.com> >> --- >> net/vmw_vsock/vmci_transport_notify.c | 8 ++++---- >> net/vmw_vsock/vmci_transport_notify_qstate.c | 8 ++++---- >> 2 files changed, 8 insertions(+), 8 deletions(-) >> >> diff --git a/net/vmw_vsock/vmci_transport_notify.c b/net/vmw_vsock/vmci_transport_notify.c >> index d69fc4b595ad..852097e2b9e6 100644 >> --- a/net/vmw_vsock/vmci_transport_notify.c >> +++ b/net/vmw_vsock/vmci_transport_notify.c >> @@ -340,12 +340,12 @@ vmci_transport_notify_pkt_poll_in(struct sock *sk, >> { >> struct vsock_sock *vsk = vsock_sk(sk); >> >> - if (vsock_stream_has_data(vsk)) { >> + if (vsock_stream_has_data(vsk) >= target) { >> *data_ready_now = true; >> } else { >> - /* We can't read right now because there is nothing in the >> - * queue. Ask for notifications when there is something to >> - * read. >> + /* We can't read right now because there is not enough data >> + * in the queue. Ask for notifications when there is something >> + * to read. >> */ >> if (sk->sk_state == TCP_ESTABLISHED) { >> if (!send_waiting_read(sk, 1)) >> diff --git a/net/vmw_vsock/vmci_transport_notify_qstate.c b/net/vmw_vsock/vmci_transport_notify_qstate.c >> index 0f36d7c45db3..12f0cb8fe998 100644 >> --- a/net/vmw_vsock/vmci_transport_notify_qstate.c >> +++ b/net/vmw_vsock/vmci_transport_notify_qstate.c >> @@ -161,12 +161,12 @@ vmci_transport_notify_pkt_poll_in(struct sock *sk, >> { >> struct vsock_sock *vsk = vsock_sk(sk); >> >> - if (vsock_stream_has_data(vsk)) { >> + if (vsock_stream_has_data(vsk) >= target) { >> *data_ready_now = true; >> } else { >> - /* We can't read right now because there is nothing in the >> - * queue. Ask for notifications when there is something to >> - * read. >> + /* We can't read right now because there is not enough data >> + * in the queue. Ask for notifications when there is something >> + * to read. >> */ >> if (sk->sk_state == TCP_ESTABLISHED) >> vsock_block_update_write_window(sk); >> -- >> 2.25.1
WARNING: multiple messages have this Message-ID (diff)
From: Vishnu Dasa via Virtualization <virtualization@lists.linux-foundation.org> To: Stefano Garzarella <sgarzare@redhat.com> Cc: Arseniy Krasnov <AVKrasnov@sberdevices.ru>, "wei.liu@kernel.org" <wei.liu@kernel.org>, "sthemmin@microsoft.com" <sthemmin@microsoft.com>, Krasnov Arseniy <oxffffaa@gmail.com>, "linux-hyperv@vger.kernel.org" <linux-hyperv@vger.kernel.org>, Pv-drivers <Pv-drivers@vmware.com>, "netdev@vger.kernel.org" <netdev@vger.kernel.org>, "haiyangz@microsoft.com" <haiyangz@microsoft.com>, Dexuan Cui <decui@microsoft.com>, "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>, "virtualization@lists.linux-foundation.org" <virtualization@lists.linux-foundation.org>, Bryan Tan <bryantan@vmware.com>, "edumazet@google.com" <edumazet@google.com>, Stefan Hajnoczi <stefanha@redhat.com>, "kvm@vger.kernel.org" <kvm@vger.kernel.org>, kernel <kernel@sberdevices.ru>, Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>, "David S. Miller" <davem@davemloft.net> Subject: Re: [RFC PATCH v3 4/9] vmci/vsock: use 'target' in notify_poll_in callback Date: Fri, 19 Aug 2022 04:49:56 +0000 [thread overview] Message-ID: <0783F6F8-901A-4186-B4E7-01FE099F1939@vmware.com> (raw) In-Reply-To: <20220808103611.4ma4c5fpszrmstvx@sgarzare-redhat> > On Aug 8, 2022, at 3:36 AM, Stefano Garzarella <sgarzare@redhat.com> wrote: > > On Wed, Aug 03, 2022 at 01:57:54PM +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. Use 'target' which is already exists >> and equal to sk_rcvlowat in this case. > > Ditto as the previous patch. > With that fixed: > > Reviewed-by: Stefano Garzarella <sgarzare@redhat.com> > > @Bryan, @Vishnu, if you're happy with this change, can you ack/review? This patch looks good to me. Thank you, Arseniy for running the test with VMCI. I also ran some of our internal tests successfully with this patch series. > Thanks, > Stefano > >> >> Signed-off-by: Arseniy Krasnov <AVKrasnov@sberdevices.ru> Reviewed-by: Vishnu Dasa <vdasa@vmware.com> >> --- >> net/vmw_vsock/vmci_transport_notify.c | 8 ++++---- >> net/vmw_vsock/vmci_transport_notify_qstate.c | 8 ++++---- >> 2 files changed, 8 insertions(+), 8 deletions(-) >> >> diff --git a/net/vmw_vsock/vmci_transport_notify.c b/net/vmw_vsock/vmci_transport_notify.c >> index d69fc4b595ad..852097e2b9e6 100644 >> --- a/net/vmw_vsock/vmci_transport_notify.c >> +++ b/net/vmw_vsock/vmci_transport_notify.c >> @@ -340,12 +340,12 @@ vmci_transport_notify_pkt_poll_in(struct sock *sk, >> { >> struct vsock_sock *vsk = vsock_sk(sk); >> >> - if (vsock_stream_has_data(vsk)) { >> + if (vsock_stream_has_data(vsk) >= target) { >> *data_ready_now = true; >> } else { >> - /* We can't read right now because there is nothing in the >> - * queue. Ask for notifications when there is something to >> - * read. >> + /* We can't read right now because there is not enough data >> + * in the queue. Ask for notifications when there is something >> + * to read. >> */ >> if (sk->sk_state == TCP_ESTABLISHED) { >> if (!send_waiting_read(sk, 1)) >> diff --git a/net/vmw_vsock/vmci_transport_notify_qstate.c b/net/vmw_vsock/vmci_transport_notify_qstate.c >> index 0f36d7c45db3..12f0cb8fe998 100644 >> --- a/net/vmw_vsock/vmci_transport_notify_qstate.c >> +++ b/net/vmw_vsock/vmci_transport_notify_qstate.c >> @@ -161,12 +161,12 @@ vmci_transport_notify_pkt_poll_in(struct sock *sk, >> { >> struct vsock_sock *vsk = vsock_sk(sk); >> >> - if (vsock_stream_has_data(vsk)) { >> + if (vsock_stream_has_data(vsk) >= target) { >> *data_ready_now = true; >> } else { >> - /* We can't read right now because there is nothing in the >> - * queue. Ask for notifications when there is something to >> - * read. >> + /* We can't read right now because there is not enough data >> + * in the queue. Ask for notifications when there is something >> + * to read. >> */ >> if (sk->sk_state == TCP_ESTABLISHED) >> vsock_block_update_write_window(sk); >> -- >> 2.25.1 _______________________________________________ Virtualization mailing list Virtualization@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/virtualization
next prev parent reply other threads:[~2022-08-19 4:51 UTC|newest] Thread overview: 47+ 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:23 ` Stefano Garzarella 2022-08-08 10:30 ` 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: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-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-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-08 10:36 ` Stefano Garzarella 2022-08-19 4:49 ` Vishnu Dasa [this message] 2022-08-19 4:49 ` Vishnu Dasa via Virtualization 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 2022-08-08 10:46 ` Stefano Garzarella 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-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-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-08 11:01 ` Stefano Garzarella 2022-08-19 4:46 ` Vishnu Dasa 2022-08-19 4:46 ` Vishnu Dasa via Virtualization 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:10 ` Stefano Garzarella 2022-08-08 11:14 ` 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-05 16:05 ` Stefano Garzarella 2022-08-08 6:30 ` Arseniy Krasnov 2022-08-08 11:22 ` Stefano Garzarella 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=0783F6F8-901A-4186-B4E7-01FE099F1939@vmware.com \ --to=vdasa@vmware.com \ --cc=AVKrasnov@sberdevices.ru \ --cc=Pv-drivers@vmware.com \ --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=sgarzare@redhat.com \ --cc=stefanha@redhat.com \ --cc=sthemmin@microsoft.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: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.