Message ID | 20191017205953.13122-2-cheloha@linux.vnet.ibm.com |
---|---|
State | New |
Headers | show |
Series | migration: faster savevm_state_handler_insert() | expand |
* Scott Cheloha (cheloha@linux.vnet.ibm.com) wrote: > Create a function to abstract common logic needed when removing a > SaveStateEntry element from the savevm_state.handlers queue. > > For now we just remove the element. Soon it will involve additional > cleanup. > > Signed-off-by: Scott Cheloha <cheloha@linux.vnet.ibm.com> Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com> > --- > migration/savevm.c | 9 +++++++-- > 1 file changed, 7 insertions(+), 2 deletions(-) > > diff --git a/migration/savevm.c b/migration/savevm.c > index 8d95e261f6..b2e3b7222a 100644 > --- a/migration/savevm.c > +++ b/migration/savevm.c > @@ -725,6 +725,11 @@ static void savevm_state_handler_insert(SaveStateEntry *nse) > } > } > > +static void savevm_state_handler_remove(SaveStateEntry *se) > +{ > + QTAILQ_REMOVE(&savevm_state.handlers, se, entry); > +} > + > /* TODO: Individual devices generally have very little idea about the rest > of the system, so instance_id should be removed/replaced. > Meanwhile pass -1 as instance_id if you do not already have a clearly > @@ -777,7 +782,7 @@ void unregister_savevm(DeviceState *dev, const char *idstr, void *opaque) > > QTAILQ_FOREACH_SAFE(se, &savevm_state.handlers, entry, new_se) { > if (strcmp(se->idstr, id) == 0 && se->opaque == opaque) { > - QTAILQ_REMOVE(&savevm_state.handlers, se, entry); > + savevm_state_handler_remove(se); > g_free(se->compat); > g_free(se); > } > @@ -841,7 +846,7 @@ void vmstate_unregister(DeviceState *dev, const VMStateDescription *vmsd, > > QTAILQ_FOREACH_SAFE(se, &savevm_state.handlers, entry, new_se) { > if (se->vmsd == vmsd && se->opaque == opaque) { > - QTAILQ_REMOVE(&savevm_state.handlers, se, entry); > + savevm_state_handler_remove(se); > g_free(se->compat); > g_free(se); > } > -- > 2.23.0 > -- Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK
Scott Cheloha <cheloha@linux.vnet.ibm.com> wrote: > Create a function to abstract common logic needed when removing a > SaveStateEntry element from the savevm_state.handlers queue. > > For now we just remove the element. Soon it will involve additional > cleanup. > > Signed-off-by: Scott Cheloha <cheloha@linux.vnet.ibm.com> Reviewed-by: Juan Quintela <quintela@redhat.com> queued
diff --git a/migration/savevm.c b/migration/savevm.c index 8d95e261f6..b2e3b7222a 100644 --- a/migration/savevm.c +++ b/migration/savevm.c @@ -725,6 +725,11 @@ static void savevm_state_handler_insert(SaveStateEntry *nse) } } +static void savevm_state_handler_remove(SaveStateEntry *se) +{ + QTAILQ_REMOVE(&savevm_state.handlers, se, entry); +} + /* TODO: Individual devices generally have very little idea about the rest of the system, so instance_id should be removed/replaced. Meanwhile pass -1 as instance_id if you do not already have a clearly @@ -777,7 +782,7 @@ void unregister_savevm(DeviceState *dev, const char *idstr, void *opaque) QTAILQ_FOREACH_SAFE(se, &savevm_state.handlers, entry, new_se) { if (strcmp(se->idstr, id) == 0 && se->opaque == opaque) { - QTAILQ_REMOVE(&savevm_state.handlers, se, entry); + savevm_state_handler_remove(se); g_free(se->compat); g_free(se); } @@ -841,7 +846,7 @@ void vmstate_unregister(DeviceState *dev, const VMStateDescription *vmsd, QTAILQ_FOREACH_SAFE(se, &savevm_state.handlers, entry, new_se) { if (se->vmsd == vmsd && se->opaque == opaque) { - QTAILQ_REMOVE(&savevm_state.handlers, se, entry); + savevm_state_handler_remove(se); g_free(se->compat); g_free(se); }
Create a function to abstract common logic needed when removing a SaveStateEntry element from the savevm_state.handlers queue. For now we just remove the element. Soon it will involve additional cleanup. Signed-off-by: Scott Cheloha <cheloha@linux.vnet.ibm.com> --- migration/savevm.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-)