* Wei Yang (richardw.yang@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 <richardw.yang@linux.intel.com>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
> ---
> 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 / dgilbert@redhat.com / Manchester, UK