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 E0F2AC83013 for ; Wed, 2 Jul 2025 10:10:50 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 7E5E36B00D5; Wed, 2 Jul 2025 06:10:50 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 78F2A6B00D6; Wed, 2 Jul 2025 06:10:50 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 67E8D6B00D7; Wed, 2 Jul 2025 06:10:50 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 583976B00D5 for ; Wed, 2 Jul 2025 06:10:50 -0400 (EDT) Received: from smtpin19.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id EE1C11CC444 for ; Wed, 2 Jul 2025 10:10:49 +0000 (UTC) X-FDA: 83618905818.19.2891168 Received: from mail-pl1-f180.google.com (mail-pl1-f180.google.com [209.85.214.180]) by imf29.hostedemail.com (Postfix) with ESMTP id 13BFF120007 for ; Wed, 2 Jul 2025 10:10:47 +0000 (UTC) Authentication-Results: imf29.hostedemail.com; dkim=pass header.d=chromium.org header.s=google header.b=fVf02Zbl; spf=pass (imf29.hostedemail.com: domain of senozhatsky@chromium.org designates 209.85.214.180 as permitted sender) smtp.mailfrom=senozhatsky@chromium.org; dmarc=pass (policy=none) header.from=chromium.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1751451048; 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=Ld1XwWyA21yaiRgsO+RmuHJahSek4BWAE0bK6K3RNA8=; b=2N5EALIZgTmvAlIG4EphnAqM3Lxwhiv03vKSyaQCCjEyZzfJJ9WmwVPXGuXfZD/iAXpoSG fZF8XOth/SS9nojSyHnj/s/CBEtpYvTqU7BzDoN5g6VgupEO5kPeKppX61H2cpq9m9+1N/ moCKz9PDzvVBJe7mblol74heGpvpzUw= ARC-Authentication-Results: i=1; imf29.hostedemail.com; dkim=pass header.d=chromium.org header.s=google header.b=fVf02Zbl; spf=pass (imf29.hostedemail.com: domain of senozhatsky@chromium.org designates 209.85.214.180 as permitted sender) smtp.mailfrom=senozhatsky@chromium.org; dmarc=pass (policy=none) header.from=chromium.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1751451048; a=rsa-sha256; cv=none; b=YWVFsba4Z00inNzf4/Hd31pZLFn1FskbYBr0aTjp9p9/xa2JWtRR8GNMhpqkBGNsQPLtWi rCe1mSpV2t14921KGP9l34auGM1ZPe578GHoJo0yCqbvzG+FGwOLmvo0GDsPnMIAB2SQyI GPXBhkbKrM52/XzdhhS8EFX3NztVUIo= Received: by mail-pl1-f180.google.com with SMTP id d9443c01a7336-23636167afeso40203925ad.3 for ; Wed, 02 Jul 2025 03:10:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; t=1751451047; x=1752055847; 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=Ld1XwWyA21yaiRgsO+RmuHJahSek4BWAE0bK6K3RNA8=; b=fVf02ZblPNi9UfEaXi8J5NAa36WyfWq9nFACtobNiUQPUgD1ew+H6kZmoG/f7w80sp ruB8jpYJ7L678E1CQhLgOO/8gzK/UueubWz6uUhaZsFmtjg+XP+NGBjoWQrb65Rppkwj FR1e71lcGrrMunBOGPpc4KgTb16Yr349I6e2o= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751451047; x=1752055847; 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=Ld1XwWyA21yaiRgsO+RmuHJahSek4BWAE0bK6K3RNA8=; b=tvTONAuRY5atLwMe2bSUv6+xeWkxHc0FrjOMpn4aMDJmYAP942fWFMQ6661SUJWrJf 1x5mNmtqxnQSiUTPTmMmwCBM/MuucQ1ke7OZwuEhZxX9n7GPVpCmzQS9iTvqk8Xfy5r+ er4oOajC4dUBDca5zt1OaDBY4gJsb+VZ+hb9RiiT0HJz1eSKQrA0+VuW4ucQsNbAPQ0Z AJNW0AWc/fGguyL3Eq2D7qdO2KYnzsgW0QDx9k/ynzyAyAtP77NCGwvdOSP3OmBcY9op d5CpWA+MdcFk5mTdxPGbVriiGyz9WJo9hBtNmjiAKvpN/G9z2+xbdgFCb/oLaxMz+sJR AhlA== X-Forwarded-Encrypted: i=1; AJvYcCVcP+/3Z1/RmmV0F61ApGLzPsym5HKD1VH8mPl/ybL4ViaxDQtvr0f0M37Pv6xfcE8sOpcv+dh0zw==@kvack.org X-Gm-Message-State: AOJu0Yx3wO1ErhX/e15YaYaUfE5sNRapSfoCEZm0QGXGEj9qk636AUvq va0plvZEisrfVj5nEI6V1sYzQiVyVfGWql4VthMMU03gTmjOz0Qug1Yjbg78oVo2CA== X-Gm-Gg: ASbGncuMwlx48qtWgx8CzvQSTbKtw9RN5WSaV9b0f5iDO2avWKycwQKNiaRFBpuixuP 1NBJ74ubUAE9Ix1y3zkVf+SBtaGj0v8TrGqBlLUXX8YZhGOQHEGlazu76u//U91/MYdq90P/fKv yZPjCHmQ9fCM0CIwxy84/AVjxL86rgd1dyp24yPoQEnFqQ9z3QPEuPVUonkhZodoJ3G8cPJYZUK 6Q93ua8NkrpEie3uPu5zp78HHNW2qSLTl1HYO3q8ODrib6LVxaixsrIH7SSUteLy6GlEcE/Wyf+ HQcNMglx7/Sf2hHWAkZ/8LzYg+840h+pp3nE2WIa0TRQOyKxRA8VZKHrWciUC0N59SzsWBSxprV M X-Google-Smtp-Source: AGHT+IFD0I3P0mnZDdceuRH9XAJvvYKmYNHVDtVURKEkoHBc3BGVYVJeT3uh933j6Dzbu2Zpclzgcw== X-Received: by 2002:a17:90a:d64e:b0:312:18e:d930 with SMTP id 98e67ed59e1d1-31a90bd4c31mr3078996a91.19.1751451046749; Wed, 02 Jul 2025 03:10:46 -0700 (PDT) Received: from google.com ([2401:fa00:8f:203:8825:8cdb:cb6b:8e71]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-315f5383eb6sm19125723a91.10.2025.07.02.03.10.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 02 Jul 2025 03:10:46 -0700 (PDT) Date: Wed, 2 Jul 2025 19:10:34 +0900 From: Sergey Senozhatsky To: David Hildenbrand Cc: Sergey Senozhatsky , 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 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> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <757cf6b9-730b-4b12-9a3d-27699e20e3ac@redhat.com> X-Rspam-User: X-Rspamd-Server: rspam05 X-Rspamd-Queue-Id: 13BFF120007 X-Stat-Signature: ttzdn9fksxyf1w36mogqdfs4niyg84qo X-HE-Tag: 1751451047-446984 X-HE-Meta: U2FsdGVkX18sEZPnywBdrhS2+53lXfd1sd9ox8sw3dfZDNyokMumTdoJ2U032SOCTpyLCCxBzWh7KhGLrIYDhWmDqcvJiXJseVRR54bUPRozdQCcjyO7wp23eTFgX8ii6P2sgtGKzcUGDHRA7BBnoPlrqI92g8p9sPZTN1VoRAE5TtMZwOYHiZrVHwml2siO1+mXIZGgJHzkN58dKEpHW7TXAzk2WhWf2ZUtzu7HNuBWgAFpvD9WyusH6E8jF2r71bfYyP/9Lc5SAK+XPWVKvSQDu6ljjYXso5qA6Stm3G0VW5hg8nqo6vphWxKtHg4zOnv/IPHHUYwX0g+5V7GzjSLNpxBr6jAJyWUP2eGd5W2LhwObWShel1KVDAl0iYMrSc9WfFz8FpzR+WUCm99mrGJuGT1JIa7dGQrveaGhow9JfrS6jR2QtHagbiERWXhpWCxaf3HkA5qRX233wYBbAbWL899Q4bA0onFjvbDUTAT+0ySmRCHcY2jEBcj+QXLKtP0A9+MEx5aROQd9Ry67VE7J7N+oEuTy+keu01xbotPMHu/HM/4khNjICEnrOAuGj70bz0HICFgQVtF1Ip9THVTadhSv820CLRsLli0umqUt38hOw+3LGi0F2ey8o0JnPh6lc2MakQpUM2bz9gVXiBXcYMcshVz7xgv6gGDwenexHTFNsHy9MbQsptm6Ke1RG5XlUD3BHR9kXVMC7JyBfJwDazg5UI1CBqeAl07MDbLKc8v48eLrUlIllUm+uMs0AVv2RNuotBz70gOU1OZNwUZ+UPuhaFuV6mvyVkAZrSUGTUxCjN9CIyLEPyOu1I+mPtubT6xc1CkQL03HGlwrUviokovqszW8lmuVBzsElj3i5pudTyguu+9RbWQmLQA3Xp+TxjUM28g2548FIiptkTcLbL6Cv2HUPciip1rzKybzbwNm9kYvZhbf3WXvG6gY3kF3HDKc7t7ntndJlUE S6ZgcIZ+ ReampFZ+zZLjNueMDKCSVVGVfFAEtVusCKPAGAa1JvZmUjpzgcrmN+3H9LU8Yb+ovV5dtWd9sVUo6/oIFaaHgj0N9z/DR4klyacr5XvOvA2UG2vCYccFBhidD5ky5GUczH+99kCf4mrw05b6FyIFsPBdngpQnytxDtyxknQ5EZE0uNvHSs1oNAntIuag2yAJqUuMzu06R4GHThK6auCpG+WSRGbyvDYiMp5tS4I+itJjhtIwSbEpKsNW4YIHMQQQDtXZyUvfzSa8Icom0bTUQKVSIOV21+K2g/k2+IH0JwKlnbUPYW0k7xQdLdCLxHqen3vKKTd7ziWkWiJCJF9pIpoN1lx8JH3TtjLNgXLCiMXGT1lOly9YFL+qWp1Uc3yLDRp9Uoy5MxF9yT7ib2RbBHjrwNCH//FxPcEnUttY5PkJCxxZpi8YCA9/6MQGIjoHw/UBKe6LPAoOTQKK/n1bx+4X4+X0KLXhdgG6t 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/02 10:25), David Hildenbrand wrote: > On 02.07.25 10:11, Sergey Senozhatsky wrote: > > On (25/06/30 14:59), David Hildenbrand 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? > While we currently keep that working (as far as I can see), in the future we > want to remove that support from the core. Maybe comment can more explicitly distinguish zspage isolation and physical page (zspage chain) isolation? zspages can get isolated for compaction (defragmentation), for instance, which is a different form of isolation. > So what probably needs to be done is, checking in free_zspage(), whether the > page is isolated. If isolated, defer freeing to the putback/migration call. Perhaps.