From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from lindbergh.monkeyblade.net (lindbergh.monkeyblade.net [23.128.96.19]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 52F3729402 for ; Mon, 6 Nov 2023 16:25:26 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="ySAqN7oF" Received: from mail-oi1-x236.google.com (mail-oi1-x236.google.com [IPv6:2607:f8b0:4864:20::236]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 8AC3C1BF for ; Mon, 6 Nov 2023 08:25:19 -0800 (PST) Received: by mail-oi1-x236.google.com with SMTP id 5614622812f47-3b2e72fe47fso3001285b6e.1 for ; Mon, 06 Nov 2023 08:25:19 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1699287918; x=1699892718; darn=vger.kernel.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=5xnGb8Sp7Bw2ldCk3b7+mm/bKINtcTCgeZ/KDZ+GW64=; b=ySAqN7oF51WslqTAsZBYQDAR51F5kZ5ot7qgCrPfpSmjVPtcEgBcbD39bwxufl1EcP yPyEG4zpQUveZNdV2zq28oAaZ4TO60traeY1rXtM6K3yhuoBF/0cTRT5MAhSnOUQEfzK ro8+X30m/hTmUYF7liMk6rN9BOpurtlqYQN9v467MdzTk71trnHZZWjAh9Y+Mmd16zyb keVJSJ60oOYsxhas68tyVoruknKeo64lObVhYadQtyrBr7d6H85Mm4+epAkEwnPDKRSH gTU5iiWrVtBODpMqIoHJlDd1kwfyLpfo2hdBzPX8mNpgCgeTMkymuGzO4NpZyvzcs0o7 35DA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1699287918; x=1699892718; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=5xnGb8Sp7Bw2ldCk3b7+mm/bKINtcTCgeZ/KDZ+GW64=; b=pEJaLRcd4Zz4pUguwuFj5OUM8ifUPqbshFXBhao56f6134+HL+SWNS38R9D16ZSUwt hOP8D0FcPNQrtbi0qD0SO8LzSlhrKEN7UNmL4d6rIoQMAw4ms1WqSi5ZL8JVatz6xH+N A2RBaZYUdqonIYAtfu0sfOEhVY/xZ3EiHRKoaTPYqnBw3bfqYPw0bMnUvlwqfjSFZtQK GCtWOap+fCCl0TcET2QzzxrVwjSuRjmK3mh/WiMq8R7MCINVSeQOboKqJ+2zkRlRAhfT hsBCQaHwNDSFS1bmJ4ldVj5i8UQk2TNsztLVrUpxW1XmuIUI42iBmOJa+VjX+VfqGOTe XC6Q== X-Gm-Message-State: AOJu0Yypfs0pVczRgBrPI6/QVBJlBe4VWM0z+hzdhc7ypQES1OYCmcoY WcFe4v/xqBOG/H4/g4xYkV5LZdlUk5h872MfVfVJbQ== X-Google-Smtp-Source: AGHT+IEz2M905daE9adgBPAvjj9bLaNYp4EiTefEe+KnfTT86zKFKrzhkzHGJH5RS/f9fNDUudL2BwXAULrnwcO9LCk= X-Received: by 2002:a05:6808:28c:b0:3af:a107:cf68 with SMTP id z12-20020a056808028c00b003afa107cf68mr28980109oic.40.1699287918292; Mon, 06 Nov 2023 08:25:18 -0800 (PST) Precedence: bulk X-Mailing-List: linux-fsdevel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 References: <20231105163040.14904-1-pbonzini@redhat.com> <20231105163040.14904-26-pbonzini@redhat.com> In-Reply-To: From: Fuad Tabba Date: Mon, 6 Nov 2023 16:24:42 +0000 Message-ID: Subject: Re: [PATCH 25/34] KVM: selftests: Add helpers to convert guest memory b/w private and shared To: Sean Christopherson Cc: Paolo Bonzini , Marc Zyngier , Oliver Upton , Huacai Chen , Michael Ellerman , Anup Patel , Paul Walmsley , Palmer Dabbelt , Albert Ou , Alexander Viro , Christian Brauner , "Matthew Wilcox (Oracle)" , Andrew Morton , kvm@vger.kernel.org, linux-arm-kernel@lists.infradead.org, kvmarm@lists.linux.dev, linux-mips@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, kvm-riscv@lists.infradead.org, linux-riscv@lists.infradead.org, linux-fsdevel@vger.kernel.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, Xiaoyao Li , Xu Yilun , Chao Peng , Jarkko Sakkinen , Anish Moorthy , David Matlack , Yu Zhang , Isaku Yamahata , =?UTF-8?B?TWlja2HDq2wgU2FsYcO8bg==?= , Vlastimil Babka , Vishal Annapurve , Ackerley Tng , Maciej Szmigiero , David Hildenbrand , Quentin Perret , Michael Roth , Wang , Liam Merwick , Isaku Yamahata , "Kirill A. Shutemov" Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Mon, Nov 6, 2023 at 4:13=E2=80=AFPM Sean Christopherson wrote: > > On Mon, Nov 06, 2023, Fuad Tabba wrote: > > On Sun, Nov 5, 2023 at 4:34=E2=80=AFPM Paolo Bonzini wrote: > > > +void vm_guest_mem_fallocate(struct kvm_vm *vm, uint64_t base, uint64= _t size, > > > + bool punch_hole) > > > +{ > > > + const int mode =3D FALLOC_FL_KEEP_SIZE | (punch_hole ? FALLOC= _FL_PUNCH_HOLE : 0); > > > + struct userspace_mem_region *region; > > > + uint64_t end =3D base + size; > > > + uint64_t gpa, len; > > > + off_t fd_offset; > > > + int ret; > > > + > > > + for (gpa =3D base; gpa < end; gpa +=3D len) { > > > + uint64_t offset; > > > + > > > + region =3D userspace_mem_region_find(vm, gpa, gpa); > > > + TEST_ASSERT(region && region->region.flags & KVM_MEM_= GUEST_MEMFD, > > > + "Private memory region not found for GPA = 0x%lx", gpa); > > > + > > > + offset =3D (gpa - region->region.guest_phys_addr); > > > > nit: why the parentheses? > > I simply forgot to remove them when I changed the function to support spa= nning > multiple memslots, i.e. when the code went from this > > fd_offset =3D region->region.gmem_offset + > (gpa - region->region.guest_phys_addr); > > to what you see above. I wasn't actually expecting an answer, but I literally _did_ ask for it :) Thanks, /fuad