* Eric Blake (ebl...@redhat.com) wrote:
> On 08/07/2014 04:24 AM, Dr. David Alan Gilbert (git) wrote:
> > From: "Dr. David Alan Gilbert"
> >
> > This is based on Stefan and Joel's patch that creates a QEMUFile that goes
> > to a memory buffer; from:
Hi
* Dr. David Alan Gilbert (git) (dgilb...@redhat.com) wrote:
> From: "Dr. David Alan Gilbert"
>
> This is based on Stefan and Joel's patch that creates a QEMUFile that goes
> to a memory buffer; from:
Actually, just spotted a bug in this; v4 coming shortly.
Dave
-kvm
> tree has been merged (or even before that), but it's been some
> years ago already.
It's amazing what different combinations of QEMU people have
out there; and it seems reasonable to let Alex fix this problem
if it helps him; there's no reason to deny others the same fix.
Dave
--
Dr. David Alan Gilbert / dgilb...@redhat.com / Manchester, UK
es
> Cc: m...@redhat.com; qemu-devel@nongnu.org; arm...@redhat.com; Dr. David Alan
> Gilbert; aligu...@amazon.com; Anthony PERARD
> Subject: Re: [Qemu-devel] [PATCH] -machine vmport=off: Allow disabling of
> VMWare ioport emulation
>
> Hi,
>
> > It was disabled in
* Slutz, Donald Christopher (dsl...@verizon.com) wrote:
> On 09/25/14 11:07, Dr. David Alan Gilbert wrote:
> > * Slutz, Donald Christopher (dsl...@verizon.com) wrote:
> >> What is happening with this patch? I would like to use this code.
> > I need to rework it for the new
* Eric Blake (ebl...@redhat.com) wrote:
> On 09/17/2014 05:26 AM, Dr. David Alan Gilbert (git) wrote:
> > From: "Dr. David Alan Gilbert"
> >
> > This is based on Stefan and Joel's patch that creates a QEMUFile that goes
> > to a memory buffer; from:
tmap_try_new
use that and then fix up those users as we convert them to use the try?
Dave
>
> static inline void bitmap_zero(unsigned long *dst, long nbits)
> --
> 1.7.9.5
>
>
--
Dr. David Alan Gilbert / dgilb...@redhat.com / Manchester, UK
ey can confirm
> if they are OK with the copyright/license information being added.
Since it's come from vl.c that seems to make sense.
It should probably go to the stable branch as well, since reading the ~/LICENSE
file would make you think it's GPLd.
Reviewed-by: Dr. David Alan
I've updated our github at:
https://github.com/orbitfp7/qemu/tree/wp3-postcopy
to have this version.
and it corresponds to the tag:
https://github.com/orbitfp7/qemu/releases/tag/wp3-postcopy-v4
Dave
* Dr. David Alan Gilbert (git) (dgilb...@redhat.com) wrote:
> From: "Dr. David
ither
1) get caught by userfault etc or
2) must succeed in it's access
and we'll have that happening somewhere between thousands and millions of times
to pages in no particular order, so we need to avoid creating millions of
mappings.
Dave
>
> Linus
--
Dr. David Alan Gilbert / dgilb...@redhat.com / Manchester, UK
e ago.
>
> Patch trades one bug for another. Hiding the menu bar also kills the
> accelerator keys, which is especially problematic for the fullscreen
> hotkey as there is no way out of fullscreen mode then.
Dave
--
Dr. David Alan Gilbert / dgilb...@redhat.com / Manchester, UK
* Don Slutz (dsl...@verizon.com) wrote:
> Changes v1 to v2 (Don Slutz):
> make vmport a pc & q35 only machine opt I.E. a machine property.
>
> Dr. David Alan Gilbert (1):
> -machine vmport=off: Allow disabling of VMWare ioport emulation
Thanks for updating this!
Dave
* Paolo Bonzini (pbonz...@redhat.com) wrote:
> Il 03/10/2014 19:47, Dr. David Alan Gilbert (git) ha scritto:
> >
> > I've seen it go negative once during dev, it shouldn't
> > happen.
>
> You can move it earlier, perhaps even as patch 1, since it does not
* Paolo Bonzini (pbonz...@redhat.com) wrote:
> Il 03/10/2014 19:47, Dr. David Alan Gilbert (git) ha scritto:
> > +static int postcopy_ram_sensitise_area(const char *block_name, void
> > *host_addr,
> > + ram_addr_t offset, r
* Eric Blake (ebl...@redhat.com) wrote:
> On 10/03/2014 11:47 AM, Dr. David Alan Gilbert (git) wrote:
> > From: "Dr. David Alan Gilbert"
> >
> > Signed-off-by: Dr. David Alan Gilbert
> > Reviewed-by: Eric Blake
> > ---
> > inc
* Cristian Klein (cristian.kl...@cs.umu.se) wrote:
> On 04 Oct 2014, at 4:21 , Dr. David Alan Gilbert wrote:
>
> >
> > I've updated our github at:
> > https://github.com/orbitfp7/qemu/tree/wp3-postcopy
> >
> > to have this version.
> >
> >
* Paolo Bonzini (pbonz...@redhat.com) wrote:
> Il 03/10/2014 19:47, Dr. David Alan Gilbert (git) ha scritto:
> >
> > +/* These are ORable flags */
>
> ... make them an "enum".
OK, will do - I'd generally tended to avoid using enum for things
that were O
* Paolo Bonzini (pbonz...@redhat.com) wrote:
> Il 03/10/2014 19:47, Dr. David Alan Gilbert (git) ha scritto:
> > +#ifndef WIN32
> > +if (rd) {
> > +how = SHUT_RD;
> > +}
> > +
> > +if (wr) {
> > +how = rd ? SHU
* Paolo Bonzini (pbonz...@redhat.com) wrote:
> Il 07/10/2014 10:58, Dr. David Alan Gilbert ha scritto:
> >
> >>> > > +if (exitcode & LOADVM_EXITCODE_QUITPARENT) {
> >>> > > +DPRINTF("loadvm_handlers_state_main: End of loop wit
* Paolo Bonzini (pbonz...@redhat.com) wrote:
> Il 03/10/2014 19:47, Dr. David Alan Gilbert (git) ha scritto:
> > +mis->postcopy_ram_state);
> > +if (mis->postcopy_ram_state == POSTCOPY_RAM_INCOMING_ADVISE) {
> > +/*
> > + * Where
emory.
Aren't DONTNEED and DONTDUMP similar cases of madvise operations that are
expected to do what they say ?
> I would suggest to consider to use some other interface for the
> functionality: a new syscall or, perhaps, mprotect().
Dave
> --
> Kirill A. Shutemov
--
Dr. David Alan Gilbert / dgilb...@redhat.com / Manchester, UK
* Kirill A. Shutemov (kir...@shutemov.name) wrote:
> On Tue, Oct 07, 2014 at 11:46:04AM +0100, Dr. David Alan Gilbert wrote:
> > * Kirill A. Shutemov (kir...@shutemov.name) wrote:
> > > On Fri, Oct 03, 2014 at 07:07:58PM +0200, Andrea Arcangeli wrote:
> > > > MADV_U
* Paolo Bonzini (pbonz...@redhat.com) wrote:
> Il 03/10/2014 19:47, Dr. David Alan Gilbert (git) ha scritto:
> > +/*
> > + * Don't break host-page chunks up with queue items
> > + * so only unqueue if,
> > + * a) The last
* Paolo Bonzini (pbonz...@redhat.com) wrote:
> Il 07/10/2014 19:07, Dr. David Alan Gilbert ha scritto:
> >> >
> >> > So I'd *much* rather have a "write()" style interface (ie _copying_
> >> > bytes from user space into a newly allocated p
lt is less general.
Dave
> remapping anonymous pages involves page table games that really aren't
> necessarily a good idea, and tlb invalidates for the old page etc.
> Just don't do it.
>
>Linus
--
Dr. David Alan Gilbert / dgilb...@redhat.com / Manchester, UK
("migrate_handle_rp_reqpages: at %zx for len %zx", start, len);
> >+DPRINTF("migrate_handle_rp_reqpages: in %s start %zx len %zx",
> >+rbname, start, len);
> >+
> >+/* Round everything up to our host page size */
> >+long our_host_ps
* zhanghailiang (zhang.zhanghaili...@huawei.com) wrote:
> On 2014/10/8 15:49, Dr. David Alan Gilbert wrote:
> >* zhanghailiang (zhang.zhanghaili...@huawei.com) wrote:
> >
> >>> typedef struct Visitor Visitor;
> >>>@@ -80,6 +81,6 @@ typedef struct FWCfg
* zhanghailiang (zhang.zhanghaili...@huawei.com) wrote:
> On 2014/9/29 17:41, Dr. David Alan Gilbert (git) wrote:
> >+static ssize_t qsb_grow(QEMUSizedBuffer *qsb, size_t new_size)
> >+{
> >+size_t needed_chunks, i;
> >+
> >+if (qsb->size < new_si
+
> >+const QEMUSizedBuffer *qemu_buf_get(QEMUFile *f)
> >+{
> >+QEMUBuffer *p;
> >+
> >+qemu_fflush(f);
> >+
> >+p = f->opaque;
> >+
> >+return p->qsb;
> >+}
> >+
> >+static const QEMUFileOps buf_read_ops = {
> >+.get_buffer = buf_get_buffer,
> >+.close = buf_close,
> >+};
> >+
> >+static const QEMUFileOps buf_write_ops = {
> >+.put_buffer = buf_put_buffer,
> >+.close = buf_close,
> >+};
> >+
> >+QEMUFile *qemu_bufopen(const char *mode, QEMUSizedBuffer *input)
> >+{
> >+QEMUBuffer *s;
> >+
> >+if (mode == NULL || (mode[0] != 'r' && mode[0] != 'w') ||
> >+mode[1] != '\0') {
> >+error_report("qemu_bufopen: Argument validity check failed");
> >+return NULL;
> >+}
> >+
> >+s = g_malloc0(sizeof(QEMUBuffer));
> >+if (mode[0] == 'r') {
> >+s->qsb = input;
> >+}
> >+
> >+if (s->qsb == NULL) {
> >+s->qsb = qsb_create(NULL, 0);
> >+}
> >+if (!s->qsb) {
> >+g_free(s);
> >+error_report("qemu_bufopen: qsb_create failed");
> >+return NULL;
> >+}
> >+
> >+
> >+if (mode[0] == 'r') {
> >+s->file = qemu_fopen_ops(s, &buf_read_ops);
> >+} else {
> >+s->file = qemu_fopen_ops(s, &buf_write_ops);
> >+}
> >+return s->file;
> >+}
> >
>
>
--
Dr. David Alan Gilbert / dgilb...@redhat.com / Manchester, UK
d at least somewhere in the code of RDMA.
There's also RAM_SAVE_FLAG_CONTINUE that's used as a tweak to
make for smaller headers.
Dave
> For that matter, we could handle the hook separately and everything
> else in the switch statement. This would immediately solve the is
trace_vmstate_load_field_error(field->name, ret);
> return ret;
> }
Reviewed-by: Dr. David Alan Gilbert
I wonder about turning that trace into an error_report; the process is doomed
anyway at this point and it would be nice to know why.
Dave
--
Dr. David Alan Gilbert / dgilb...@redhat.com / Manchester, UK
* Juan Quintela (quint...@redhat.com) wrote:
> This commit refactor the simple tests to test all integer types. We
> move to hex because it is easier to read values of different types.
>
> Signed-off-by: Juan Quintela
Reviewed-by: Dr. David Alan Gilbert
> ---
> tests/te
* Juan Quintela (quint...@redhat.com) wrote:
> Once there, make checkpatch happy.
>
> Signed-off-by: Juan Quintela
Reviewed-by: Dr. David Alan Gilbert
> ---
> hw/usb/hcd-ohci.c | 7 ++-
> 1 file changed, 2 insertions(+), 5 deletions(-)
>
> diff --git a/hw/usb
);
> +FIELD_EQUAL(d);
> +FIELD_NOT_EQUAL(e);
> +FIELD_NOT_EQUAL(f);
> +
> +SUCCESS(load_vmstate(&vmstate_simple_skipping, &obj, &obj_clone,
> + obj_versioned_copy, 2, wire_simple_skip,
> + sizeof(wire_simple_skip)));
> +
> +FIELD_EQUAL(skip_c_e);
> +FIELD_EQUAL(a);
> +FIELD_EQUAL(b);
> +FIELD_NOT_EQUAL(c);
> +FIELD_EQUAL(d);
> +FIELD_NOT_EQUAL(e);
> +FIELD_EQUAL(f);
> }
Couldn't those functions just be merged and take a flag?
> +#undef FIELD_EQUAL
> +#undef FIELD_NOT_EQUAL
>
> int main(int argc, char **argv)
> {
> @@ -490,12 +499,10 @@ int main(int argc, char **argv)
>
> g_test_init(&argc, &argv, NULL);
> g_test_add_func("/vmstate/simple/primitive", test_simple_primitive);
> -g_test_add_func("/vmstate/versioned/load/v1", test_load_v1);
> -g_test_add_func("/vmstate/versioned/load/v2", test_load_v2);
> -g_test_add_func("/vmstate/field_exists/load/noskip", test_load_noskip);
> -g_test_add_func("/vmstate/field_exists/load/skip", test_load_skip);
> -g_test_add_func("/vmstate/field_exists/save/noskip", test_save_noskip);
> -g_test_add_func("/vmstate/field_exists/save/skip", test_save_skip);
> +g_test_add_func("/vmstate/simple/v1", test_simple_v1);
> +g_test_add_func("/vmstate/simple/v2", test_simple_v2);
> +g_test_add_func("/vmstate/simple/skip", test_simple_skip);
> +g_test_add_func("/vmstate/simple/no_skip", test_simple_no_skip);
> g_test_run();
>
> close(temp_fd);
> --
> 1.9.3
>
>
--
Dr. David Alan Gilbert / dgilb...@redhat.com / Manchester, UK
* Eric Blake (ebl...@redhat.com) wrote:
> On 07/10/2014 05:29 AM, Dr. David Alan Gilbert wrote:
> > * Paolo Bonzini (pbonz...@redhat.com) wrote:
> >> Il 07/07/2014 16:02, Dr. David Alan Gilbert ha scritto:
> >>>>> Could you have instead a "migra
* Eric Blake (ebl...@redhat.com) wrote:
> On 08/11/2014 08:29 AM, Dr. David Alan Gilbert (git) wrote:
> > From: "Dr. David Alan Gilbert"
> >
> > Signed-off-by: Dr. David Alan Gilbert
> > ---
> > docs/migration.txt | 150
> >
ven QEMUSizedBuffer.
> > + *
> > + * @qsb : A QEMUSizedBuffer
> > + *
> > + * Returns a clone of @qsb
> > + */
> > +QEMUSizedBuffer *qsb_clone(const QEMUSizedBuffer *qsb)
> > +{
> > +QEMUSizedBuffer *out = qsb_create(NULL, qsb_get_length(qsb));
> > +size_t i;
> > +off_t pos = 0;
> > +
> > +for (i = 0; i < qsb->n_iov; i++) {
> > +pos += qsb_write_at(out, qsb->iov[i].iov_base,
> > +pos, qsb->iov[i].iov_len);
>
> If qsb_write_at() return -ENOMEM, just simply add it to pos ?
qsb_create uses g_new0 so it will abort on out of memory;
what should qsb_clone do if qsb_write_at returns -ENOMEM?
(Admittedly anything is better than getting the position wrong).
I guess the choice is to allow it to return NULL, tidying up
and offering the chance sometime in the future of tidying up
the other allocators.
Dave
>
> Best regards,
> -Gonglei
--
Dr. David Alan Gilbert / dgilb...@redhat.com / Manchester, UK
* zhanghailiang (zhang.zhanghaili...@huawei.com) wrote:
> On 2014/8/11 22:29, Dr. David Alan Gilbert (git) wrote:
> >From: "Dr. David Alan Gilbert"
> >
> >+testarea2 = mmap(NULL, pagesize, PROT_READ | PROT_WRITE, MAP_PRIVATE |
> >+
* zhanghailiang (zhang.zhanghaili...@huawei.com) wrote:
> On 2014/8/11 22:29, Dr. David Alan Gilbert (git) wrote:
> >From: "Dr. David Alan Gilbert"
> Hi Dave,
>
> I want to test your patches, but i failed to 'git am' them to the new
> qemu-2.1 sourc
* chenliang (T) (chenlian...@huawei.com) wrote:
>
> From: "Dr. David Alan Gilbert"
>
> The return path uses a non-blocking fd so as not to block waiting for the
> (possibly broken) destination to finish returning a message, however we still
> want outbound data t
; --- a/include/exec/ram_addr.h
> +++ b/include/exec/ram_addr.h
> @@ -162,5 +162,9 @@ static inline void
> cpu_physical_memory_clear_dirty_range(ram_addr_t start,
> void cpu_physical_memory_reset_dirty(ram_addr_t start, ram_addr_t length,
> unsigned client);
>
> +
> +void qemu_bitmap_sync_range(ram_addr_t start, ram_addr_t length,
> +unsigned long *bitmap, uint64_t *counter);
> +
> #endif
> #endif
> --
> 1.9.3
>
--
Dr. David Alan Gilbert / dgilb...@redhat.com / Manchester, UK
gt; +}
> +
> +qemu_process_set(QEMU_PROCESS_BITMAP_DUMP);
> +
> +if (b->state == LOG_BITMAP_STATE_ACTIVE ||
> +b->state == LOG_BITMAP_STATE_CANCELING) {
> + error_setg(errp, "dirty bitmap dump in progress");
> +return;
> +}
> +
> +b->state = LOG_BITMAP_STATE_NONE;
> +
> +/*
> + * checking the iteration range
> + */
> +if (!has_iterations) {
> +b->iterations = MIN_ITERATION_VALUE;
> +} else if (!value_in_range(iterations, MIN_ITERATION_VALUE,
> + MAX_ITERATION_VALUE, "iterations",
> &local_err)) {
> +if (local_err) {
> +error_propagate(errp, local_err);
> +}
> +return;
> +} else {
> +b->iterations = iterations;
> +}
> +
> +/*
> + * checking the period range
> + */
> +if (!has_period) {
> +b->current_period = MIN_PERIOD_VALUE;
> +} else if (!value_in_range(period, MIN_PERIOD_VALUE,
> + MAX_PERIOD_VALUE, "period", &local_err)) {
> +if (local_err) {
> +error_propagate(errp, local_err);
> +}
> +return;
> +} else {
> +b->current_period = period;
> +}
> +
> +fd = qemu_open(filename, O_WRONLY | O_CREAT | O_TRUNC | O_BINARY,
> S_IRUSR);
> +if (fd < 0) {
> +error_setg_file_open(errp, errno, filename);
> +return;
> +}
> +
> +b->fd = fd;
> +qemu_thread_create(&b->thread, "dirty-bitmap-dump",
> + bitmap_logging_thread, b,
> + QEMU_THREAD_JOINABLE);
> +
> +return;
> +}
> +
> void qmp_xen_save_devices_state(const char *filename, Error **errp)
> {
> QEMUFile *f;
> diff --git a/vl.c b/vl.c
> index fe451aa..2fa97b3 100644
> --- a/vl.c
> +++ b/vl.c
> @@ -205,6 +205,8 @@ bool qemu_uuid_set;
> static QEMUBootSetHandler *boot_set_handler;
> static void *boot_set_opaque;
>
> +int dirty_bitmap_user;
> +
> static NotifierList exit_notifiers =
> NOTIFIER_LIST_INITIALIZER(exit_notifiers);
>
> @@ -751,6 +753,27 @@ void vm_start(void)
> qapi_event_send_resume(&error_abort);
> }
>
> +/*
> + * A global variable to decide which process will only
> + * execute migration or bitmap dump
> + */
> +
> +static QemuProcess dbu = QEMU_PROCESS_NONE;
> +
> +bool qemu_process_check(QemuProcess user)
> +{
> +return user == dbu;
> +}
> +
> +void qemu_process_set(QemuProcess user)
> +{
> +dbu = user;
> +}
> +
> +const char *get_qemu_process_as_string(void)
> +{
> +return QemuProcess_lookup[dbu];
> +}
>
> /***/
> /* real time host monotonic timer */
> @@ -4518,6 +4541,7 @@ int main(int argc, char **argv, char **envp)
> }
>
> if (incoming) {
> +qemu_process_set(QEMU_PROCESS_MIGRATION);
> Error *local_err = NULL;
> qemu_start_incoming_migration(incoming, &local_err);
> if (local_err) {
> --
> 1.9.3
>
--
Dr. David Alan Gilbert / dgilb...@redhat.com / Manchester, UK
iteration
> +
> +Example:
> +
> +-> { "execute": "query-log-dirty-bitmap" }
> +<- { "return": {
> +"current-iteration": 3
> +"iterations": 10
> + "period": 100 } }
> +EQMP
> dif
ap_list)
> +value = infile.read(1)
> +marker = get_char(value)
> +if draw is True:
> +generate_images()
> +else:
> +print complete_bitmap_list
> +
> +def main():
> + extracter = argparse.ArgumentParser(description='Extract dirty bitmap
> from binary file.')
> +extracter.add_argument('infile', help='Input file to extract the bitmap')
> +extracter.add_argument('-d', action='store_true', dest='draw',
> default=False,
> +help='Draw a black and white image of the processed dirty
> bitmap')
> +args = extracter.parse_args()
> +print 'The filename is {}'.format(args.infile)
> +
> +infile = open(format(args.infile), 'rb')
> +
> +dump_bitmap(infile, args.draw);
> +
> +infile.close()
> +
> +if __name__ == '__main__':
> +main()
> --
> 1.9.3
>
>
--
Dr. David Alan Gilbert / dgilb...@redhat.com / Manchester, UK
* Dr. David Alan Gilbert (dgilb...@redhat.com) wrote:
> * Sanidhya Kashyap (sanidhya.ii...@gmail.com) wrote:
> > The file not only extracts the bitmap from the file but also draws the
> > figure
> > if required. Currently, figure is drawn for all the bitmaps. Later, I'l
to rate-limit the number of resynchronisations
(and send the secondary a message as soon as it knew a resync was needed) that
would get some of the way, but then the only difference from microcheckpointing
at that point is the secondary doing a wasteful copy and sending the packets
across;
it seems it should be easy to disable those if it knew that a resync was going
to
happen.
Dave
> - Michael
>
>
--
Dr. David Alan Gilbert / dgilb...@redhat.com / Manchester, UK
n thread?
If so what would happen if that htab_save_iterate call was made
just between the close() and the reopen?
Dave
> } else {
> if (!spapr->htab) {
> /* Allocate an htab if we don't yet have one */
> --
> 1.9.3
>
>
--
Dr. David Alan Gilbert / dgilb...@redhat.com / Manchester, UK
@@ void qemu_del_nic(NICState *nic)
> qemu_free_net_client(nc);
> }
>
> +qemu_del_vm_change_state_handler(nic->vmstate);
> g_free(nic);
> }
>
> @@ -452,6 +478,12 @@ void qemu_set_vnet_hdr_len(NetClientState *nc, int len)
>
> int qemu_can_send_packet(NetClientState *sender)
> {
> +int vmstat = runstate_is_running();
> +
> +if (!vmstat) {
> +return 0;
> +}
> +
> if (!sender->peer) {
> return 1;
> }
> --
> 1.7.12.4
>
>
>
--
Dr. David Alan Gilbert / dgilb...@redhat.com / Manchester, UK
f (rc < 0) {
> return rc;
> diff --git a/include/hw/ppc/spapr.h b/include/hw/ppc/spapr.h
> index 0c2e3c5..9ab9827 100644
> --- a/include/hw/ppc/spapr.h
> +++ b/include/hw/ppc/spapr.h
> @@ -71,6 +71,7 @@ typedef struct sPAPREnvironment {
> int htab_save_index;
> bool htab_first_pass;
> int htab_fd;
> +bool need_reset;
>
> /* state for Dynamic Reconfiguration Connectors */
> sPAPRDrcEntry drc_table[SPAPR_DRC_TABLE_SIZE];
> --
> 1.9.3
>
--
Dr. David Alan Gilbert / dgilb...@redhat.com / Manchester, UK
* zhanghailiang (zhang.zhanghaili...@huawei.com) wrote:
> On 2014/8/18 20:27, Dr. David Alan Gilbert wrote:
> >* zhanghailiang (zhang.zhanghaili...@huawei.com) wrote:
> >>For all NICs(except virtio-net) emulated by qemu,
> >>Such as e1000, rtl8139, pcnet and ne2k_pci,
Hi,
Can I just check, when you do the incoming migrate, do you wait for the
incoming migrate to finish before you do the loadvm, or do you do the loadvm
during the incoming migrate?
--
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
| 4
> hw/ide/ahci.c | 17 +
> hw/ide/ahci.h | 2 ++
> hw/ide/core.c | 11 +++
> include/hw/ide.h | 3 ++-
> include/sysemu/blockdev.h | 3 ++-
> 8 files changed, 50 insertions(+), 10 deletions(-)
>
> --
> 1.9.3
>
>
--
Dr. David Alan Gilbert / dgilb...@redhat.com / Manchester, UK
* Paolo Bonzini (pbonz...@redhat.com) wrote:
Hi Paolo,
Apologies, I realised I hadn't dug into this comment.
> Il 04/07/2014 19:41, Dr. David Alan Gilbert (git) ha scritto:
> >From: "Dr. David Alan Gilbert"
> >
> >Switch to postcopy if:
> > 1) Ther
i].right ||
> qxl->dirty[i].top > qxl->dirty[i].bottom ||
> qxl->dirty[i].right > qxl->guest_primary.surface.width ||
> qxl->dirty[i].bottom > qxl->guest_primary.surface.height) {
Reviewed-by: Dr. David Alan Gilbert
Should
essary.
How do these IOThreads pause during migration?
Are they paused by the 'qemu_mutex_lock_iothread' that the migration thread
calls?
Dave
--
Dr. David Alan Gilbert / dgilb...@redhat.com / Manchester, UK
obody should be
> relying on the security properties of most of the unmaintained
> ARM board models anyway, and migration doesn't actually
> work on this board due to issues in other device models).
>
> Signed-off-by: Peter Maydell
Reviewed-by: Dr. David Alan Gilbert
>
* Stefan Hajnoczi (stefa...@gmail.com) wrote:
> On Thu, May 8, 2014 at 3:44 PM, Dr. David Alan Gilbert
> wrote:
> > * Stefan Hajnoczi (stefa...@redhat.com) wrote:
> >
> >
> >
> >> How to synchronize with an IOThread
> >> -
is simply ignored.
>
> In the block migration code there is a catch at the end complaining about
> unknown flags, but in RAM migration there isn't.
>
> Is this on purpose or an error?
I think it's in error; the code doesn't have much checking.
Dave
--
Dr. David Alan Gilbert / dgilb...@redhat.com / Manchester, UK
irrus_vga ram size '%u'\n",
> s->vga.vram_size_mb);
> + return -1;
> + }
> /* setup VGA */
> vga_common_init(&s->vga, OBJECT(dev), true);
> cirrus_init_common(s, OBJECT(dev), device_id, 1, pci_address_space(dev),
> --
> 1.7.12.4
>
>
>
--
Dr. David Alan Gilbert / dgilb...@redhat.com / Manchester, UK
s, I have my doubs that
> they are prepared to handle 1MB cirrus cards correctly.
>
> Bottom line: Allowing less than 4MB is asking for trouble for no good
> reason ;)
OK, so checking for 4MB/8MB/16MB is probably safe, and it also would
have the benefit of shouting if someone fixed libvi
7;d expect you to have to run with the same machine type on both sides.
I ran some simple virt-test migrate tests (just the basic one) and got
v1.5.3->v1.6.2
v1.5.3->v1.7.1
v1.5.3->v2.0.0-rc1
working for most machine types, pc-i440fx-1.5 passed with all of those.
Note that's only
* Stefan Priebe - Profihost AG (s.pri...@profihost.ag) wrote:
>
> > Am 09.05.2014 um 15:41 schrieb "Dr. David Alan Gilbert"
> > :
> >
> > * Stefan Priebe - Profihost AG (s.pri...@profihost.ag) wrote:
> >> Hello list,
> >>
> >>
t;> arch_init.c (ram_save_block) will tell about the number of pages
> >>> transferred.
> >>>
> >>>
> >>> On Mon, Mar 24, 2014 at 10:51 PM, Bechir Bani
> >>> wrote:
> >>>
> >>>> I have a task to add trace points in
ant.
>
> Reported-by: "Dr. David Alan Gilbert"
> Cc: qemu-sta...@nongnu.org
> Signed-off-by: Michael S. Tsirkin
Reviewed-by: Dr. David Alan Gilbert
> ---
> hw/virtio/virtio.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/hw/virt
* Markus Armbruster (arm...@redhat.com) wrote:
> "Dr. David Alan Gilbert (git)" writes:
>
> > From: "Dr. David Alan Gilbert"
> >
> > The 'name' option silently failed when used in config files
> > ( http://lists.gnu.org/archive/html/
to VMState in mind, why are
> you not using a regular VMStateSubsection and loading/saving that as
> part of the old-style load/save functions? Is an API for that missing?
There are a handful of places that call into vmstate from a non-vmstate
routine but I don't think they're using plain subsections.
hw/pci/pci.c: pci_device_save/load
hw/scsi/spapr_vscsi.c: vscsi_save_request
hw/acpi/piix4.c: acpi_load_old
Dave
>
> Regards,
> Andreas
>
> --
> SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
> GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg
>
--
Dr. David Alan Gilbert / dgilb...@redhat.com / Manchester, UK
mu_get_machine_opts(),"vmport",!xen_enabled()),
>0x4);
>
> ?
>
> This makes vmport switchable on xen too, with traditional behavior being
> the default (off on xen, on otherwise).
Yes I guess that would work (although documenting it would be a little hairy);
; two thoughts:
1) I was surprised it dumped every object type, rather than just those
that are instantiated; I think the latter would be more use in some
circumstances, since there's a load of weird and wonderful objects
that exist and are very rarely used.
2) 'fields_exists' is a weird naming to put in the json file - it's
a function pointer for determining if the field is going to be present;
maybe renaming as 'conditional' would make sense.
Dave
--
Dr. David Alan Gilbert / dgilb...@redhat.com / Manchester, UK
* Amit Shah (amit.s...@redhat.com) wrote:
> On (Wed) 21 May 2014 [10:44:07], Dr. David Alan Gilbert wrote:
> > * Amit Shah (amit.s...@redhat.com) wrote:
> > > This commit adds a new command, '-dump-vmstate', that takes a filename
> > > as a parameter. When
add_completion_option(rs, str, "off");
> +}
It's a shame you have to do all of these manually; if we could tell something
that we had an enum of 'MigrationCapability' then it could remove the command
specific glue.
Dave
> +}
> +
> static void monitor_find_completion_by_table(Monitor *mon,
> const mon_cmd_t *cmd_table,
> char **args,
> --
> 1.8.3.2
>
>
--
Dr. David Alan Gilbert / dgilb...@redhat.com / Manchester, UK
* Juan Quintela (quint...@redhat.com) wrote:
> "Dr. David Alan Gilbert (git)" wrote:
> G> From: "Dr. David Alan Gilbert"
> >
> > The migration code now occupies a fair chunk of the top level .c
> > files, it seems time to give it it's own dir
latest_ack, tmp32);
>
> I didn't see *ms->rp_state.latest_ack* been used elsewhere, what's it used
> for?;)
Nothing currently; I've used the REQ/ACK as debug at the moment; I was
thinking
that someone might want to wait on an ack being received before carrying on;
but had
;
> }
>
> +int runstate_store(char *str, int size)
> +{
> +const char *state = RunState_lookup[current_run_state];
> +
> +if (strlen(state)+1 > size)
> +return -1;
> +strncpy(str, state, strlen(state)+1);
> +return 0;
> +}
> +
> s
+
> +void register_global_state(void)
> +{
> +/* We would use it independently that we receive it */
> +strcpy((char*)&global_state.runstate, "");
> +vmstate_register(NULL, 0, &vmstate_globalstate, &global_state);
> +}
> diff --git a/vl.c b/vl.c
> index 1788b6a..75e855e 100644
> --- a/vl.c
> +++ b/vl.c
> @@ -4511,6 +4511,7 @@ int main(int argc, char **argv, char **envp)
> return 0;
> }
>
> +register_global_state();
> if (incoming) {
> Error *local_err = NULL;
> qemu_start_incoming_migration(incoming, &local_err);
> --
> 2.1.0
>
>
--
Dr. David Alan Gilbert / dgilb...@redhat.com / Manchester, UK
| \
> X |
> | |
> SRC --- DEST
>
> (not impossible: e.g. the SRC->DISK is fibre channel, but the SRC->DEST
> link is Ethernet. Or you have a replicated disk setup, some daemon
> fails in SRC's replica but not DEST's).
>
> > And I would emit an event saying
> > "migration was finished".
>
> The event should be emitted nevertheless. :)
>
> Paolo
>
--
Dr. David Alan Gilbert / dgilb...@redhat.com / Manchester, UK
* Eric Blake (ebl...@redhat.com) wrote:
> On 10/20/2014 04:52 AM, Juan Quintela wrote:
> > "Dr. David Alan Gilbert" wrote:
> >> * Juan Quintela (quint...@redhat.com) wrote:
> >>> This allows us to store the current state to send it through migration.
>
_PROP_BIT("streams", XHCIState, flags,
> +XHCI_FLAG_ENABLE_STREAMS, true),
That's enabling by default; so do you plan to add a patch to disable that
with older machine types?
Dave
> DEFINE_PROP_UINT32("intrs", XHCIState, numintrs, MAXINTRS),
> DEFINE_PROP_UINT32("slots", XHCIState, numslots, MAXSLOTS),
> DEFINE_PROP_UINT32("p2",XHCIState, numports_2, 4),
> --
> 1.8.3.1
>
--
Dr. David Alan Gilbert / dgilb...@redhat.com / Manchester, UK
* Paolo Bonzini (pbonz...@redhat.com) wrote:
> Il 03/10/2014 19:47, Dr. David Alan Gilbert (git) ha scritto:
> > +bool one_message = false;
> > +/* This looks good, but it's possible that the device loading in
> > the
> > + * main threa
* Paolo Bonzini (pbonz...@redhat.com) wrote:
> Il 03/10/2014 19:47, Dr. David Alan Gilbert (git) ha scritto:
> > +mis->postcopy_ram_state);
> > +if (mis->postcopy_ram_state == POSTCOPY_RAM_INCOMING_ADVISE) {
> > +/*
> > + * Where
* Paolo Bonzini (pbonz...@redhat.com) wrote:
> Il 03/10/2014 19:47, Dr. David Alan Gilbert (git) ha scritto:
> > QEMU_VM_CMD_INVALID = 0, /* Must be 0 */
> > +QEMU_VM_CMD_OPENRP,/* Tell the dest to open the Return path */
>
> OPEN_RETURN_PATH?
>
>
* Paolo Bonzini (pbonz...@redhat.com) wrote:
> Il 03/10/2014 19:47, Dr. David Alan Gilbert (git) ha scritto:
> > +/* Source side RP state */
> > +struct MigrationRetPathState {
> > +uint32_t latest_ack;
> > +QemuThreadrp_thread;
> > +boo
* Gary Hook (gary.h...@nimboxx.com) wrote:
> I see this went by:
>
> Il 07/10/2014 12:29, Dr. David Alan Gilbert ha scritto:
> > You mean something like this (untested) ?
> >
> > if (mis->postcopy_ram_state != POSTCOPY_RAM_INCOMING_NONE) {
> &g
> +tc qdisc add dev $pif ingress
> +tc filter add dev $pif parent : protocol ip prio 10 u32 match u32 0
> 0 flowid 1:2 action mirred egress redirect dev $vif
> +tc filter add dev $pif parent : protocol arp prio 11 u32 match u32 0
> 0 flowid 1:2 action mirred egress redir
_2_MACHINE_OPTIONS
> +#define PC_Q35_2_1_MACHINE_OPTIONS \
> +PC_Q35_MACHINE_OPTIONS, \
> +.default_machine_opts = "firmware=bios-256k.bin"
>
> static QEMUMachine pc_q35_machine_v2_1 = {
> PC_Q35_2_1_MACHINE_OPTIONS,
> --
> 1.8.3.1
>
>
--
Dr. David Alan Gilbert / dgilb...@redhat.com / Manchester, UK
er.
It's probably best to check with the QEMU storage guys that you can reuse
anything they have; there was a discussion a few weeks back where I cc'd
Fam, Stefan and Kevin in).
Dave
--
Dr. David Alan Gilbert / dgilb...@redhat.com / Manchester, UK
;It's probably best to check with the QEMU storage guys that you can reuse
> >anything they have; there was a discussion a few weeks back where I cc'd
> >Fam, Stefan and Kevin in).
> >
> >Dave
> >
> >--
> >Dr. David Alan Gilbert / dgilb...@redhat.com / Manchester, UK
> >.
> >
>
> --
> Thanks,
> Yang.
--
Dr. David Alan Gilbert / dgilb...@redhat.com / Manchester, UK
* Wen Congyang (we...@cn.fujitsu.com) wrote:
> On 10/29/2014 05:34 PM, Dr. David Alan Gilbert wrote:
> > * Wen Congyang (we...@cn.fujitsu.com) wrote:
> >
> >
> >
> >> Hi all:
> >>
> >> I will start to implement disk replication. Before
be updated to populate this
> field? Which implies that a new function will have to be written?
>
> Or, if I have missed the obvious, I would appreciate enlightenment.
Simple bug on my part; the line:
if (se->ops->can_postcopy(se->opaque)) {
needs to become:
if (se->ops->can_postcopy &&
se->ops->can_postcopy(se->opaque)) {
Thanks for the report.
Dave
--
Dr. David Alan Gilbert / dgilb...@redhat.com / Manchester, UK
* Gary Hook (gary.h...@nimboxx.com) wrote:
>
>
> On 10/30/14, 3:08 PM, "Dr. David Alan Gilbert" wrote:
>
> >>I posted another thread asking about migration failure due to a copy
> >> taking too long, but got no traction. In the case where the problem
egister into the same range, I
> > wouldn't even know who to deliver the userfault to. It is an erratic
> > behavior. Currently it'd return -EBUSY if the app has a bug and does
> > that, but maybe later this can be relaxed to allow higher
> > scalability with a flag (userfaultfd gets flags as parameters), but
> > it still would need to be the same logic that manages userfaults and
> > the only point of allowing multiple ufd to map the same range would
> > be SMP scalability. So I tend to see the userfaultfd as a MM local
> > thing. The thread managing the userfaults can still talk with
> > another process in the local machine using pipes or sockets if it
> > needs to.
> >
> >- the userfaultfd protocol version handshake was done this way because
> > it looked more reliable.
> >
> > Of course we could pass the version of the protocol as parameter to
> > userfaultfd too, but running the syscall multiple times until
> > -EPROTO didn't return anymore doesn't seem any better than writing
> > into the fd the wanted protocol until you read it back instead of
> > -1ULL. It just looked more reliable not having to run the syscall
> > again and again while depending on -EPROTO or some other
> > -Esomething.
> >
> >Thanks,
> >Andrea
> >
> >.
> >
>
>
--
Dr. David Alan Gilbert / dgilb...@redhat.com / Manchester, UK
* Gary Hook (gary.h...@nimboxx.com) wrote:
> On 10/30/14, 5:03 AM, "Dr. David Alan Gilbert" wrote:
>
> >* Gary Hook (gary.h...@nimboxx.com) wrote:
> >> *Knock* *knock* *knock* Is this thing on?
> >
> >Yes - but only by luck did I notice this; it'
* Amit Shah (amit.s...@redhat.com) wrote:
> On (Thu) 16 Oct 2014 [08:53:52], Dr. David Alan Gilbert (git) wrote:
>
> > rename migration-exec.c => migration/migration-exec.c (100%)
> > rename migration-fd.c => migration/migration-fd.c (100%)
> > rename migration
* Peter Maydell (peter.mayd...@linaro.org) wrote:
> On 16 October 2014 08:53, Dr. David Alan Gilbert (git)
> wrote:
> > From: "Dr. David Alan Gilbert"
> >
> > The migration code now occupies a fair chunk of the top level .c
> > files, it seems time to
* Gary Hook (gary.h...@nimboxx.com) wrote:
>
>
> On 10/30/14, 7:26 AM, "Amit Shah" wrote:
>
> >On (Thu) 16 Oct 2014 [08:53:52], Dr. David Alan Gilbert (git) wrote:
> >> From: "Dr. David Alan Gilbert"
> >>
> >> The migration
ifferent size [-Werror=int-to-pointer-cast]
> migration-rdma.c:1923:50: error: cast to pointer from integer of
> different size [-Werror=int-to-pointer-cast]
> migration-rdma.c:1977:49: error: cast to pointer from integer of
> different size [-Werror=int-to-pointer-cast]
> migration-rdma.c:1998:49: error: cast to pointer from integer of
> different size [-Werror=int-to-pointer-cast]
> migration-rdma.c:2010:58: error: cast to pointer from integer of
> different size [-Werror=int-to-pointer-cast]
> migration-rdma.c: In function 'qemu_rdma_registration_handle':
> migration-rdma.c:3027:21: error: cast from pointer to integer of
> different size [-Werror=pointer-to-int-cast]
> migration-rdma.c:3092:41: error: cast from pointer to integer of
> different size [-Werror=pointer-to-int-cast]
> cc1: all warnings being treated as errors
> make: *** [migration-rdma.o] Error 1
>
> i.e. earlier errors than before.
>
> To manage notifications about this bug go to:
> https://bugs.launchpad.net/qemu/+bug/1363641/+subscriptions
>
--
Dr. David Alan Gilbert / dgilb...@redhat.com / Manchester, UK
t; >be what you need.
> >
> >There's also a series on the mailing list that lets quorum read only
> >from the primary, so that quorum can still do replication and fault
> >tolerance, but skip fault detection.
> >
> >Paolo
> >
> >>There is also a second fault tolerance implementation that works a
> >>little differently called
> >>"COLO" - you may have seen those emails on the list too, but their
> >>method does not require a disk replication solution, if I recall correctly.
> >
>
>
--
Dr. David Alan Gilbert / dgilb...@redhat.com / Manchester, UK
* Hongyang Yang (yan...@cn.fujitsu.com) wrote:
>
>
> ??? 08/01/2014 11:03 PM, Dr. David Alan Gilbert ??:
> >* Yang Hongyang (yan...@cn.fujitsu.com) wrote:
> >>+static int do_colo_transaction(MigrationState *s, QEMUFile *control,
> >>+
* Hongyang Yang (yan...@cn.fujitsu.com) wrote:
>
>
> ??? 08/28/2014 11:03 PM, Dr. David Alan Gilbert (git) ??:
> >From: "Dr. David Alan Gilbert"
> >
> >Signed-off-by: Dr. David Alan Gilbert
> >---
> >+Postcopy can be combined with preco
* Hongyang Yang (yan...@cn.fujitsu.com) wrote:
>
>
> ??? 09/12/2014 07:17 PM, Dr. David Alan Gilbert ??:
> >* Hongyang Yang (yan...@cn.fujitsu.com) wrote:
> >>
> >>
> >>??? 08/01/2014 11:03 PM, Dr. David Alan Gilbert ??:
> >
VIRTIO_SCSI_F_HOTPLUG, \
> true),
> \
> DEFINE_PROP_BIT("param_change", _state, _feature_field,
> \
> --
> 1.9.3
>
--
Dr. David Alan Gilbert / dgilb...@redhat.com / Manchester, UK
1 - 100 of 11100 matches
Mail list logo