From mboxrd@z Thu Jan 1 00:00:00 1970 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 kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id EC1EDC77B7C for ; Thu, 3 Jul 2025 03:22:40 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 498FA900002; Wed, 2 Jul 2025 23:22:40 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 4212C8E0002; Wed, 2 Jul 2025 23:22:40 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 31045900002; Wed, 2 Jul 2025 23:22:40 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 1E7778E0002 for ; Wed, 2 Jul 2025 23:22:40 -0400 (EDT) Received: from smtpin05.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 20094160589 for ; Thu, 3 Jul 2025 03:22:39 +0000 (UTC) X-FDA: 83621506038.05.C50CF6D Received: from mail-pg1-f179.google.com (mail-pg1-f179.google.com [209.85.215.179]) by imf17.hostedemail.com (Postfix) with ESMTP id 331054000D for ; Thu, 3 Jul 2025 03:22:37 +0000 (UTC) Authentication-Results: imf17.hostedemail.com; dkim=pass header.d=chromium.org header.s=google header.b=FnNJO7Br; dmarc=pass (policy=none) header.from=chromium.org; spf=pass (imf17.hostedemail.com: domain of senozhatsky@chromium.org designates 209.85.215.179 as permitted sender) smtp.mailfrom=senozhatsky@chromium.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1751512957; a=rsa-sha256; cv=none; b=l0xhOrouS8NtXr78fMTbVwXlB7Hy6ueO8LGgCnynhcGvrdbd0+ymL/GZ5blKazcuDQQHbf i/80v2UuQ7cUFWFGmfYhJnXoIC9wyjc86w3HZglCNMzgbI3ad6aQDUj5E4qAHxUVApBy0Q IOI8RmzY0vGQg5lAVtXA3bNixQVnezM= ARC-Authentication-Results: i=1; imf17.hostedemail.com; dkim=pass header.d=chromium.org header.s=google header.b=FnNJO7Br; dmarc=pass (policy=none) header.from=chromium.org; spf=pass (imf17.hostedemail.com: domain of senozhatsky@chromium.org designates 209.85.215.179 as permitted sender) smtp.mailfrom=senozhatsky@chromium.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1751512957; h=from:from:sender: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: in-reply-to:in-reply-to:references:references:dkim-signature; bh=u3/FURbw0Qjice8ym2SrrqkCxrOCjqZwE+s45rYEO0E=; b=YGE4CZDpSlu5pMvbYOoLxiL0QiZeWXLr3uuKSKHjYKE4RUzuYX8gyhLWwh5GDORvr1e0k+ U6HLGeMhhju1ua1o8CFmecV/WYyeQIboDkjRypEjgCCnFzgLVlA8i5TXU2yTtx3HRf+61v zX6xZkX35zEBIhnO+OMU4rMVMgdPUCc= Received: by mail-pg1-f179.google.com with SMTP id 41be03b00d2f7-b2c4e46a89fso4593600a12.2 for ; Wed, 02 Jul 2025 20:22:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; t=1751512956; x=1752117756; darn=kvack.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=u3/FURbw0Qjice8ym2SrrqkCxrOCjqZwE+s45rYEO0E=; b=FnNJO7Br94Gu/D81FX8o7m/vYiVuh7cBMETcWwLo71RdQ9oRHW31IwgtSxSqVrwNen IG/ezoLrhLlRMMW05OI9UW2LQrssdsqtv3v3onCR2BR2p9gyshRSAFtnm+q3ShkaX6QL CXlDLT2Z424fhVI1tGpQXWta0d0kmLjWqpSAk= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751512956; x=1752117756; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=u3/FURbw0Qjice8ym2SrrqkCxrOCjqZwE+s45rYEO0E=; b=CBoUnQMc4eJt4fBF0p9UWNlkBHLIzLQ37Q5m9xD4UhKiq29dOiE2huMlG8CoGePG7Z 70/4IjPLNod25mh65AQ3m0bL/uzseKNKG0VNaPIvXGp2TF84+w7FWDtL0gI1BbGUKyLL xhz6xXkgR7/XecJhXZn4KtVSoQgA+WjVK2Vv0QMNfTmNSZogoM7/vI3Blx0PLbOrcsnG hrTsLqypbbJgmGio53D5C+4UAxcF9K2eHRTOMqadNcmgsyUjNc4/se5ujRRqfNX7Lr3Q M9J6mUDX96qyZNhtPDvrClZGUNwG1lFkqWun/oahh5L9FABn3g9auFuvvHjxwECHfEEa Wd8w== X-Forwarded-Encrypted: i=1; AJvYcCXhw/po2jtWO++VLWyoNpv33wcSNlImPgxNi12Oo/tWTu5TuGj0xikUVnZzcWJVYhotg2dwaRiT6g==@kvack.org X-Gm-Message-State: AOJu0YxQ/LxHQRvM7paHNJjx1mODc1BCedHlSD/awqagLPHYYT3+//Ap srP93fKLDxaKp241qjBSevK+vOj+dNGC49Oi+EY/5fBhhhFE9lpL3myZyCB3bVnEGQ== X-Gm-Gg: ASbGncsVzHgAl8OmzBGysu7Bj3P3Fh+vnseSFFTvDB6FyqWfZoWI3IWq85oJcyNrSz1 U/Aw4IpJSx9n3mwz6sw9nnu8CrcRaqGWFEU5w6ya53VQ8mvdR8kQNihVNM3nR9nkkpmuDh93vEw zSgLiE2Qe2Ee+rFJUWfDE6mf3EurJPyaX0di1WwryPpyAJ0m5KCrKeneDNcWKjjArwGcz+rfPne AC/INfX3P1PEvvZiHfM1HJyoYJZjG5hioZ80KjLhLuipmnUe7P+2pkS9E8QDxukcwgSliq/U27v 50VouLNbDsrhUnHbqmdANQvr+H3jLBAwjLmFUIHuH1j/fmSd/PAygcoEPQBMUXZMTiCKWGlXbRk I X-Google-Smtp-Source: AGHT+IEAy0Xvd7q1RC5hmp7SawamH/oI/muiFAFExRx9I64wiUZ1PQhrNgi3qS6Dq4f35q/YwfITMQ== X-Received: by 2002:a17:90b:3946:b0:311:e8cc:4264 with SMTP id 98e67ed59e1d1-31a9d545d21mr2763491a91.12.1751512955991; Wed, 02 Jul 2025 20:22:35 -0700 (PDT) Received: from google.com ([2401:fa00:8f:203:8e3f:7c33:158f:349b]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-31a9cc5204bsm1117959a91.8.2025.07.02.20.22.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 02 Jul 2025 20:22:35 -0700 (PDT) Date: Thu, 3 Jul 2025 12:22:23 +0900 From: Sergey Senozhatsky To: David Hildenbrand Cc: linux-kernel@vger.kernel.org, linux-mm@kvack.org, linux-doc@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, virtualization@lists.linux.dev, linux-fsdevel@vger.kernel.org, Andrew Morton , Jonathan Corbet , Madhavan Srinivasan , Michael Ellerman , Nicholas Piggin , Christophe Leroy , Jerrin Shaji George , Arnd Bergmann , Greg Kroah-Hartman , "Michael S. Tsirkin" , Jason Wang , Xuan Zhuo , Eugenio =?utf-8?B?UMOpcmV6?= , Alexander Viro , Christian Brauner , Jan Kara , Zi Yan , Matthew Brost , Joshua Hahn , Rakie Kim , Byungchul Park , Gregory Price , Ying Huang , Alistair Popple , Lorenzo Stoakes , "Liam R. Howlett" , Vlastimil Babka , Mike Rapoport , Suren Baghdasaryan , Michal Hocko , "Matthew Wilcox (Oracle)" , Minchan Kim , Brendan Jackman , Johannes Weiner , Jason Gunthorpe , John Hubbard , Peter Xu , Xu Xin , Chengming Zhou , Miaohe Lin , Naoya Horiguchi , Oscar Salvador , Rik van Riel , Harry Yoo , Qi Zheng , Shakeel Butt , Sergey Senozhatsky Subject: Re: [PATCH v1 12/29] mm/zsmalloc: stop using __ClearPageMovable() Message-ID: References: <20250630130011.330477-1-david@redhat.com> <20250630130011.330477-13-david@redhat.com> <757cf6b9-730b-4b12-9a3d-27699e20e3ac@redhat.com> <11de6ae0-d4ec-43d5-a82e-146d82f17fff@redhat.com> <5thkl2h5qan5gm7putqd4o6yn5ht2c5zeei5qbjoni677xr7po@kbfokuekiubj> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <5thkl2h5qan5gm7putqd4o6yn5ht2c5zeei5qbjoni677xr7po@kbfokuekiubj> X-Stat-Signature: qchbc9yes35dokduuyuydacm3s7g3c59 X-Rspamd-Server: rspam01 X-Rspamd-Queue-Id: 331054000D X-Rspam-User: X-HE-Tag: 1751512957-49086 X-HE-Meta: U2FsdGVkX1+tfeazUrp9tCsSbYMCw6fzFSFD0vIw1W3PQXeYFveusnJVAkNbWITEF/9EuxXOHENwvmjB04BpZ1ScPJIzQtjCscjJ6zjmrLur3siO40to5/3FLdkXmEJDce1NljA9UNpE5nwgs5Hryfu77VOt+/PMqQsbbdkOvP+voXtvHdkOjCw/eEkeyR0A6wB85cWrhWOKIoT5jpL0E5kyjQmOUqSRoXn1thx4DWOlSVLOvaVuec1OlUeQIFRca6niOMR5gXQAQToIJFq16ghJfz5EDK9TTAQpaSnn4IAwC6IMLAbGQ5jkYTDJ83PibiGoyybCHV6gu8AljC0sp6yo1ABRa31L5RyBKOz17rtDu0ve8MJccsK/NZHoIQwzhxh40p/QdLB/HXaMAcGBSa4xWSwAEe9rI4dniokBE75GCdtned8+WTmMA3NH8C/ziHpRsQzY/fiJwtrDSihY7GcD5WyM/sKnTN6mP8SKI2HfizSJPbG/SU+jRkdIMYA7BHR9r9ScnSFMYYHpAIv2fIVQFDjRFoBT+4dnSnbeUbNQ8Z2smRq+mpPwKLJQOni+JsDijZSX8ndWDV01gl6VBX4zQJvaMMz2eLAyOrCpsPmTfuSht83ao5w12CcfjtRidOV2bNf0ah+6MV/wGIOKpN3vP0PBZVN91XP6Xq3jrZDHZtUDfrjR5Z4W7PPzUR8SfK8iOhqdci/aAP1FOPIjEkMkup/8kwOtbghKwRBZczrRcXNvk3Clm3tiNxEDyDijHFTSa4E7uNsOPqj48RXAG6A0aInS5ysxnntmhdma4zu5KICf5sQB7TMOntQG3i4OHouEDV9bsnDsasX4m7RD226n5o1OTTM0zoZohQmSF76PTAClcS5UJ3XUos+2tHGY8TBvX7v+VWVylpvNjYVz0+1QXoQFi9U8pQjNlVq9F9zKNpqYgaI2BoQVD8l5HbdseQTDwnhWl6gjVhw8yNO e2ACxJb8 QaGayU6EjJrUG4cLncRiMb90KsilHIirvgLAiSltJVBk9EVwJiALCx47K61XfS2/JOlij9Nf0cJ8trMHWstqZe/dvDsR51EjCP0+m4DU2FUQoMQHuosa972BemBMLlI3m0MgtkcCGIuzoVUor3DvV4oVDsnYdlqb/o35qSbj/7pBi9outPGBf9ayowLHbzutqzIi5ETYLX5floJrCKQB/lCMST9kTn4nNABpxK7nMwCKbdAOd7rdQ8dOaNm2hspQ533GCFRWwCtemQYUn1DNp+VJ1PCJJChURN5mpQgW6HDHxyGDIC9RszGPiiEA+YPt9GLJ2Y15AgI2m/qqox+qTYx2WePmTXkdhn6jkoJCyVvKZTqoD8BKxv4/njpgIuebL9+ZrpE1SWOfi2R9QfY+vqYY58EYItA66X0uFLPOCkNZXmEBrSh1BgoXrCUvyjPznpJC1pYpnJKXx5MsIz8HV2m/CAusyA47aIrVm X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: On (25/07/03 11:28), Sergey Senozhatsky wrote: > > > > > > static int zs_page_migrate(struct page *newpage, struct page *page, > > > > > > @@ -1736,6 +1736,13 @@ static int zs_page_migrate(struct page *newpage, struct page *page, > > > > > > unsigned long old_obj, new_obj; > > > > > > unsigned int obj_idx; > > > > > > + /* > > > > > > + * TODO: nothing prevents a zspage from getting destroyed while > > > > > > + * isolated: we should disallow that and defer it. > > > > > > + */ > > > > > > > > > > Can you elaborate? > > > > > > > > We can only free a zspage in free_zspage() while the page is locked. > > > > > > > > After we isolated a zspage page for migration (under page lock!), we drop > > > ^^ a physical page? (IOW zspage chain page?) > > > > > > > the lock again, to retake the lock when trying to migrate it. > > > > > > > > That means, there is a window where a zspage can be freed although the page > > > > is isolated for migration. > > > > > > I see, thanks. Looks somewhat fragile. Is this a new thing? > > > > No, it's been like that forever. And I was surprised that only zsmalloc > > behaves that way > > Oh, that makes two of us. I sort of wonder if zs_page_migrate() VM_BUG_ON_PAGE() removal and zspage check addition need to be landed outside of this series, as a zsmalloc fixup.