From patchwork Tue Nov 23 17:50:53 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Juan Quintela X-Patchwork-Id: 12634957 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id EA971C433EF for ; Tue, 23 Nov 2021 17:52:59 +0000 (UTC) Received: from localhost ([::1]:45500 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mpZyU-0000kV-Ol for qemu-devel@archiver.kernel.org; Tue, 23 Nov 2021 12:52:58 -0500 Received: from eggs.gnu.org ([209.51.188.92]:55156) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mpZwz-0006QD-JM for qemu-devel@nongnu.org; Tue, 23 Nov 2021 12:51:25 -0500 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]:52194) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mpZwx-0006lB-I2 for qemu-devel@nongnu.org; Tue, 23 Nov 2021 12:51:25 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1637689883; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=I5yl7RraBVeWxI7Mcwgc7ke4eCRwkzgx0TzpPRkGWrQ=; b=UxNUF4d5ey8gCMOgl31Gb574+ka08TIbQdJ6c+74DMh4AIPf/RjjrZVXseo3IGC/E1MosI VbdMckOdUksYdpC5WWexsl9d6bxzHaMeNrHvE70+dqL5UiCHpGPee8KNmNUMB+TTjqyj8j opqfQUQLoU8PJtEYQGXSNysXF3LHE6U= Received: from mail-wm1-f70.google.com (mail-wm1-f70.google.com [209.85.128.70]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-419-Gg0v9irnOgaRaZxPu3GE8Q-1; Tue, 23 Nov 2021 12:51:22 -0500 X-MC-Unique: Gg0v9irnOgaRaZxPu3GE8Q-1 Received: by mail-wm1-f70.google.com with SMTP id c8-20020a7bc848000000b0033bf856f0easo1582291wml.1 for ; Tue, 23 Nov 2021 09:51:21 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=I5yl7RraBVeWxI7Mcwgc7ke4eCRwkzgx0TzpPRkGWrQ=; b=TfpxW6yQf5l6MngT/xjJfeHjy7GgMm8xMUUXmKb+5XJlHB+C2WLGa3R1MNw6hjXqjl TXdOWDKen5u7HBhG3AHBXXKA68M2AOtghZCIy0L/dhU2TNjHFZBgB3MJskFNRvTvo0ua MZ5JaOe46ii5Diviq41/hJa4vt5uYTOSNUB0p8Uzvf1Zob9Liz5jW/g7J9cRskf2LFwr YHfkFf/HIcAIo+tJ9BHDiuPRoAT5zhZjAHlohrq3SqVhlFOPE1V8voQpZ89XB2FkCCVc fm0rE5a9/IoAK7l4zxMf/Dii3wSYSAGkd54UcdFOGEqi8je715WQYrHI1Qox55ffvnrI MyLg== X-Gm-Message-State: AOAM533E4Mnc5nhV48Cc0fBpmzM6pEo9yQRKFkpNJ0+fssGZ1COEvwVp +Yf+rVA7TYRAHmxMvn7SJW9fADxGWxJLxjrO6FJ/+GCNQBa1SzavwsWc+MLub5W8+UQgLxZvxPU XSJb1PsxrsY9tg8FO8277jA76/LrUnO6rj4iYZmUQ+VFbq8KuzgIIc1VdMLWZwLe/A20= X-Received: by 2002:adf:d852:: with SMTP id k18mr8848433wrl.391.1637689880475; Tue, 23 Nov 2021 09:51:20 -0800 (PST) X-Google-Smtp-Source: ABdhPJzrmHmMZsAKjKF8AiQc08op7+DIg4eg2ucdv1EYvV2Bck1zc6YTNClmDj4ECvfdXm4RBkZPaQ== X-Received: by 2002:adf:d852:: with SMTP id k18mr8848385wrl.391.1637689880105; Tue, 23 Nov 2021 09:51:20 -0800 (PST) Received: from localhost (static-233-86-86-188.ipcom.comunitel.net. [188.86.86.233]) by smtp.gmail.com with ESMTPSA id g4sm12573425wro.12.2021.11.23.09.51.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 23 Nov 2021 09:51:19 -0800 (PST) From: Juan Quintela To: qemu-devel@nongnu.org Subject: [PATCH 03/23] multifd: Rename used field to num Date: Tue, 23 Nov 2021 18:50:53 +0100 Message-Id: <20211123175113.35569-4-quintela@redhat.com> X-Mailer: git-send-email 2.33.1 In-Reply-To: <20211123175113.35569-1-quintela@redhat.com> References: <20211123175113.35569-1-quintela@redhat.com> MIME-Version: 1.0 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=quintela@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Received-SPF: pass client-ip=170.10.129.124; envelope-from=quintela@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -34 X-Spam_score: -3.5 X-Spam_bar: --- X-Spam_report: (-3.5 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.7, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Leonardo Bras , "Dr. David Alan Gilbert" , Peter Xu , Juan Quintela Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" We will need to split it later in zero_num (number of zero pages) and normal_num (number of normal pages). This name is better. Signed-off-by: Juan Quintela --- migration/multifd.h | 2 +- migration/multifd.c | 38 +++++++++++++++++++------------------- 2 files changed, 20 insertions(+), 20 deletions(-) diff --git a/migration/multifd.h b/migration/multifd.h index 15c50ca0b2..86820dd028 100644 --- a/migration/multifd.h +++ b/migration/multifd.h @@ -55,7 +55,7 @@ typedef struct { typedef struct { /* number of used pages */ - uint32_t used; + uint32_t num; /* number of allocated pages */ uint32_t allocated; /* global number of generated multifd packets */ diff --git a/migration/multifd.c b/migration/multifd.c index 8125d0015c..8ea86d81dc 100644 --- a/migration/multifd.c +++ b/migration/multifd.c @@ -252,7 +252,7 @@ static MultiFDPages_t *multifd_pages_init(size_t size) static void multifd_pages_clear(MultiFDPages_t *pages) { - pages->used = 0; + pages->num = 0; pages->allocated = 0; pages->packet_num = 0; pages->block = NULL; @@ -270,7 +270,7 @@ static void multifd_send_fill_packet(MultiFDSendParams *p) packet->flags = cpu_to_be32(p->flags); packet->pages_alloc = cpu_to_be32(p->pages->allocated); - packet->pages_used = cpu_to_be32(p->pages->used); + packet->pages_used = cpu_to_be32(p->pages->num); packet->next_packet_size = cpu_to_be32(p->next_packet_size); packet->packet_num = cpu_to_be64(p->packet_num); @@ -278,7 +278,7 @@ static void multifd_send_fill_packet(MultiFDSendParams *p) strncpy(packet->ramblock, p->pages->block->idstr, 256); } - for (i = 0; i < p->pages->used; i++) { + for (i = 0; i < p->pages->num; i++) { /* there are architectures where ram_addr_t is 32 bit */ uint64_t temp = p->pages->offset[i]; @@ -332,18 +332,18 @@ static int multifd_recv_unfill_packet(MultiFDRecvParams *p, Error **errp) p->pages = multifd_pages_init(packet->pages_alloc); } - p->pages->used = be32_to_cpu(packet->pages_used); - if (p->pages->used > packet->pages_alloc) { + p->pages->num = be32_to_cpu(packet->pages_used); + if (p->pages->num > packet->pages_alloc) { error_setg(errp, "multifd: received packet " "with %d pages and expected maximum pages are %d", - p->pages->used, packet->pages_alloc) ; + p->pages->num, packet->pages_alloc) ; return -1; } p->next_packet_size = be32_to_cpu(packet->next_packet_size); p->packet_num = be64_to_cpu(packet->packet_num); - if (p->pages->used == 0) { + if (p->pages->num == 0) { return 0; } @@ -356,7 +356,7 @@ static int multifd_recv_unfill_packet(MultiFDRecvParams *p, Error **errp) return -1; } - for (i = 0; i < p->pages->used; i++) { + for (i = 0; i < p->pages->num; i++) { uint64_t offset = be64_to_cpu(packet->offset[i]); if (offset > (block->used_length - page_size)) { @@ -443,13 +443,13 @@ static int multifd_send_pages(QEMUFile *f) } qemu_mutex_unlock(&p->mutex); } - assert(!p->pages->used); + assert(!p->pages->num); assert(!p->pages->block); p->packet_num = multifd_send_state->packet_num++; multifd_send_state->pages = p->pages; p->pages = pages; - transferred = ((uint64_t) pages->used) * qemu_target_page_size() + transferred = ((uint64_t) pages->num) * qemu_target_page_size() + p->packet_len; qemu_file_update_transfer(f, transferred); ram_counters.multifd_bytes += transferred; @@ -469,12 +469,12 @@ int multifd_queue_page(QEMUFile *f, RAMBlock *block, ram_addr_t offset) } if (pages->block == block) { - pages->offset[pages->used] = offset; - pages->iov[pages->used].iov_base = block->host + offset; - pages->iov[pages->used].iov_len = qemu_target_page_size(); - pages->used++; + pages->offset[pages->num] = offset; + pages->iov[pages->num].iov_base = block->host + offset; + pages->iov[pages->num].iov_len = qemu_target_page_size(); + pages->num++; - if (pages->used < pages->allocated) { + if (pages->num < pages->allocated) { return 1; } } @@ -586,7 +586,7 @@ void multifd_send_sync_main(QEMUFile *f) if (!migrate_use_multifd()) { return; } - if (multifd_send_state->pages->used) { + if (multifd_send_state->pages->num) { if (multifd_send_pages(f) < 0) { error_report("%s: multifd_send_pages fail", __func__); return; @@ -649,7 +649,7 @@ static void *multifd_send_thread(void *opaque) qemu_mutex_lock(&p->mutex); if (p->pending_job) { - uint32_t used = p->pages->used; + uint32_t used = p->pages->num; uint64_t packet_num = p->packet_num; flags = p->flags; @@ -665,7 +665,7 @@ static void *multifd_send_thread(void *opaque) p->flags = 0; p->num_packets++; p->num_pages += used; - p->pages->used = 0; + p->pages->num = 0; p->pages->block = NULL; qemu_mutex_unlock(&p->mutex); @@ -1091,7 +1091,7 @@ static void *multifd_recv_thread(void *opaque) break; } - used = p->pages->used; + used = p->pages->num; flags = p->flags; /* recv methods don't know how to handle the SYNC flag */ p->flags &= ~MULTIFD_FLAG_SYNC;