* [Qemu-devel] [PULL 0/2] Migration PULL request
@ 2015-12-02 23:22 Juan Quintela
2015-12-02 23:23 ` [Qemu-devel] [PULL 1/2] migration: Clean up use of g_poll() in socket_writev_buffer() Juan Quintela
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: Juan Quintela @ 2015-12-02 23:22 UTC (permalink / raw)
To: qemu-devel; +Cc: amit.shah, dgilbert
Hi
Two small fixes
- Coverity error discovered by Paole that got lost on the track
(it is a needed cast).
We got this one in RHEL in the past, so it is not only theoretical.v
- Armbru fix for g_poll() returning one error
Please, apply.
The following changes since commit cf22132367a188426ac07cf1805b214dd2d0cc80:
Merge remote-tracking branch 'remotes/kevin/tags/for-upstream' into staging (2015-12-02 17:05:34 +0000)
are available in the git repository at:
git://github.com/juanquintela/qemu.git tags/migration/20151203
for you to fetch changes up to a694ee343d13159d214823294bbda08e4bdac685:
migration: do floating-point division (2015-12-03 00:03:00 +0100)
----------------------------------------------------------------
migration/next for 20151203
----------------------------------------------------------------
Markus Armbruster (1):
migration: Clean up use of g_poll() in socket_writev_buffer()
Paolo Bonzini (1):
migration: do floating-point division
migration/migration.c | 2 +-
migration/qemu-file-unix.c | 3 ++-
2 files changed, 3 insertions(+), 2 deletions(-)
^ permalink raw reply [flat|nested] 4+ messages in thread
* [Qemu-devel] [PULL 1/2] migration: Clean up use of g_poll() in socket_writev_buffer()
2015-12-02 23:22 [Qemu-devel] [PULL 0/2] Migration PULL request Juan Quintela
@ 2015-12-02 23:23 ` Juan Quintela
2015-12-02 23:23 ` [Qemu-devel] [PULL 2/2] migration: do floating-point division Juan Quintela
2015-12-03 11:08 ` [Qemu-devel] [PULL 0/2] Migration PULL request Peter Maydell
2 siblings, 0 replies; 4+ messages in thread
From: Juan Quintela @ 2015-12-02 23:23 UTC (permalink / raw)
To: qemu-devel; +Cc: amit.shah, dgilbert, Markus Armbruster
From: Markus Armbruster <armbru@redhat.com>
socket_writev_buffer() writes in a loop, using g_poll() to block. If
g_poll() fails, it tries to write more before the file descriptor is
ready. In theory, this could go into a tight loop. In practice,
errors other than EINTR are really unlikely, and when they happen,
we're probably screwed anyway, so we can just as well loop.
Clean it up a bit: retry poll on EINTR, keep ignoring other errors.
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Juan Quintela <quintela@redhat.com>
---
migration/qemu-file-unix.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/migration/qemu-file-unix.c b/migration/qemu-file-unix.c
index c503b02..6ca53e7 100644
--- a/migration/qemu-file-unix.c
+++ b/migration/qemu-file-unix.c
@@ -72,7 +72,8 @@ static ssize_t socket_writev_buffer(void *opaque, struct iovec *iov, int iovcnt,
pfd.fd = s->fd;
pfd.events = G_IO_OUT | G_IO_ERR;
pfd.revents = 0;
- g_poll(&pfd, 1 /* 1 fd */, -1 /* no timeout */);
+ TFR(err = g_poll(&pfd, 1, -1 /* no timeout */));
+ /* Errors other than EINTR intentionally ignored */
}
}
--
2.5.0
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [Qemu-devel] [PULL 2/2] migration: do floating-point division
2015-12-02 23:22 [Qemu-devel] [PULL 0/2] Migration PULL request Juan Quintela
2015-12-02 23:23 ` [Qemu-devel] [PULL 1/2] migration: Clean up use of g_poll() in socket_writev_buffer() Juan Quintela
@ 2015-12-02 23:23 ` Juan Quintela
2015-12-03 11:08 ` [Qemu-devel] [PULL 0/2] Migration PULL request Peter Maydell
2 siblings, 0 replies; 4+ messages in thread
From: Juan Quintela @ 2015-12-02 23:23 UTC (permalink / raw)
To: qemu-devel; +Cc: amit.shah, Paolo Bonzini, dgilbert
From: Paolo Bonzini <pbonzini@redhat.com>
Dividing integer expressions transferred_bytes and time_spent, and then converting
the integer quotient to type double. Any remainder, or fractional part of the
quotient, is ignored. Fix this.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Juan Quintela <quintela@redhat.com>
---
migration/migration.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/migration/migration.c b/migration/migration.c
index 1a42aee..adc6b6f 100644
--- a/migration/migration.c
+++ b/migration/migration.c
@@ -1674,7 +1674,7 @@ static void *migration_thread(void *opaque)
if (current_time >= initial_time + BUFFER_DELAY) {
uint64_t transferred_bytes = qemu_ftell(s->file) - initial_bytes;
uint64_t time_spent = current_time - initial_time;
- double bandwidth = transferred_bytes / time_spent;
+ double bandwidth = (double)transferred_bytes / time_spent;
max_size = bandwidth * migrate_max_downtime() / 1000000;
s->mbps = time_spent ? (((double) transferred_bytes * 8.0) /
--
2.5.0
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [Qemu-devel] [PULL 0/2] Migration PULL request
2015-12-02 23:22 [Qemu-devel] [PULL 0/2] Migration PULL request Juan Quintela
2015-12-02 23:23 ` [Qemu-devel] [PULL 1/2] migration: Clean up use of g_poll() in socket_writev_buffer() Juan Quintela
2015-12-02 23:23 ` [Qemu-devel] [PULL 2/2] migration: do floating-point division Juan Quintela
@ 2015-12-03 11:08 ` Peter Maydell
2 siblings, 0 replies; 4+ messages in thread
From: Peter Maydell @ 2015-12-03 11:08 UTC (permalink / raw)
To: Juan Quintela; +Cc: Amit Shah, QEMU Developers, Dr. David Alan Gilbert
On 2 December 2015 at 23:22, Juan Quintela <quintela@redhat.com> wrote:
> Hi
>
> Two small fixes
>
> - Coverity error discovered by Paole that got lost on the track
> (it is a needed cast).
> We got this one in RHEL in the past, so it is not only theoretical.v
> - Armbru fix for g_poll() returning one error
>
> Please, apply.
>
>
> The following changes since commit cf22132367a188426ac07cf1805b214dd2d0cc80:
>
> Merge remote-tracking branch 'remotes/kevin/tags/for-upstream' into staging (2015-12-02 17:05:34 +0000)
>
> are available in the git repository at:
>
> git://github.com/juanquintela/qemu.git tags/migration/20151203
>
> for you to fetch changes up to a694ee343d13159d214823294bbda08e4bdac685:
>
> migration: do floating-point division (2015-12-03 00:03:00 +0100)
>
> ----------------------------------------------------------------
> migration/next for 20151203
>
> ----------------------------------------------------------------
> Markus Armbruster (1):
> migration: Clean up use of g_poll() in socket_writev_buffer()
>
> Paolo Bonzini (1):
> migration: do floating-point division
Applied, thanks.
-- PMM
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2015-12-03 11:08 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-12-02 23:22 [Qemu-devel] [PULL 0/2] Migration PULL request Juan Quintela
2015-12-02 23:23 ` [Qemu-devel] [PULL 1/2] migration: Clean up use of g_poll() in socket_writev_buffer() Juan Quintela
2015-12-02 23:23 ` [Qemu-devel] [PULL 2/2] migration: do floating-point division Juan Quintela
2015-12-03 11:08 ` [Qemu-devel] [PULL 0/2] Migration PULL request Peter Maydell
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).