mbox series

[v4,0/3] Zero copy improvements (QIOChannel + multifd)

Message ID 20220711211112.18951-1-leobras@redhat.com (mailing list archive)
Headers show
Series Zero copy improvements (QIOChannel + multifd) | expand

Message

Leonardo Bras July 11, 2022, 9:11 p.m. UTC
The first patch avoid spuriously returning 1 [*] when zero-copy flush is
attempted before any buffer was sent using MSG_ZEROCOPY.

[*] zero-copy not being used, even though it's enabled and supported
by kernel

The second patch introduces a new migration stat
(dirty-sync-missed-zero-copy) that will be used to keep track of [*]. 

The third patch keeps track of how many zero-copy flushes retured 1 [*]

Changes since v3:
- Patch#1: Also checks if no packet was queued after the last flush
- Patch#2: Improve dirty-sync-missed-zero-copy doc and hmp print message

Changes since v2:
- Documentation release number changed from 7.2 to 7.1
- migration stat renamed from zero-copy-copied to 
  dirty-sync-missed-zero-copy
- Updated documentation to make it more user-friendly

Changes since v1:
- Idea of using a warning replaced by using a migration stat counter



Leonardo Bras (3):
  QIOChannelSocket: Fix zero-copy flush returning code 1 when nothing
    sent
  Add dirty-sync-missed-zero-copy migration stat
  migration/multifd: Report to user when zerocopy not working

 qapi/migration.json   | 7 ++++++-
 migration/ram.h       | 2 ++
 io/channel-socket.c   | 8 +++++++-
 migration/migration.c | 2 ++
 migration/multifd.c   | 2 ++
 migration/ram.c       | 5 +++++
 monitor/hmp-cmds.c    | 5 +++++
 7 files changed, 29 insertions(+), 2 deletions(-)

Comments

Dr. David Alan Gilbert July 19, 2022, 2:10 p.m. UTC | #1
* Leonardo Bras (leobras@redhat.com) wrote:
> The first patch avoid spuriously returning 1 [*] when zero-copy flush is
> attempted before any buffer was sent using MSG_ZEROCOPY.
> 
> [*] zero-copy not being used, even though it's enabled and supported
> by kernel
> 
> The second patch introduces a new migration stat
> (dirty-sync-missed-zero-copy) that will be used to keep track of [*]. 
> 
> The third patch keeps track of how many zero-copy flushes retured 1 [*]
> 
> Changes since v3:
> - Patch#1: Also checks if no packet was queued after the last flush
> - Patch#2: Improve dirty-sync-missed-zero-copy doc and hmp print message
> 
> Changes since v2:
> - Documentation release number changed from 7.2 to 7.1
> - migration stat renamed from zero-copy-copied to 
>   dirty-sync-missed-zero-copy
> - Updated documentation to make it more user-friendly
> 
> Changes since v1:
> - Idea of using a warning replaced by using a migration stat counter

Queued
> 
> 
> 
> Leonardo Bras (3):
>   QIOChannelSocket: Fix zero-copy flush returning code 1 when nothing
>     sent
>   Add dirty-sync-missed-zero-copy migration stat
>   migration/multifd: Report to user when zerocopy not working
> 
>  qapi/migration.json   | 7 ++++++-
>  migration/ram.h       | 2 ++
>  io/channel-socket.c   | 8 +++++++-
>  migration/migration.c | 2 ++
>  migration/multifd.c   | 2 ++
>  migration/ram.c       | 5 +++++
>  monitor/hmp-cmds.c    | 5 +++++
>  7 files changed, 29 insertions(+), 2 deletions(-)
> 
> -- 
> 2.37.0
> 
>