qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* 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).