From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) (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 E5F9F335070 for ; Mon, 2 Feb 2026 22:13:26 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.129.124 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770070409; cv=none; b=MIDrYAFa6ufQmebztnViNHADFgQTCJW3dStwjm8KRL5ikkO/TI0BSV+scJEIE/yLZ/12HazPYFc0BPzbkUNmjRRjLesycR1fK1IftrxVTVVxUXTNerg+hnwbLuqLt0IXu+ZUppvi6UHFZlDUL3zS04/H1cHCvxI9n4aODPh4wAk= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770070409; c=relaxed/simple; bh=N0sSOQ0f8rnPwD/KRhdnLNJC/bfbDb56Wa9rXTXP8zs=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=XEvvkRu1h1+Xp3ezusSvF8leNIgy/zaNWjrnqMkSkuSl48jmEw3MWLbBAUF2u5vpgrpxpjOq2NH0UWXZtaLsVdClKLacM/OMq7xr/rfNWi3er59wamY/ZNEc9e/oD4ag1GJU+5LiyrcftNWodFYzuihieMU55CaifZZ3HPMV3aA= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=Ltf0x0Wy; dkim=pass (2048-bit key) header.d=redhat.com header.i=@redhat.com header.b=SR6wQaiG; arc=none smtp.client-ip=170.10.129.124 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="Ltf0x0Wy"; dkim=pass (2048-bit key) header.d=redhat.com header.i=@redhat.com header.b="SR6wQaiG" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1770070406; 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: in-reply-to:in-reply-to:references:references; bh=NetS+z/lB9Vjk8awsEzStStR7YjfBL5uvT3v62JS7ho=; b=Ltf0x0Wy6kmHmj9tEr/RbFjqlhD1gTcAYB/I2Z+GFR4RahbluTBUL0et5uLkf/vIrkSwfh OAty3MRPDLL9JmdwicGbvQJBMjmGwT04xQLibrjXDhByihzL5PGyB8Sdte77VLy48m7qOj vkh2faPXgzcAmDgIBXPJ6IlpRr2P7bQ= Received: from mail-qt1-f200.google.com (mail-qt1-f200.google.com [209.85.160.200]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-135-3S3Mkl5-Os-63nrc_r88Og-1; Mon, 02 Feb 2026 17:13:24 -0500 X-MC-Unique: 3S3Mkl5-Os-63nrc_r88Og-1 X-Mimecast-MFC-AGG-ID: 3S3Mkl5-Os-63nrc_r88Og_1770070404 Received: by mail-qt1-f200.google.com with SMTP id d75a77b69052e-501473ee94fso250499501cf.3 for ; Mon, 02 Feb 2026 14:13:24 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=google; t=1770070404; x=1770675204; darn=vger.kernel.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=NetS+z/lB9Vjk8awsEzStStR7YjfBL5uvT3v62JS7ho=; b=SR6wQaiG3cJugALih14e1Q8AYRYx0rjUn4H5fzdlrg5DlYkrYS9QaTpH/uKHYp9ATm 4iw7MXqNNsBxIMZaRx4YCuWkfZyjk1nD8UkvqOY/cthB5Kgop1ZzkDgSkZVOIkKO+7zr 2csupAfzHy1Wf85n4zuSK8Ns6DtKCtDqlPLdTsDPuGrLHs1wbBSWULcXbjXnDS54cwwx s+Bzc90FFxjT/SWoDCx9Y6SgP3PHFZ1qsueUhYubfVMcPTG1toEutKu3g1Hn1BeoB4dJ S9Z5Iw4YNv9GxBmQPVYKAN/5F6rDzEduQLDm4PBkZJjFnJgyql+N3TCa5Yp9h34J1l3S SKqA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1770070404; x=1770675204; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-gg:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=NetS+z/lB9Vjk8awsEzStStR7YjfBL5uvT3v62JS7ho=; b=Lw1uUrdPOg1SXqe33p0tFXTUjM6uo1nhqOGWP5JgfpPxdfaU0u1uufnUbLQtnvXKKp L0efQ13yr4XG98QgNDasM3z0cPMNLaIju7LdQ3ubBZOeTH3ocM3rQurErezgCtgZVbVT e/XXxck+fFWH+klfS3vPMJinYjId+7ciXpMs60jOly0KhY+5FlVXJMUn19rUF2gGw9dI vpiCmSf0OLlZeZoMiPTXvm58l+AU6QJEzlBKwkG6h18E9g7dZyLEZ8eNFCjULL5EK0C7 7EQNwg7U14P1kvkXT75Dq/Ucalz5QrHJ9RutsAk7YHCfXYX0N0ebj42CqRs+MbUfBed0 KlSQ== X-Forwarded-Encrypted: i=1; AJvYcCXuh56OdnTdK0I9Om6gXFuRSiySHk2hVinxtEEaiB3Jv859xaQc9kqOi3B9ef488mYrhzk=@vger.kernel.org X-Gm-Message-State: AOJu0Yyk04ie7vR9hUSEalBhRL9p1Rhsd3vXMKcE/2okSuKEEYexLs+H Kn9grfpVIfjV4Uy52mjbQa/ZR3rb40bmq4Cso/umnSxQt5NsHw3RvCRwkM4EwKjUPdAjg7vyQb7 GcDR3ADzVMgy87+8E2AqFgvpsmpVqe2u9pJP49GAGOy+enpzOY2dwJg== X-Gm-Gg: AZuq6aKtdgKNOhiB6ZS0e713vrxilbNndOiEEwiWzHKlGUg3ZItF/wiSxQ7n+4nKzOl OjnqJEd+Y7IGeTTWa5w7P6VR0oKxymOHaqThYxil8IHiker+Hlg1iyIfeatk8wxHQkYfwedeq6e WQkhrdk0FAEix5PeKwW4cNeo/kQmg7RcUN1eihK0qEnFMMJw7D873sjXvBp/R7sIb1qmwaD5i+l h5+zza4Md5ube+kZBMockiIbVwJ5SxdCYcYEKr/Ye/ig7ZvJGxTCKvxWmVFOhRK2PUYTfV/xyst omjWaH3qteU5dIoS7D1H3iZJQ/j4vbFkN8f/wnXbFPGlUB8B01vE5tPsH8dRQUfgN5g3E//lGpx f9Tw= X-Received: by 2002:a05:622a:28d:b0:4ed:af59:9df0 with SMTP id d75a77b69052e-505d228ac43mr152974701cf.40.1770070404196; Mon, 02 Feb 2026 14:13:24 -0800 (PST) X-Received: by 2002:a05:622a:28d:b0:4ed:af59:9df0 with SMTP id d75a77b69052e-505d228ac43mr152974231cf.40.1770070403763; Mon, 02 Feb 2026 14:13:23 -0800 (PST) Received: from x1.local ([142.188.210.156]) by smtp.gmail.com with ESMTPSA id d75a77b69052e-50489d1b52csm101407911cf.8.2026.02.02.14.13.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 02 Feb 2026 14:13:23 -0800 (PST) Date: Mon, 2 Feb 2026 17:13:20 -0500 From: Peter Xu To: Mike Rapoport Cc: linux-mm@kvack.org, Andrea Arcangeli , Andrew Morton , Axel Rasmussen , Baolin Wang , David Hildenbrand , Hugh Dickins , James Houghton , "Liam R. Howlett" , Lorenzo Stoakes , Michal Hocko , Muchun Song , Nikita Kalyazin , Oscar Salvador , Paolo Bonzini , Sean Christopherson , Shuah Khan , Suren Baghdasaryan , Vlastimil Babka , linux-kernel@vger.kernel.org, kvm@vger.kernel.org, linux-kselftest@vger.kernel.org Subject: Re: [PATCH RFC 09/17] userfaultfd: introduce vm_uffd_ops->alloc_folio() Message-ID: References: <20260127192936.1250096-1-rppt@kernel.org> <20260127192936.1250096-10-rppt@kernel.org> Precedence: bulk X-Mailing-List: kvm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <20260127192936.1250096-10-rppt@kernel.org> On Tue, Jan 27, 2026 at 09:29:28PM +0200, Mike Rapoport wrote: [...] > -static int mfill_atomic_pte_zeroed_folio(pmd_t *dst_pmd, > - struct vm_area_struct *dst_vma, > - unsigned long dst_addr) > +static int mfill_atomic_pte_copy(struct mfill_state *state) > { > - struct folio *folio; > - int ret = -ENOMEM; > - > - folio = vma_alloc_zeroed_movable_folio(dst_vma, dst_addr); > - if (!folio) > - return ret; > - > - if (mem_cgroup_charge(folio, dst_vma->vm_mm, GFP_KERNEL)) > - goto out_put; > + const struct vm_uffd_ops *ops = vma_uffd_ops(state->vma); > > - /* > - * The memory barrier inside __folio_mark_uptodate makes sure that > - * zeroing out the folio become visible before mapping the page > - * using set_pte_at(). See do_anonymous_page(). > - */ > - __folio_mark_uptodate(folio); > + return __mfill_atomic_pte(state, ops); > +} > > - ret = mfill_atomic_install_pte(dst_pmd, dst_vma, dst_addr, > - &folio->page, true, 0); > - if (ret) > - goto out_put; > +static int mfill_atomic_pte_zeroed_folio(struct mfill_state *state) > +{ > + const struct vm_uffd_ops *ops = vma_uffd_ops(state->vma); > > - return 0; > -out_put: > - folio_put(folio); > - return ret; > + return __mfill_atomic_pte(state, ops); > } > > static int mfill_atomic_pte_zeropage(struct mfill_state *state) > @@ -542,7 +546,7 @@ static int mfill_atomic_pte_zeropage(struct mfill_state *state) > int ret; > > if (mm_forbids_zeropage(dst_vma->vm_mm)) > - return mfill_atomic_pte_zeroed_folio(dst_pmd, dst_vma, dst_addr); > + return mfill_atomic_pte_zeroed_folio(state); After this patch, mfill_atomic_pte_zeroed_folio() should be 100% the same impl with mfill_atomic_pte_copy(), so IIUC we can drop it. > > _dst_pte = pte_mkspecial(pfn_pte(my_zero_pfn(dst_addr), > dst_vma->vm_page_prot)); > -- > 2.51.0 > -- Peter Xu