* Wei Yang (richardw.y...@linux.intel.com) wrote:
> When one is equal or bigger then end, it means there is no page to
> discard. Just break the loop in this case instead of processing it.
>
> No functional change, just refactor it a little.
>
> Signed-off-by: Wei Yang
Reviewed-by: Dr. David Alan Gilbert
> ---
> migration/ram.c | 26 +-
> 1 file changed, 13 insertions(+), 13 deletions(-)
>
> diff --git a/migration/ram.c b/migration/ram.c
> index b78169e811..b41b58ee54 100644
> --- a/migration/ram.c
> +++ b/migration/ram.c
> @@ -2776,23 +2776,23 @@ static int
> postcopy_send_discard_bm_ram(MigrationState *ms,
>
> for (current = 0; current < end; ) {
> unsigned long one = find_next_bit(unsentmap, end, current);
> +unsigned long zero, discard_length;
>
> -if (one < end) {
> -unsigned long zero = find_next_zero_bit(unsentmap, end, one + 1);
> -unsigned long discard_length;
> +if (one >= end) {
> +break;
> +}
>
> -if (zero >= end) {
> -discard_length = end - one;
> -} else {
> -discard_length = zero - one;
> -}
> -if (discard_length) {
> -postcopy_discard_send_range(ms, pds, one, discard_length);
> -}
> -current = one + discard_length;
> +zero = find_next_zero_bit(unsentmap, end, one + 1);
> +
> +if (zero >= end) {
> +discard_length = end - one;
> } else {
> -current = one;
> +discard_length = zero - one;
> +}
> +if (discard_length) {
> +postcopy_discard_send_range(ms, pds, one, discard_length);
> }
> +current = one + discard_length;
> }
>
> return 0;
> --
> 2.19.1
>
--
Dr. David Alan Gilbert / dgilb...@redhat.com / Manchester, UK