[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 13/14] migration: Remove old preempt code around state mainta
From: |
Peter Xu |
Subject: |
Re: [PATCH 13/14] migration: Remove old preempt code around state maintainance |
Date: |
Tue, 20 Sep 2022 20:47:20 -0400 |
On Tue, Sep 20, 2022 at 06:52:27PM -0400, Peter Xu wrote:
> With the new code to send pages in rp-return thread, there's little help to
> keep lots of the old code on maintaining the preempt state in migration
> thread, because the new way should always be faster..
>
> Then if we'll always send pages in the rp-return thread anyway, we don't
> need those logic to maintain preempt state anymore because now we serialize
> things using the mutex directly instead of using those fields.
>
> It's very unfortunate to have those code for a short period, but that's
> still one intermediate step that we noticed the next bottleneck on the
> migration thread. Now what we can do best is to drop unnecessary code as
> long as the new code is stable to reduce the burden. It's actually a good
> thing because the new "sending page in rp-return thread" model is (IMHO)
> even cleaner and with better performance.
>
> Remove the old code that was responsible for maintaining preempt states, at
> the meantime also remove x-postcopy-preempt-break-huge parameter because
> with concurrent sender threads we don't really need to break-huge anymore.
>
> Signed-off-by: Peter Xu <peterx@redhat.com>
> ---
> migration/migration.c | 2 -
> migration/ram.c | 258 +-----------------------------------------
> 2 files changed, 3 insertions(+), 257 deletions(-)
>
> diff --git a/migration/migration.c b/migration/migration.c
> index fae8fd378b..698fd94591 100644
> --- a/migration/migration.c
> +++ b/migration/migration.c
> @@ -4399,8 +4399,6 @@ static Property migration_properties[] = {
> DEFINE_PROP_SIZE("announce-step", MigrationState,
> parameters.announce_step,
> DEFAULT_MIGRATE_ANNOUNCE_STEP),
> - DEFINE_PROP_BOOL("x-postcopy-preempt-break-huge", MigrationState,
> - postcopy_preempt_break_huge, true),
Forgot to drop the variable altogether:
diff --git a/migration/migration.h b/migration/migration.h
index cdad8aceaa..ae4ffd3454 100644
--- a/migration/migration.h
+++ b/migration/migration.h
@@ -340,13 +340,6 @@ struct MigrationState {
bool send_configuration;
/* Whether we send section footer during migration */
bool send_section_footer;
- /*
- * Whether we allow break sending huge pages when postcopy preempt is
- * enabled. When disabled, we won't interrupt precopy within sending a
- * host huge page, which is the old behavior of vanilla postcopy.
- * NOTE: this parameter is ignored if postcopy preempt is not enabled.
- */
- bool postcopy_preempt_break_huge;
/* Needed by postcopy-pause state */
QemuSemaphore postcopy_pause_sem;
Will squash this in in next version.
--
Peter Xu
- [PATCH 03/14] migration: Trivial cleanup save_page_header() on same block check, (continued)
- [PATCH 03/14] migration: Trivial cleanup save_page_header() on same block check, Peter Xu, 2022/09/20
- [PATCH 04/14] migration: Remove RAMState.f references in compression code, Peter Xu, 2022/09/20
- [PATCH 06/14] migration: Use atomic ops properly for page accountings, Peter Xu, 2022/09/20
- [PATCH 07/14] migration: Teach PSS about host page, Peter Xu, 2022/09/20
- [PATCH 05/14] migration: Yield bitmap_mutex properly when sending/sleeping, Peter Xu, 2022/09/20
- [PATCH 08/14] migration: Introduce pss_channel, Peter Xu, 2022/09/20
- [PATCH 11/14] migration: Move last_sent_block into PageSearchStatus, Peter Xu, 2022/09/20
- [PATCH 10/14] migration: Make PageSearchStatus part of RAMState, Peter Xu, 2022/09/20
- [PATCH 12/14] migration: Send requested page directly in rp-return thread, Peter Xu, 2022/09/20
- [PATCH 13/14] migration: Remove old preempt code around state maintainance, Peter Xu, 2022/09/20
- Re: [PATCH 13/14] migration: Remove old preempt code around state maintainance,
Peter Xu <=
- [PATCH 14/14] migration: Drop rs->f, Peter Xu, 2022/09/20
- [PATCH 09/14] migration: Add pss_init(), Peter Xu, 2022/09/20