Received: by 2002:a05:6358:9144:b0:117:f937:c515 with SMTP id r4csp5188864rwr; Mon, 8 May 2023 20:13:03 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ4lMRWszLGv10uom2nxORHQKSF8w7nPf/DWRkYPJ1nz3xcfDDdcJ22YvgIsL8aT5PgAloqo X-Received: by 2002:a17:90a:f3d5:b0:24d:fb8f:6c16 with SMTP id ha21-20020a17090af3d500b0024dfb8f6c16mr12752520pjb.16.1683601983385; Mon, 08 May 2023 20:13:03 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1683601983; cv=none; d=google.com; s=arc-20160816; b=ehABmE4Jpzj//kVxg7hiW4xFL4es4JS+sp9dNKAnaCWt/AYfJTLA0A+ZMiRGMkwva2 tYGgpdRnfbIFRkUYj297ZYFK2mPAMB0m7LI1PW/hn2uOav/4ZxfrRYdzH1kocity8WXW 2GUgK5iZis8gKBO3p6MlEWuY1HTLbBy6Q273vR/z6WtwArb8uZhfscar9B0fPYD3OGvg rO+cw+/u1qVmP4a4C+FLAqhmSrlEK15s6WUAN74eBlzz9SZxvK9Lf9wDAc+RFPljbogl /9r8FjcHqFKHOz7/pBqtmsWlf9HabaqZo/RhWO1TvUOkkMC+rNZWSLheebetf1COER6n HxYw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-disposition:mime-version :references:message-id:subject:cc:to:from:date:dkim-signature; bh=3phbqPGzhNPYYPhsWx7YPm9EYaracy7lqNtqwFBF8dk=; b=XqXD3G9zBHfqbFqtxzoPJ1uRp5cNhU9qpnnuSoBw1VUsMaq2URpKHlAm/NodxqS5Sl UPPvhyQQpSwnopiSRZ+iPSSW/nfyBGSfYjIPZ1vV/mUxdioloYMs00OghIdaA3N/dIqz qDj5zo0eqaI6lvLHAYzt0t64sGk6i1ZteFQDPj1g9cGXa1utXDzHxOqNFvhXVaxDeV9K 9JF3vFec4E33oSlGQ5+FhDYTVIAGRQk0LtpHRjPbdPs3zY3EgsjbYk4qAQ/42yZFL2Tk vvKtTpJg8aIdTJf1K2udYNVWHl6TxMz9tMuMrdvMxng6EoWgAeI2Hui1ScBaV2xuT1k0 HDlA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@chromium.org header.s=google header.b=fsVVedA2; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=chromium.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id ds6-20020a17090b08c600b00232f57260c1si14046133pjb.1.2023.05.08.20.12.34; Mon, 08 May 2023 20:13:03 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@chromium.org header.s=google header.b=fsVVedA2; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=chromium.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229667AbjEIDAk (ORCPT + 99 others); Mon, 8 May 2023 23:00:40 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:49922 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229538AbjEIDAj (ORCPT ); Mon, 8 May 2023 23:00:39 -0400 Received: from mail-pg1-x535.google.com (mail-pg1-x535.google.com [IPv6:2607:f8b0:4864:20::535]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 8B4165269 for ; Mon, 8 May 2023 20:00:37 -0700 (PDT) Received: by mail-pg1-x535.google.com with SMTP id 41be03b00d2f7-517bfdf55c3so2697871a12.2 for ; Mon, 08 May 2023 20:00:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; t=1683601237; x=1686193237; 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=3phbqPGzhNPYYPhsWx7YPm9EYaracy7lqNtqwFBF8dk=; b=fsVVedA2apC3Zwx4eC3AIpOOxsOGHvoknhNN70P/GS7Q3peLiOzmbn0GS0fUPnxzNb Jz/+OOpzreMBDFQJ9rk9R0+QIe5zOjI+vy1RthktXwi017Rva+uorTv/659QgdcmEeju dlxQF1y87bc3bfCoXxx0q4s2e3nJeu9dX7doc= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1683601237; x=1686193237; 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=3phbqPGzhNPYYPhsWx7YPm9EYaracy7lqNtqwFBF8dk=; b=FZyXY4QWin6wv/ZF7Zf9GjJ0k8erJgOY4+hWXXba195eQeke/995Um0l7NcqgMC8OZ aj4DRxCNzmeEuM+qqO6ge6ptwwj5w+gesyHm5B2up306LqiRktqp15OxtK/8gr0L4LgI BlN0AD7GQQYKI/SpqT4SiUQamH7O2Mu6l8gK+ZFaVCvMQcttprwivB07UbREuaNdztaa axyEcirfIFlwMRt+5lJbOArUfzn+TrqnCNpS41jiZsT4FKC6KTfuEKUShhc5bv5OTPzy C1RtFgGKOPW8ST2TNAZfQmIP2LdZq1whWv4DMQKi3tFI8OpGOp6Z9A9WM/oZdmnNGStX W0Yg== X-Gm-Message-State: AC+VfDy5W3Z0NF0AndceOxUPEui6jpKq28Q169B95Xe1gKGi3KAlgaCR 3rrqgSPdxUBn7fcsQdpnnfNYdQ== X-Received: by 2002:a17:902:7d98:b0:1ac:7b13:de71 with SMTP id a24-20020a1709027d9800b001ac7b13de71mr5748984plm.37.1683601236934; Mon, 08 May 2023 20:00:36 -0700 (PDT) Received: from google.com (KD124209188001.ppp-bb.dion.ne.jp. [124.209.188.1]) by smtp.gmail.com with ESMTPSA id fh11-20020a17090b034b00b00246aba3ebabsm5112610pjb.45.2023.05.08.20.00.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 08 May 2023 20:00:36 -0700 (PDT) Date: Tue, 9 May 2023 12:00:30 +0900 From: Sergey Senozhatsky To: Nhat Pham , Minchan Kim Cc: Johannes Weiner , Sergey Senozhatsky , akpm@linux-foundation.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, ngupta@vflare.org, sjenning@redhat.com, ddstreet@ieee.org, vitaly.wool@konsulko.com, kernel-team@meta.com Subject: Re: [PATCH] zsmalloc: move LRU update from zs_map_object() to zs_malloc() Message-ID: <20230509030030.GD11511@google.com> References: <20230505185054.2417128-1-nphamcs@gmail.com> <20230506030140.GC3281499@google.com> <20230508140658.GA3421@cmpxchg.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On (23/05/08 09:00), Nhat Pham wrote: > > The deeper bug here is that zs_map_object() tries to add the page to > > the LRU list while the shrinker has it isolated for reclaim. This is > > way too sutble and error prone. Even if it worked now, it'll cause > > corruption issues down the line. > > > > For example, Nhat is adding a secondary entry point to reclaim. > > Reclaim expects that a page that's on the LRU is also on the fullness > > list, so this would lead to a double remove_zspage() and BUG_ON(). > > > > This patch doesn't just fix the crash, it eliminates the deeper LRU > > isolation issue and makes the code more robust and simple. > > I agree. IMO, less unnecessary concurrent interaction is always a > win for developers' and maintainers' cognitive load. Thanks for all the explanations. > As a side benefit - this also gets rid of the inelegant check > (mm == ZS_MM_WO). The fact that we had to include a > a multi-paragraph explanation for a 3-line piece of code > should have been a red flag. Minchan had some strong opinion on that, so we need to hear from him before we decide how do we fix it.