[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v2 06/16] Fold postcopy_ram_discard_range into r
From: |
Laurent Vivier |
Subject: |
Re: [Qemu-devel] [PATCH v2 06/16] Fold postcopy_ram_discard_range into ram_discard_range |
Date: |
Fri, 24 Feb 2017 15:26:41 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.7.0 |
On 06/02/2017 18:32, Dr. David Alan Gilbert (git) wrote:
> From: "Dr. David Alan Gilbert" <address@hidden>
>
> Using the previously created ram_block_discard_range,
> kill off postcopy_ram_discard_range.
> ram_discard_range is just a wrapper that does the name lookup.
>
> Signed-off-by: Dr. David Alan Gilbert <address@hidden>
> ---
> include/migration/postcopy-ram.h | 7 -------
> migration/postcopy-ram.c | 30 +-----------------------------
> migration/ram.c | 24 +++---------------------
> migration/trace-events | 2 +-
> 4 files changed, 5 insertions(+), 58 deletions(-)
>
> diff --git a/include/migration/postcopy-ram.h
> b/include/migration/postcopy-ram.h
> index b6a7491f..43bbbca 100644
> --- a/include/migration/postcopy-ram.h
> +++ b/include/migration/postcopy-ram.h
> @@ -35,13 +35,6 @@ int postcopy_ram_incoming_init(MigrationIncomingState
> *mis, size_t ram_pages);
> int postcopy_ram_incoming_cleanup(MigrationIncomingState *mis);
>
> /*
> - * Discard the contents of 'length' bytes from 'start'
> - * We can assume that if we've been called postcopy_ram_hosttest returned
> true
> - */
> -int postcopy_ram_discard_range(MigrationIncomingState *mis, uint8_t *start,
> - size_t length);
> -
> -/*
> * Userfault requires us to mark RAM as NOHUGEPAGE prior to discard
> * however leaving it until after precopy means that most of the precopy
> * data is still THPd
> diff --git a/migration/postcopy-ram.c b/migration/postcopy-ram.c
> index a40dddb..1e3d22f 100644
> --- a/migration/postcopy-ram.c
> +++ b/migration/postcopy-ram.c
> @@ -200,27 +200,6 @@ out:
> return ret;
> }
>
> -/**
> - * postcopy_ram_discard_range: Discard a range of memory.
> - * We can assume that if we've been called postcopy_ram_hosttest returned
> true.
> - *
> - * @mis: Current incoming migration state.
> - * @start, @length: range of memory to discard.
> - *
> - * returns: 0 on success.
> - */
> -int postcopy_ram_discard_range(MigrationIncomingState *mis, uint8_t *start,
> - size_t length)
> -{
> - trace_postcopy_ram_discard_range(start, length);
> - if (madvise(start, length, MADV_DONTNEED)) {
> - error_report("%s MADV_DONTNEED: %s", __func__, strerror(errno));
> - return -1;
> - }
> -
> - return 0;
> -}
> -
> /*
> * Setup an area of RAM so that it *can* be used for postcopy later; this
> * must be done right at the start prior to pre-copy.
> @@ -239,7 +218,7 @@ static int init_range(const char *block_name, void
> *host_addr,
> * - we're going to get the copy from the source anyway.
> * (Precopy will just overwrite this data, so doesn't need the discard)
> */
> - if (postcopy_ram_discard_range(mis, host_addr, length)) {
> + if (ram_discard_range(mis, block_name, 0, length)) {
> return -1;
> }
>
> @@ -658,13 +637,6 @@ int postcopy_ram_incoming_cleanup(MigrationIncomingState
> *mis)
> return -1;
> }
>
> -int postcopy_ram_discard_range(MigrationIncomingState *mis, uint8_t *start,
> - size_t length)
> -{
> - assert(0);
> - return -1;
> -}
> -
> int postcopy_ram_prepare_discard(MigrationIncomingState *mis)
> {
> assert(0);
> diff --git a/migration/ram.c b/migration/ram.c
> index d33bd21..136996a 100644
> --- a/migration/ram.c
> +++ b/migration/ram.c
> @@ -1845,6 +1845,8 @@ int ram_discard_range(MigrationIncomingState *mis,
> {
> int ret = -1;
>
> + trace_ram_discard_range(block_name, start, length);
> +
> rcu_read_lock();
I think you take the rcu_read_lock() twice: here and in
ram_block_discard_range().
I think you should merge this patch with PATCH 04/16, as it's just code
copy.
Laurent
- Re: [Qemu-devel] [PATCH v2 03/16] postcopy: Chunk discards for hugepages, (continued)
- [Qemu-devel] [PATCH v2 01/16] postcopy: Transmit ram size summary word, Dr. David Alan Gilbert (git), 2017/02/06
- [Qemu-devel] [PATCH v2 05/16] postcopy: enhance ram_block_discard_range for hugepages, Dr. David Alan Gilbert (git), 2017/02/06
- [Qemu-devel] [PATCH v2 06/16] Fold postcopy_ram_discard_range into ram_discard_range, Dr. David Alan Gilbert (git), 2017/02/06
- [Qemu-devel] [PATCH v2 04/16] exec: ram_block_discard_range, Dr. David Alan Gilbert (git), 2017/02/06
- [Qemu-devel] [PATCH v2 09/16] postcopy: Use temporary for placing zero huge pages, Dr. David Alan Gilbert (git), 2017/02/06