Message ID | 355f4bb6-82e7-2400-83e9-c704a7ef92f3@sberdevices.ru (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | vsock: updates for SO_RCVLOWAT handling | expand |
Context | Check | Description |
---|---|---|
netdev/tree_selection | success | Guessed tree name to be net-next |
netdev/fixes_present | success | Fixes tag not required for -next series |
netdev/subject_prefix | success | Link |
netdev/cover_letter | success | Series has a cover letter |
netdev/patch_count | success | Link |
netdev/header_inline | success | No static functions without inline keyword in header files |
netdev/build_32bit | success | Errors and warnings before: 0 this patch: 0 |
netdev/cc_maintainers | success | CCed 7 of 7 maintainers |
netdev/build_clang | success | Errors and warnings before: 0 this patch: 0 |
netdev/module_param | success | Was 0 now: 0 |
netdev/verify_signedoff | success | Signed-off-by tag matches author and committer |
netdev/check_selftest | success | No net selftest shell script |
netdev/verify_fixes | success | No Fixes tag |
netdev/build_allmodconfig_warn | success | Errors and warnings before: 0 this patch: 0 |
netdev/checkpatch | success | total: 0 errors, 0 warnings, 0 checks, 16 lines checked |
netdev/kdoc | success | Errors and warnings before: 0 this patch: 0 |
netdev/source_inline | success | Was 0 now: 0 |
@Jorgen can you take a look at this series, especially this patch? Maybe we need to update the comments in the else branch, something like s/there is nothing/there is not enough data Thanks, Stefano On Mon, Jul 25, 2022 at 08:01:01AM +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. > >Signed-off-by: Arseniy Krasnov <AVKrasnov@sberdevices.ru> >--- > net/vmw_vsock/vmci_transport_notify.c | 2 +- > net/vmw_vsock/vmci_transport_notify_qstate.c | 2 +- > 2 files changed, 2 insertions(+), 2 deletions(-) > >diff --git a/net/vmw_vsock/vmci_transport_notify.c b/net/vmw_vsock/vmci_transport_notify.c >index d69fc4b595ad..1684b85b0660 100644 >--- a/net/vmw_vsock/vmci_transport_notify.c >+++ b/net/vmw_vsock/vmci_transport_notify.c >@@ -340,7 +340,7 @@ 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 >diff --git a/net/vmw_vsock/vmci_transport_notify_qstate.c b/net/vmw_vsock/vmci_transport_notify_qstate.c >index 0f36d7c45db3..a40407872b53 100644 >--- a/net/vmw_vsock/vmci_transport_notify_qstate.c >+++ b/net/vmw_vsock/vmci_transport_notify_qstate.c >@@ -161,7 +161,7 @@ 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 >-- >2.25.1
On Wed, Jul 27, 2022 at 2:22 PM Stefano Garzarella <sgarzare@redhat.com> wrote: > > @Jorgen can you take a look at this series, especially this patch? Jorgen's email bounced back, so I'm CCing VMCI maintainers. Bryan, Rajesh, Vishnu, can you take a look? Thanks, Stefano > > Maybe we need to update the comments in the else branch, something like > s/there is nothing/there is not enough data > > Thanks, > Stefano > > On Mon, Jul 25, 2022 at 08:01:01AM +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. > > > >Signed-off-by: Arseniy Krasnov <AVKrasnov@sberdevices.ru> > >--- > > net/vmw_vsock/vmci_transport_notify.c | 2 +- > > net/vmw_vsock/vmci_transport_notify_qstate.c | 2 +- > > 2 files changed, 2 insertions(+), 2 deletions(-) > > > >diff --git a/net/vmw_vsock/vmci_transport_notify.c b/net/vmw_vsock/vmci_transport_notify.c > >index d69fc4b595ad..1684b85b0660 100644 > >--- a/net/vmw_vsock/vmci_transport_notify.c > >+++ b/net/vmw_vsock/vmci_transport_notify.c > >@@ -340,7 +340,7 @@ 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 > >diff --git a/net/vmw_vsock/vmci_transport_notify_qstate.c b/net/vmw_vsock/vmci_transport_notify_qstate.c > >index 0f36d7c45db3..a40407872b53 100644 > >--- a/net/vmw_vsock/vmci_transport_notify_qstate.c > >+++ b/net/vmw_vsock/vmci_transport_notify_qstate.c > >@@ -161,7 +161,7 @@ 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 > >-- > >2.25.1
On 27.07.2022 15:22, Stefano Garzarella wrote: > @Jorgen can you take a look at this series, especially this patch? > > Maybe we need to update the comments in the else branch, something like > s/there is nothing/there is not enough data Ok, thanks! > > Thanks, > Stefano > > On Mon, Jul 25, 2022 at 08:01:01AM +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. >> >> Signed-off-by: Arseniy Krasnov <AVKrasnov@sberdevices.ru> >> --- >> net/vmw_vsock/vmci_transport_notify.c | 2 +- >> net/vmw_vsock/vmci_transport_notify_qstate.c | 2 +- >> 2 files changed, 2 insertions(+), 2 deletions(-) >> >> diff --git a/net/vmw_vsock/vmci_transport_notify.c b/net/vmw_vsock/vmci_transport_notify.c >> index d69fc4b595ad..1684b85b0660 100644 >> --- a/net/vmw_vsock/vmci_transport_notify.c >> +++ b/net/vmw_vsock/vmci_transport_notify.c >> @@ -340,7 +340,7 @@ 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 >> diff --git a/net/vmw_vsock/vmci_transport_notify_qstate.c b/net/vmw_vsock/vmci_transport_notify_qstate.c >> index 0f36d7c45db3..a40407872b53 100644 >> --- a/net/vmw_vsock/vmci_transport_notify_qstate.c >> +++ b/net/vmw_vsock/vmci_transport_notify_qstate.c >> @@ -161,7 +161,7 @@ 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 >> -- >> 2.25.1 >
diff --git a/net/vmw_vsock/vmci_transport_notify.c b/net/vmw_vsock/vmci_transport_notify.c index d69fc4b595ad..1684b85b0660 100644 --- a/net/vmw_vsock/vmci_transport_notify.c +++ b/net/vmw_vsock/vmci_transport_notify.c @@ -340,7 +340,7 @@ 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 diff --git a/net/vmw_vsock/vmci_transport_notify_qstate.c b/net/vmw_vsock/vmci_transport_notify_qstate.c index 0f36d7c45db3..a40407872b53 100644 --- a/net/vmw_vsock/vmci_transport_notify_qstate.c +++ b/net/vmw_vsock/vmci_transport_notify_qstate.c @@ -161,7 +161,7 @@ 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
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. Signed-off-by: Arseniy Krasnov <AVKrasnov@sberdevices.ru> --- net/vmw_vsock/vmci_transport_notify.c | 2 +- net/vmw_vsock/vmci_transport_notify_qstate.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-)