migration/dirtyrate.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
Using macro g_new() to handling potential memory allocation failures
in dirtyrate.
Signed-off-by: jianchunfu <jianchunfu@cmss.chinamobile.com>
---
migration/dirtyrate.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/migration/dirtyrate.c b/migration/dirtyrate.c
index aace12a787..0e59aacbb0 100644
--- a/migration/dirtyrate.c
+++ b/migration/dirtyrate.c
@@ -522,10 +522,10 @@ static void calculate_dirtyrate_dirty_ring(struct DirtyRateConfig config)
nvcpu++;
}
- dirty_pages = malloc(sizeof(*dirty_pages) * nvcpu);
+ dirty_pages = g_new(DirtyPageRecord, nvcpu);
DirtyStat.dirty_ring.nvcpu = nvcpu;
- DirtyStat.dirty_ring.rates = malloc(sizeof(DirtyRateVcpu) * nvcpu);
+ DirtyStat.dirty_ring.rates = g_new(DirtyRateVcpu, nvcpu);
dirtyrate_global_dirty_log_start();
--
2.18.4
On 11/4/22 11:47, jianchunfu wrote: > Using macro g_new() to handling potential memory allocation failures > in dirtyrate. > > Signed-off-by: jianchunfu <jianchunfu@cmss.chinamobile.com> > --- > migration/dirtyrate.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/migration/dirtyrate.c b/migration/dirtyrate.c > index aace12a787..0e59aacbb0 100644 > --- a/migration/dirtyrate.c > +++ b/migration/dirtyrate.c > @@ -522,10 +522,10 @@ static void calculate_dirtyrate_dirty_ring(struct DirtyRateConfig config) > nvcpu++; > } > > - dirty_pages = malloc(sizeof(*dirty_pages) * nvcpu); > + dirty_pages = g_new(DirtyPageRecord, nvcpu); > > DirtyStat.dirty_ring.nvcpu = nvcpu; > - DirtyStat.dirty_ring.rates = malloc(sizeof(DirtyRateVcpu) * nvcpu); > + DirtyStat.dirty_ring.rates = g_new(DirtyRateVcpu, nvcpu); > > dirtyrate_global_dirty_log_start(); > While malloc() resources are released with free(), g_malloc/g_new() ones with g_free(). So to match the API, this hunk is missing: -- >8 -- diff --git a/migration/dirtyrate.c b/migration/dirtyrate.c index aace12a787..e49db7ca4c 100644 --- a/migration/dirtyrate.c +++ b/migration/dirtyrate.c @@ -159,3 +159,3 @@ static void cleanup_dirtyrate_stat(struct DirtyRateConfig config) if (dirtyrate_mode == DIRTY_RATE_MEASURE_MODE_DIRTY_RING) { - free(DirtyStat.dirty_ring.rates); + g_free(DirtyStat.dirty_ring.rates); DirtyStat.dirty_ring.rates = NULL; @@ -558,3 +558,3 @@ static void calculate_dirtyrate_dirty_ring(struct DirtyRateConfig config) DirtyStat.dirty_rate = dirtyrate_sum; - free(dirty_pages); + g_free(dirty_pages); } ---
On 4/11/22 02:47, jianchunfu wrote: > Using macro g_new() to handling potential memory allocation failures > in dirtyrate. > > Signed-off-by: jianchunfu<jianchunfu@cmss.chinamobile.com> > --- > migration/dirtyrate.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) Reviewed-by: Richard Henderson <richard.henderson@linaro.org> r~
* jianchunfu (jianchunfu@cmss.chinamobile.com) wrote: > Using macro g_new() to handling potential memory allocation failures > in dirtyrate. > > Signed-off-by: jianchunfu <jianchunfu@cmss.chinamobile.com> > --- > migration/dirtyrate.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/migration/dirtyrate.c b/migration/dirtyrate.c > index aace12a787..0e59aacbb0 100644 > --- a/migration/dirtyrate.c > +++ b/migration/dirtyrate.c > @@ -522,10 +522,10 @@ static void calculate_dirtyrate_dirty_ring(struct DirtyRateConfig config) > nvcpu++; > } > > - dirty_pages = malloc(sizeof(*dirty_pages) * nvcpu); > + dirty_pages = g_new(DirtyPageRecord, nvcpu); > > DirtyStat.dirty_ring.nvcpu = nvcpu; > - DirtyStat.dirty_ring.rates = malloc(sizeof(DirtyRateVcpu) * nvcpu); > + DirtyStat.dirty_ring.rates = g_new(DirtyRateVcpu, nvcpu); > > dirtyrate_global_dirty_log_start(); Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com> > > -- > 2.18.4 > > > -- Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK
© 2016 - 2024 Red Hat, Inc.