From nobody Mon Feb 9 17:59:19 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1562842501; cv=none; d=zoho.com; s=zohoarc; b=AnnDX3X4CpBvRQpzBSLW0Gm+jnuq3i8NMmikRwK2btIGUjUtWrZV2/PuQG4LxFiyBfdUOW/FF1rAUvq+AvrNqc+cb9pMECSgnMt9YrE3/3Pni6M53JA7iWGr8/SiZwb5XlmFdqtLB0/mgHzuKZT8F0hWeDKJkkK5xMnQLKTUTno= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1562842501; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To:ARC-Authentication-Results; bh=2FOevSrRpLR6tXPg/o9UIfLslSJB+EOLUq47uIkfQEE=; b=TmLw8Go55IpK/IUQNv0DcIydvuXzXlG4vbW8ZDBNVl1X2f5j2K2ux96LLWrgw/cZBS/8dtto2PfBVFlYXut068SkxtujLIKyLUoR8vp9Be6mg7PspleX7wVCwpgrR1F28y3vwfPvXCg2Lo/4V/nF91eGh53lDNWlB80atY7hk+c= ARC-Authentication-Results: i=1; mx.zoho.com; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1562842501107767.1824308365817; Thu, 11 Jul 2019 03:55:01 -0700 (PDT) Received: from localhost ([::1]:40388 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1hlWj3-0002mC-5d for importer@patchew.org; Thu, 11 Jul 2019 06:54:57 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:47162) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1hlWhd-0000Zn-B9 for qemu-devel@nongnu.org; Thu, 11 Jul 2019 06:53:31 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hlWhZ-0006Fp-JO for qemu-devel@nongnu.org; Thu, 11 Jul 2019 06:53:27 -0400 Received: from mx1.redhat.com ([209.132.183.28]:56132) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1hlWhX-00068P-Eo for qemu-devel@nongnu.org; Thu, 11 Jul 2019 06:53:23 -0400 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 889ADC057F3B; Thu, 11 Jul 2019 10:44:42 +0000 (UTC) Received: from localhost.localdomain (unknown [10.36.118.16]) by smtp.corp.redhat.com (Postfix) with ESMTP id 6ACE860603; Thu, 11 Jul 2019 10:44:40 +0000 (UTC) From: Juan Quintela To: qemu-devel@nongnu.org Date: Thu, 11 Jul 2019 12:44:02 +0200 Message-Id: <20190711104412.31233-10-quintela@redhat.com> In-Reply-To: <20190711104412.31233-1-quintela@redhat.com> References: <20190711104412.31233-1-quintela@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.13 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.32]); Thu, 11 Jul 2019 10:44:42 +0000 (UTC) Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.132.183.28 Subject: [Qemu-devel] [PULL 09/19] migration: No need to take rcu during sync_dirty_bitmap X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Laurent Vivier , Thomas Huth , kvm@vger.kernel.org, Juan Quintela , "Dr. David Alan Gilbert" , Peter Xu , Paolo Bonzini , Richard Henderson Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" Content-Type: text/plain; charset="utf-8" From: Peter Xu cpu_physical_memory_sync_dirty_bitmap() has one RAMBlock* as parameter, which means that it must be with RCU read lock held already. Taking it again inside seems redundant. Removing it. Instead comment on the functions about the RCU read lock. Reviewed-by: Paolo Bonzini Reviewed-by: Juan Quintela Signed-off-by: Peter Xu Message-Id: <20190603065056.25211-2-peterx@redhat.com> Signed-off-by: Juan Quintela --- include/exec/ram_addr.h | 5 +---- migration/ram.c | 1 + 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/include/exec/ram_addr.h b/include/exec/ram_addr.h index f96777bb99..44dcc98de6 100644 --- a/include/exec/ram_addr.h +++ b/include/exec/ram_addr.h @@ -409,6 +409,7 @@ static inline void cpu_physical_memory_clear_dirty_rang= e(ram_addr_t start, } =20 =20 +/* Called with RCU critical section */ static inline uint64_t cpu_physical_memory_sync_dirty_bitmap(RAMBlock *rb, ram_addr_t start, @@ -432,8 +433,6 @@ uint64_t cpu_physical_memory_sync_dirty_bitmap(RAMBlock= *rb, DIRTY_MEMORY_BLOCK_SIZE); unsigned long page =3D BIT_WORD(start >> TARGET_PAGE_BITS); =20 - rcu_read_lock(); - src =3D atomic_rcu_read( &ram_list.dirty_memory[DIRTY_MEMORY_MIGRATION])->blocks; =20 @@ -453,8 +452,6 @@ uint64_t cpu_physical_memory_sync_dirty_bitmap(RAMBlock= *rb, idx++; } } - - rcu_read_unlock(); } else { ram_addr_t offset =3D rb->offset; =20 diff --git a/migration/ram.c b/migration/ram.c index 89eec7ee9d..48969db84b 100644 --- a/migration/ram.c +++ b/migration/ram.c @@ -1674,6 +1674,7 @@ static inline bool migration_bitmap_clear_dirty(RAMSt= ate *rs, return ret; } =20 +/* Called with RCU critical section */ static void migration_bitmap_sync_range(RAMState *rs, RAMBlock *rb, ram_addr_t length) { --=20 2.21.0