* Re: [Qemu-devel] [PATCH] migration/ram.c: Fix codes conflict about bitmap_mutex
[not found] <20190329222951.28945-1-chen.zhang@intel.com>
@ 2019-04-01 9:11 ` Wei Wang
2019-04-04 8:17 ` Zhang, Chen
2019-04-05 14:30 ` Dr. David Alan Gilbert
1 sibling, 1 reply; 5+ messages in thread
From: Wei Wang @ 2019-04-01 9:11 UTC (permalink / raw)
To: Zhang Chen, Zhang Chen, Dr. David Alan Gilbert, Juan Quintela,
qemu-dev
On 03/30/2019 06:29 AM, Zhang Chen wrote:
> From: Zhang Chen <chen.zhang@intel.com>
>
> I found upstream codes conflict with COLO and lead to crash,
> and I located to this patch:
>
> commit 386a907b37a9321bc5d699bc37104d6ffba1b34d
> Author: Wei Wang <wei.w.wang@intel.com>
> Date: Tue Dec 11 16:24:49 2018 +0800
>
> migration: use bitmap_mutex in migration_bitmap_clear_dirty
>
> My colleague Wei's patch add bitmap_mutex in migration_bitmap_clear_dirty,
> but COLO didn't initialize the bitmap_mutex. So we always get an error
> when COLO start up. like that:
> qemu-system-x86_64: util/qemu-thread-posix.c:64: qemu_mutex_lock_impl: Assertion `mutex->initialized' failed.
>
> This patch add the bitmap_mutex initialize and destroy in COLO
> lifecycle.
>
> Signed-off-by: Zhang Chen <chen.zhang@intel.com>
> ---
> migration/ram.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/migration/ram.c b/migration/ram.c
> index d7f8fe45a8..f68beeeeff 100644
> --- a/migration/ram.c
> +++ b/migration/ram.c
> @@ -3918,6 +3918,7 @@ int colo_init_ram_cache(void)
> }
> ram_state = g_new0(RAMState, 1);
> ram_state->migration_dirty_pages = 0;
> + qemu_mutex_init(&ram_state->bitmap_mutex);
> memory_global_dirty_log_start();
>
> return 0;
> @@ -3956,6 +3957,7 @@ void colo_release_ram_cache(void)
> }
>
> rcu_read_unlock();
> + qemu_mutex_destroy(&ram_state->bitmap_mutex);
> g_free(ram_state);
> ram_state = NULL;
> }
Reviewed-by: Wei Wang <wei.w.wang@intel.com>
Best,
Wei
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [Qemu-devel] [PATCH] migration/ram.c: Fix codes conflict about bitmap_mutex
2019-04-01 9:11 ` [Qemu-devel] [PATCH] migration/ram.c: Fix codes conflict about bitmap_mutex Wei Wang
@ 2019-04-04 8:17 ` Zhang, Chen
2019-04-04 8:55 ` Dr. David Alan Gilbert
0 siblings, 1 reply; 5+ messages in thread
From: Zhang, Chen @ 2019-04-04 8:17 UTC (permalink / raw)
To: Wang, Wei W, Zhang Chen, Dr. David Alan Gilbert, Juan Quintela,
qemu-dev
Ping~ Anyone have comments about this patch?
Thanks
Zhang Chen
> -----Original Message-----
> From: Wang, Wei W
> Sent: Monday, April 1, 2019 5:12 PM
> To: Zhang, Chen <chen.zhang@intel.com>; Zhang Chen
> <zhangckid@gmail.com>; Dr. David Alan Gilbert <dgilbert@redhat.com>; Juan
> Quintela <quintela@redhat.com>; qemu-dev <qemu-devel@nongnu.org>
> Subject: Re: [PATCH] migration/ram.c: Fix codes conflict about bitmap_mutex
>
> On 03/30/2019 06:29 AM, Zhang Chen wrote:
> > From: Zhang Chen <chen.zhang@intel.com>
> >
> > I found upstream codes conflict with COLO and lead to crash, and I
> > located to this patch:
> >
> > commit 386a907b37a9321bc5d699bc37104d6ffba1b34d
> > Author: Wei Wang <wei.w.wang@intel.com>
> > Date: Tue Dec 11 16:24:49 2018 +0800
> >
> > migration: use bitmap_mutex in migration_bitmap_clear_dirty
> >
> > My colleague Wei's patch add bitmap_mutex in
> > migration_bitmap_clear_dirty, but COLO didn't initialize the
> > bitmap_mutex. So we always get an error when COLO start up. like that:
> > qemu-system-x86_64: util/qemu-thread-posix.c:64: qemu_mutex_lock_impl:
> Assertion `mutex->initialized' failed.
> >
> > This patch add the bitmap_mutex initialize and destroy in COLO
> > lifecycle.
> >
> > Signed-off-by: Zhang Chen <chen.zhang@intel.com>
> > ---
> > migration/ram.c | 2 ++
> > 1 file changed, 2 insertions(+)
> >
> > diff --git a/migration/ram.c b/migration/ram.c index
> > d7f8fe45a8..f68beeeeff 100644
> > --- a/migration/ram.c
> > +++ b/migration/ram.c
> > @@ -3918,6 +3918,7 @@ int colo_init_ram_cache(void)
> > }
> > ram_state = g_new0(RAMState, 1);
> > ram_state->migration_dirty_pages = 0;
> > + qemu_mutex_init(&ram_state->bitmap_mutex);
> > memory_global_dirty_log_start();
> >
> > return 0;
> > @@ -3956,6 +3957,7 @@ void colo_release_ram_cache(void)
> > }
> >
> > rcu_read_unlock();
> > + qemu_mutex_destroy(&ram_state->bitmap_mutex);
> > g_free(ram_state);
> > ram_state = NULL;
> > }
>
> Reviewed-by: Wei Wang <wei.w.wang@intel.com>
>
> Best,
> Wei
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [Qemu-devel] [PATCH] migration/ram.c: Fix codes conflict about bitmap_mutex
2019-04-04 8:17 ` Zhang, Chen
@ 2019-04-04 8:55 ` Dr. David Alan Gilbert
0 siblings, 0 replies; 5+ messages in thread
From: Dr. David Alan Gilbert @ 2019-04-04 8:55 UTC (permalink / raw)
To: Zhang, Chen; +Cc: Wang, Wei W, Zhang Chen, Juan Quintela, qemu-dev
* Zhang, Chen (chen.zhang@intel.com) wrote:
> Ping~ Anyone have comments about this patch?
No, it looks good to me, we need to get it merged.
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
> Thanks
> Zhang Chen
>
>
> > -----Original Message-----
> > From: Wang, Wei W
> > Sent: Monday, April 1, 2019 5:12 PM
> > To: Zhang, Chen <chen.zhang@intel.com>; Zhang Chen
> > <zhangckid@gmail.com>; Dr. David Alan Gilbert <dgilbert@redhat.com>; Juan
> > Quintela <quintela@redhat.com>; qemu-dev <qemu-devel@nongnu.org>
> > Subject: Re: [PATCH] migration/ram.c: Fix codes conflict about bitmap_mutex
> >
> > On 03/30/2019 06:29 AM, Zhang Chen wrote:
> > > From: Zhang Chen <chen.zhang@intel.com>
> > >
> > > I found upstream codes conflict with COLO and lead to crash, and I
> > > located to this patch:
> > >
> > > commit 386a907b37a9321bc5d699bc37104d6ffba1b34d
> > > Author: Wei Wang <wei.w.wang@intel.com>
> > > Date: Tue Dec 11 16:24:49 2018 +0800
> > >
> > > migration: use bitmap_mutex in migration_bitmap_clear_dirty
> > >
> > > My colleague Wei's patch add bitmap_mutex in
> > > migration_bitmap_clear_dirty, but COLO didn't initialize the
> > > bitmap_mutex. So we always get an error when COLO start up. like that:
> > > qemu-system-x86_64: util/qemu-thread-posix.c:64: qemu_mutex_lock_impl:
> > Assertion `mutex->initialized' failed.
> > >
> > > This patch add the bitmap_mutex initialize and destroy in COLO
> > > lifecycle.
> > >
> > > Signed-off-by: Zhang Chen <chen.zhang@intel.com>
> > > ---
> > > migration/ram.c | 2 ++
> > > 1 file changed, 2 insertions(+)
> > >
> > > diff --git a/migration/ram.c b/migration/ram.c index
> > > d7f8fe45a8..f68beeeeff 100644
> > > --- a/migration/ram.c
> > > +++ b/migration/ram.c
> > > @@ -3918,6 +3918,7 @@ int colo_init_ram_cache(void)
> > > }
> > > ram_state = g_new0(RAMState, 1);
> > > ram_state->migration_dirty_pages = 0;
> > > + qemu_mutex_init(&ram_state->bitmap_mutex);
> > > memory_global_dirty_log_start();
> > >
> > > return 0;
> > > @@ -3956,6 +3957,7 @@ void colo_release_ram_cache(void)
> > > }
> > >
> > > rcu_read_unlock();
> > > + qemu_mutex_destroy(&ram_state->bitmap_mutex);
> > > g_free(ram_state);
> > > ram_state = NULL;
> > > }
> >
> > Reviewed-by: Wei Wang <wei.w.wang@intel.com>
> >
> > Best,
> > Wei
--
Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [Qemu-devel] [PATCH] migration/ram.c: Fix codes conflict about bitmap_mutex
[not found] <20190329222951.28945-1-chen.zhang@intel.com>
2019-04-01 9:11 ` [Qemu-devel] [PATCH] migration/ram.c: Fix codes conflict about bitmap_mutex Wei Wang
@ 2019-04-05 14:30 ` Dr. David Alan Gilbert
2019-04-05 14:30 ` Dr. David Alan Gilbert
1 sibling, 1 reply; 5+ messages in thread
From: Dr. David Alan Gilbert @ 2019-04-05 14:30 UTC (permalink / raw)
To: Zhang Chen; +Cc: Zhang Chen, Juan Quintela, qemu-dev, Wei Wang
* Zhang Chen (chen.zhang@intel.com) wrote:
> From: Zhang Chen <chen.zhang@intel.com>
>
> I found upstream codes conflict with COLO and lead to crash,
> and I located to this patch:
Queued.
>
> commit 386a907b37a9321bc5d699bc37104d6ffba1b34d
> Author: Wei Wang <wei.w.wang@intel.com>
> Date: Tue Dec 11 16:24:49 2018 +0800
>
> migration: use bitmap_mutex in migration_bitmap_clear_dirty
>
> My colleague Wei's patch add bitmap_mutex in migration_bitmap_clear_dirty,
> but COLO didn't initialize the bitmap_mutex. So we always get an error
> when COLO start up. like that:
> qemu-system-x86_64: util/qemu-thread-posix.c:64: qemu_mutex_lock_impl: Assertion `mutex->initialized' failed.
>
> This patch add the bitmap_mutex initialize and destroy in COLO
> lifecycle.
>
> Signed-off-by: Zhang Chen <chen.zhang@intel.com>
> ---
> migration/ram.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/migration/ram.c b/migration/ram.c
> index d7f8fe45a8..f68beeeeff 100644
> --- a/migration/ram.c
> +++ b/migration/ram.c
> @@ -3918,6 +3918,7 @@ int colo_init_ram_cache(void)
> }
> ram_state = g_new0(RAMState, 1);
> ram_state->migration_dirty_pages = 0;
> + qemu_mutex_init(&ram_state->bitmap_mutex);
> memory_global_dirty_log_start();
>
> return 0;
> @@ -3956,6 +3957,7 @@ void colo_release_ram_cache(void)
> }
>
> rcu_read_unlock();
> + qemu_mutex_destroy(&ram_state->bitmap_mutex);
> g_free(ram_state);
> ram_state = NULL;
> }
> --
> 2.17.GIT
>
--
Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [Qemu-devel] [PATCH] migration/ram.c: Fix codes conflict about bitmap_mutex
2019-04-05 14:30 ` Dr. David Alan Gilbert
@ 2019-04-05 14:30 ` Dr. David Alan Gilbert
0 siblings, 0 replies; 5+ messages in thread
From: Dr. David Alan Gilbert @ 2019-04-05 14:30 UTC (permalink / raw)
To: Zhang Chen; +Cc: Wei Wang, Juan Quintela, qemu-dev, Zhang Chen
* Zhang Chen (chen.zhang@intel.com) wrote:
> From: Zhang Chen <chen.zhang@intel.com>
>
> I found upstream codes conflict with COLO and lead to crash,
> and I located to this patch:
Queued.
>
> commit 386a907b37a9321bc5d699bc37104d6ffba1b34d
> Author: Wei Wang <wei.w.wang@intel.com>
> Date: Tue Dec 11 16:24:49 2018 +0800
>
> migration: use bitmap_mutex in migration_bitmap_clear_dirty
>
> My colleague Wei's patch add bitmap_mutex in migration_bitmap_clear_dirty,
> but COLO didn't initialize the bitmap_mutex. So we always get an error
> when COLO start up. like that:
> qemu-system-x86_64: util/qemu-thread-posix.c:64: qemu_mutex_lock_impl: Assertion `mutex->initialized' failed.
>
> This patch add the bitmap_mutex initialize and destroy in COLO
> lifecycle.
>
> Signed-off-by: Zhang Chen <chen.zhang@intel.com>
> ---
> migration/ram.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/migration/ram.c b/migration/ram.c
> index d7f8fe45a8..f68beeeeff 100644
> --- a/migration/ram.c
> +++ b/migration/ram.c
> @@ -3918,6 +3918,7 @@ int colo_init_ram_cache(void)
> }
> ram_state = g_new0(RAMState, 1);
> ram_state->migration_dirty_pages = 0;
> + qemu_mutex_init(&ram_state->bitmap_mutex);
> memory_global_dirty_log_start();
>
> return 0;
> @@ -3956,6 +3957,7 @@ void colo_release_ram_cache(void)
> }
>
> rcu_read_unlock();
> + qemu_mutex_destroy(&ram_state->bitmap_mutex);
> g_free(ram_state);
> ram_state = NULL;
> }
> --
> 2.17.GIT
>
--
Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2019-04-05 14:46 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <20190329222951.28945-1-chen.zhang@intel.com>
2019-04-01 9:11 ` [Qemu-devel] [PATCH] migration/ram.c: Fix codes conflict about bitmap_mutex Wei Wang
2019-04-04 8:17 ` Zhang, Chen
2019-04-04 8:55 ` Dr. David Alan Gilbert
2019-04-05 14:30 ` Dr. David Alan Gilbert
2019-04-05 14:30 ` Dr. David Alan Gilbert
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).