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 18DD5C48BC4 for ; Tue, 20 Feb 2024 04:53:50 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 9453F6B0081; Mon, 19 Feb 2024 23:53:49 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 8F64D6B0082; Mon, 19 Feb 2024 23:53:49 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 7BD056B0083; Mon, 19 Feb 2024 23:53:49 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 6E0366B0081 for ; Mon, 19 Feb 2024 23:53:49 -0500 (EST) Received: from smtpin04.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id DEDB8A0719 for ; Tue, 20 Feb 2024 04:53:48 +0000 (UTC) X-FDA: 81810964536.04.0012599 Received: from mail-pf1-f174.google.com (mail-pf1-f174.google.com [209.85.210.174]) by imf13.hostedemail.com (Postfix) with ESMTP id ECBC120005 for ; Tue, 20 Feb 2024 04:53:45 +0000 (UTC) Authentication-Results: imf13.hostedemail.com; dkim=pass header.d=chromium.org header.s=google header.b="gv/E72ZO"; dmarc=pass (policy=none) header.from=chromium.org; spf=pass (imf13.hostedemail.com: domain of senozhatsky@chromium.org designates 209.85.210.174 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=1708404826; 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=nULdIlN8P9GOzg8tQ8IrvCNklX5cp+cB0/VEr6sZ/CQ=; b=0cRVtowXXY4Vv/j/qbWpuo/3jhKTkTIBD1Ba+7n5I7s6uFpUZcq2vjHkiqo57k4ITFN7E+ HL0pHLxFkO8ApOPnUuofaXFFpxOl94hSSbgDm6DYkxmdvWF8es5rcNHORZ/XuI28cjplOz tmnjWognGDqlDmn1hpDZJZC/VNxzI5U= ARC-Authentication-Results: i=1; imf13.hostedemail.com; dkim=pass header.d=chromium.org header.s=google header.b="gv/E72ZO"; dmarc=pass (policy=none) header.from=chromium.org; spf=pass (imf13.hostedemail.com: domain of senozhatsky@chromium.org designates 209.85.210.174 as permitted sender) smtp.mailfrom=senozhatsky@chromium.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1708404826; a=rsa-sha256; cv=none; b=zC0OmaKBca24nU0m2CJiavz8agANqeq5za+R+zFsToMDUUmKjRjuTMAjPjBiB7zjZ5zK3H /bH5jTq8YJCEgqFglOQ2Bar29BDvSZ9Nk3hZccpZk+UBuhde9K2r2PdQLaKkKuYN8WlD2b +jfIbG7RQFw34leMqcbrWn9h/2lvE4o= Received: by mail-pf1-f174.google.com with SMTP id d2e1a72fcca58-6e09143c7bdso2529195b3a.3 for ; Mon, 19 Feb 2024 20:53:45 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; t=1708404825; x=1709009625; 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=nULdIlN8P9GOzg8tQ8IrvCNklX5cp+cB0/VEr6sZ/CQ=; b=gv/E72ZOVCK7Zew0q+1eq/tPbrgLIJ4I1Kksnee34k93l7EB4m7pIPoeQK5zkHd+o+ 41icWNh4Feo5xT7oRLmlYm0TGMsvW0rCXxSv3jCT3tNrMWe//0/t+vHIxdaOs2yJUZ9e QtnlMcpMH8+VRqoW5qn2AgNCCc4sL8qqfJ+T0= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1708404825; x=1709009625; 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=nULdIlN8P9GOzg8tQ8IrvCNklX5cp+cB0/VEr6sZ/CQ=; b=Cw+2Is2n963Fl5AO9gyzsmrkcDru7TJI/V7msyTvmpm76ZrW5wfolE8edKa5bBxWmd KavkmVO/zWtQ7P6ZoS2JW+urqwTDWi6nUKW59TnWLa2V0NQdJgwX4hOTtuYCn/gwGB4B StBWO8cpbk9+fpzEiGX3BqHMm+DhDs32Xy7hNhYzYV6L92ZHgYhtB/EZTl/KS+qCxySy 3vqYz8cW1kWdco6VD+BJ/gg89DrAPei1WLnzrzW/U9odB8HN7TkRKW8wNjTWFUw9rdUg 9ADOOwBQU3teNMrSzCOa0sX5vMM3z3WQ7JaKBTf2pWK9Sb01NzkGlPRHzIXkgOaRj89F TFHw== X-Forwarded-Encrypted: i=1; AJvYcCWyjKJXb+008SJ8OOQmb3otUMZXAz37z0I+L6Qn6V6vC5RYhRdDgnVh5d5xwRxDJBJHJycdgCSi3HlBDR5MAAd3oA8= X-Gm-Message-State: AOJu0YwdIHpDvr1z3zCVDiuMGPWJGKDC3MG5PJVdwp0EBzEDPjCeKTvl IQWFdunABeaNQGl6DXI/qqmukvhVzQNIbd3ajouGL5igb0Kb/zhrxSYc1W8ZbQ== X-Google-Smtp-Source: AGHT+IEPS7YHVDe6gBmn5CNxWFUgHa6I5LA5SRd20TI6EvIhsIWjGxQOkqIHP9/dMAPmjEeXgU068A== X-Received: by 2002:a05:6a20:9c93:b0:1a0:931c:a152 with SMTP id mj19-20020a056a209c9300b001a0931ca152mr7233613pzb.21.1708404824846; Mon, 19 Feb 2024 20:53:44 -0800 (PST) Received: from google.com ([2401:fa00:8f:203:8998:e92c:64ca:f09f]) by smtp.gmail.com with ESMTPSA id d9-20020a17090ad3c900b002998dbcf570sm3875963pjw.8.2024.02.19.20.53.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 19 Feb 2024 20:53:44 -0800 (PST) Date: Tue, 20 Feb 2024 13:53:40 +0900 From: Sergey Senozhatsky To: Chengming Zhou Cc: Sergey Senozhatsky , nphamcs@gmail.com, yosryahmed@google.com, Minchan Kim , Andrew Morton , hannes@cmpxchg.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH 2/3] mm/zsmalloc: remove migrate_write_lock_nested() Message-ID: <20240220045340.GE11472@google.com> References: <20240219-b4-szmalloc-migrate-v1-0-34cd49c6545b@bytedance.com> <20240219-b4-szmalloc-migrate-v1-2-34cd49c6545b@bytedance.com> <20240220044825.GD11472@google.com> <4f3c6c96-3bea-4369-a2de-e3c559505bba@bytedance.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <4f3c6c96-3bea-4369-a2de-e3c559505bba@bytedance.com> X-Rspamd-Queue-Id: ECBC120005 X-Rspam-User: X-Rspamd-Server: rspam04 X-Stat-Signature: egd7f51kun5dqghozwo9sf4nux4szzze X-HE-Tag: 1708404825-983441 X-HE-Meta: U2FsdGVkX194mrI5x1+wdju1OTUMmZGCr8dOPJemh5ly7zPXOqCVnExVsPBOvgpXq4D+bkMiXaXJCSgNfWA025nUFhfS+RbxbmF0ecrOyLcb2PSJbrfpZR/EoEno0X3s6om6rnEaz3lNp9mjlMXNlbeX5X9qf8TpT9C3WJJRkfNpgqr4s8dktMP80K7hH87Ohc3Ks9yy1cwv+VAz0UU/NAmehf8uOvXaFJ+4ABVTaipc3y7fOcSohcMzJJB7wwjzpDieWwK/Nwqg+2qx8S9j44GMyHVtITykTnSzHdiS3OI5lbymKKypIRwgYF8FRNRyE57Q1vZAt10b4UvtudXmDpR7W7OaKH2vxQZLYJ/9JeE+Xs5zQ1Zqgbo4PJggjBsby7j3Y9f45mY2+QQLMP3UQxXzy6yPD4bYtlD7gKYydTBdhLBuByg+qL+qh1GT2bB/4KIxlTPT2lv2pJJxRSuC074i9h0hMUzqNmCmdBONuXZqZ5lWjgZX/m+R2LUcGE0dnRKCRWjNvP4164wo9pzme5h/S4+19HD3w79JdAheV4rckNYtJsjTBcoRIyA6YoNO2fqGinFeFh5vhW9oJreMQR3fyyaJdTv84KrQNWWdl0oNoaygqryJ5+cHtHQawc6ZhqX4KxL54qHQi6CZYtkANxdYzcfQQsYHYoTkL2ZA4CdYbxYSQ6JWULVEPDALUSZ3iYeMob7uO+OuXWjTy2XMKW3pEXE+zyVQnNYdqIjCT/jtAnpSLGhiqCmnpSig1Q9tL+72Wlp+qNkd5JwuF9B++lQRPhDbqfHIaWoone+UmdVOQzx9Gi4mkO0A0E41P7vh0Mff7/WCnJmRb6eluQ+ZzK/jDXhmRRYn/b06UOD2VY2zcXooU4yvFGGTku88bmCi+oJmKRaFReo8VtvPeOPEs6YIgxgup3AWnnESNuHxNglccnS1mECSrxj7FXjZd3D283FydvBcgG5wqvKyMM/ +ZziUkOB uc13pAUv7DZyYYiGgm781MWmmLfRdZEsyDUsgwjNy37eoI0kRowe06ZSGO+zKPBQMqW3qd9+Ry49dPRwxqp6Kx7SMY3f2T6osr42tgYxl/UCU+oeEoDKX5UQotWjQgfNsAXfSqgXnd0rMOJWfRC8b7he1dSIJz82y4fNBnotb9T5XGliHlWMC75g2d6mNFZh8kPCvnMaNPf8HEkPdp5IPwAxT/Dt9YltmFKwCbbpBcwbMeyhe4OL0grfYTKO2+NrPCbBJ2krGgOIdvvS8j6+3wT3mZ2qus4TCVmGySNT2ePlqIwUqOdP+gno/2ewuwsI279yFLMcKm8bQrilXqYaCuS8hnWiprR9YQm+rWWLxrT0SMcahAxfLg6Tfkw== X-Bogosity: Ham, tests=bogofilter, spamicity=0.088487, 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 (24/02/20 12:51), Chengming Zhou wrote: > On 2024/2/20 12:48, Sergey Senozhatsky wrote: > > On (24/02/19 13:33), Chengming Zhou wrote: > >> static void migrate_write_unlock(struct zspage *zspage) > >> { > >> write_unlock(&zspage->lock); > >> @@ -2003,19 +1997,17 @@ static unsigned long __zs_compact(struct zs_pool *pool, > >> dst_zspage = isolate_dst_zspage(class); > >> if (!dst_zspage) > >> break; > >> - migrate_write_lock(dst_zspage); > >> } > >> > >> src_zspage = isolate_src_zspage(class); > >> if (!src_zspage) > >> break; > >> > >> - migrate_write_lock_nested(src_zspage); > >> - > >> + migrate_write_lock(src_zspage); > >> migrate_zspage(pool, src_zspage, dst_zspage); > >> - fg = putback_zspage(class, src_zspage); > >> migrate_write_unlock(src_zspage); > >> > >> + fg = putback_zspage(class, src_zspage); > > > > Hmm. Lockless putback doesn't look right to me. We modify critical > > zspage fileds in putback_zspage(). > > Which I think is protected by pool->lock, right? We already held it. Not really. We have, for example, the following patterns: get_zspage_mapping() spin_lock(&pool->lock)