From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pf1-f182.google.com (mail-pf1-f182.google.com [209.85.210.182]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C915B3F7885 for ; Mon, 29 Jun 2026 18:59:09 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.182 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1782759553; cv=none; b=t71Fp2C/gvtZXDf4muV2uMlayfGU+VKfCGT/b0QMnvl73z2erfYbG47bYr5Hgnq+mL8FkYjQdrfqVo39dRapggj0JnqjwEfFTMm3XzDk37AKdSb2YISySNfelRAMNnO8+8zrOzQiCeozxFil9Uc/Ndtih7p7AeJqx+QXTXHWCbs= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1782759553; c=relaxed/simple; bh=TuiBSEXQ5hQWnirNq4OCLrqJc4EI7BZyKCZLqIDg4MM=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=eu6I0fEX0dWs+AATk0DgQ73UnfePhCg188etXzkqq07gjysIBLM12czK62pYdpKcByxvMmO7WK/0wKIlCgG38f/JkGu+ZltmB1F30S8d/NyCyhwJqOVFhRLpQpPlpY3ge9nJt283txaqOSCQvGqKAB9xsfwyrl876UGHxudoTJE= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=JSJXJfee; arc=none smtp.client-ip=209.85.210.182 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="JSJXJfee" Received: by mail-pf1-f182.google.com with SMTP id d2e1a72fcca58-84592b55832so1875862b3a.3 for ; Mon, 29 Jun 2026 11:59:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1782759549; x=1783364349; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=lzFzFTeSRsUwmgBU8TSW+xSkFmk/uW2c+RWIXDiDEHM=; b=JSJXJfeeR6QxCzUi+5UM0KmSpHt66oXuP2w2+vCKTFRQzi9Vo5BkjCnKWtg9l030Gl LZOixGyA26Drq/9pLZ8xQcFp2wWjpTJHXfuPHGKfajooQK3x9QxjgTGdPtL5dMvN52qK E9FkuWXQMoW8DcPAYxL2O+xLcbZdmNMN/KezdzTiQKLV6ro7AoTcWV/IidHmBbI3kh2z GLuKqRSNnx7yCzhjuelGkM1Nt4Aa3a7wprBEjFiS3iTJLi4mIQOxKYxcOzqV6k804XHE 1sxQwN77ysGdRIsm0kAuGwLxDwDQ+27TSpd0WJ0wpB7hqUIXMnvUsFhxY7kQIdk6eQBy 9+LA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1782759549; x=1783364349; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=lzFzFTeSRsUwmgBU8TSW+xSkFmk/uW2c+RWIXDiDEHM=; b=hF/Tfl8rD1g80/KfoHoQmOIjx2VxVv2OuRd5DyDPeD1PeqSMJzIdlZovzXBrc2Cmxp N8aP0m7n0EL2vl1owlVpZanjZTCGfvpyaAIxfBOsDq9Gq8+j223ZzOE4FSx7XGyFByBi iM0gpMq09uYVH/0KeSQ5hVn2qJF5yFNwThdvgUpiLzWzFdPQvIVQ+54FUBPXAKL/cstd EikFqw3nkFEQUv3jjm1yBFA6kPo/FEApkqvgn4P68Z+hoENDwvFqjoI6kbgE6nANZNyw auugGfNFlzhsphNTaqAkLKqXpcAl04j9N4lmZOGFqS8ioaO1rUCWAUv5VYIzy7b5ZB/j a86Q== X-Forwarded-Encrypted: i=1; AFNElJ9KFwhxH6R8dW8oDvd9hbWnciSHlD+GkRgQyJySouUKwWj174aLS+Wr+Wr2eUdq5X58kajCasfMpen37dg=@vger.kernel.org X-Gm-Message-State: AOJu0YxtQka92mt/hB91rZLiCU5P1VlJ5Xms0csRDVuXW5grzBJrHREl utKRBnBXAY9JJqEnKy5NQJFDlaVb5adYnm6CGiv78rCMZxMPfEhk8BY/ X-Gm-Gg: AfdE7cmEN8KZdwzqWQxbpXjz7ep1M6U5ssLhfRSIlzO2WLp7rfPkLcEkZwNH2sDECe2 bVApTp6nOvTC66kRAXXK3QCl/7uh4P+bThjorL+FbxODSgnFGaaQw980ITr5ljgnbHzL2UilPwU 4V/YgPk1c+5x46HMbhJq+w2jE5OMhJP/GYeyqeIMKmQIS4H5/e2tahhCPtTEcaPakaGNcWFzdKU Qezp90EoQ3XdWilJDWQEw2F9SC+g/a2VG0jckDD7TIMNSFq94mHZT1Ne9lCHRynlwMIKACHimnv QcCc9LudSjUGS+ZyUpc+uNzbtl1wdG8aEliDAcaSF5ncxH26rXWdtEn3iJnMyNlZnLHdjRnZsuE +ZCi11CnLTvA0g/XlYJi1rdxDF//8O5tfU7M3uc5WUZiPmAkRBZnpQTK1443UYtqnrKNQOpTHVw W48QvECtH2Fs7W5K3WvZpSCQB2MyHJel/gn1R0iou+AuyKsRGdLGQTMrSe/scDE/CvvBuFK04= X-Received: by 2002:a05:6a00:c8a:b0:842:688f:3089 with SMTP id d2e1a72fcca58-8479f1c5ec7mr506886b3a.30.1782759549114; Mon, 29 Jun 2026 11:59:09 -0700 (PDT) Received: from fedora.hsd1.ca.comcast.net ([2601:644:937c:6c90:6d4e:7b2d:4a39:fb0c]) by smtp.googlemail.com with ESMTPSA id d2e1a72fcca58-8479ff8f959sm223955b3a.3.2026.06.29.11.59.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 29 Jun 2026 11:59:08 -0700 (PDT) From: Vishal Moola To: Dave Hansen , linux-mm@kvack.org, linux-kernel@vger.kernel.org, x86@kernel.org Cc: Mike Rapoport , Lu Baolu , xen-devel@lists.xenproject.org, Thomas Gleixner , Ingo Molnar , Borislav Petkov , "H. Peter Anvin" , Andy Lutomirski , Peter Zijlstra , Juergen Gross , Boris Ostrovsky , Vishal Moola , William Kucharski Subject: [PATCH v2 9/9] x86/xen: Convert xen_mm_unpin_all() to ptdescs Date: Mon, 29 Jun 2026 11:57:42 -0700 Message-ID: <20260629185742.126987-10-vishal.moola@gmail.com> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260629185742.126987-1-vishal.moola@gmail.com> References: <20260629185742.126987-1-vishal.moola@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Convert xen_mm_unpin_all() to ptdescs in preparation for the eventual splitting of ptdescs from struct page. Continue checking PagePinned through the underlying page as we do not have a per-memdesc api yet. Acked-by: Mike Rapoport (Microsoft) Reviewed-by: William Kucharski Reviewed-by: Juergen Gross Signed-off-by: Vishal Moola --- arch/x86/xen/mmu_pv.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/arch/x86/xen/mmu_pv.c b/arch/x86/xen/mmu_pv.c index 7b23a34db8ff..6ff5a7130e53 100644 --- a/arch/x86/xen/mmu_pv.c +++ b/arch/x86/xen/mmu_pv.c @@ -947,16 +947,16 @@ static void xen_pgd_unpin(struct mm_struct *mm) */ void xen_mm_unpin_all(void) { - struct page *page; + struct ptdesc *ptdesc; spin_lock(&init_mm.page_table_lock); spin_lock(&pgd_lock); - list_for_each_entry(page, &pgd_list, lru) { - if (PageSavePinned(page)) { - BUG_ON(!PagePinned(page)); - __xen_pgd_unpin(&init_mm, (pgd_t *)page_address(page)); - ClearPageSavePinned(page); + list_for_each_entry(ptdesc, &pgd_list, pt_list) { + if (PageSavePinned(ptdesc_page(ptdesc))) { + BUG_ON(!PagePinned(ptdesc_page(ptdesc))); + __xen_pgd_unpin(&init_mm, (pgd_t *)ptdesc_address(ptdesc)); + ClearPageSavePinned(ptdesc_page(ptdesc)); } } -- 2.54.0