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 4DE64C2BD09 for ; Tue, 2 Jul 2024 02:39:27 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id D74046B0092; Mon, 1 Jul 2024 22:39:26 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id CFBD76B0093; Mon, 1 Jul 2024 22:39:26 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id B768F6B0095; Mon, 1 Jul 2024 22:39:26 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id 923186B0092 for ; Mon, 1 Jul 2024 22:39:26 -0400 (EDT) Received: from smtpin11.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 14E0C141E6F for ; Tue, 2 Jul 2024 02:39:26 +0000 (UTC) X-FDA: 82293256332.11.3553220 Received: from mail-oi1-f182.google.com (mail-oi1-f182.google.com [209.85.167.182]) by imf01.hostedemail.com (Postfix) with ESMTP id 2AB6A4000A for ; Tue, 2 Jul 2024 02:39:23 +0000 (UTC) Authentication-Results: imf01.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=ELKhC2aG; spf=pass (imf01.hostedemail.com: domain of seakeel@gmail.com designates 209.85.167.182 as permitted sender) smtp.mailfrom=seakeel@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1719887942; 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:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=U3lEWYpEQ0u157KzPKxKmCWgqmP/a8V9vZZyg5+xH9M=; b=owmOegEXcK67wYL3whkJEW/Kjbzy/OAO9imJo/V+pwXSNDJ1dMzJ+DfynnTqyE8H3DLD1s fxUoCm+w8HcQZjZzQ9fGHcen8VrlDo9khah7mt+KKBHW+YXApwYQCGmfsK//lDrJtYzp4C 937wMyFVOrTYbrzrUxQu7P1lf5RqyO4= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1719887942; a=rsa-sha256; cv=none; b=X4fQ1KsWK8c8h0FguYfkneBc0vHWUiA9gZxt6W+rVw75iyfXg3BnP+EB1SVLWUFM3enHGn TjNc4kEgj9km8PqqLJHF1WcfjHqPddUWGX7o2TgVMaMLvl9UmWludgneYhdvI+3Oqx3bZm ZqMCc9lA1zTWilKckoOqivVFsIEu9uE= ARC-Authentication-Results: i=1; imf01.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=ELKhC2aG; spf=pass (imf01.hostedemail.com: domain of seakeel@gmail.com designates 209.85.167.182 as permitted sender) smtp.mailfrom=seakeel@gmail.com; dmarc=pass (policy=none) header.from=gmail.com Received: by mail-oi1-f182.google.com with SMTP id 5614622812f47-3d55c0fadd2so2332710b6e.3 for ; Mon, 01 Jul 2024 19:39:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1719887963; x=1720492763; darn=kvack.org; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=U3lEWYpEQ0u157KzPKxKmCWgqmP/a8V9vZZyg5+xH9M=; b=ELKhC2aGi8EhfBbKr6udMBexMSHoDdK23drc/ie1000xlwYgpJJH78LJCscn9tWpV+ 9fcBsWMJC1hGZSnTDoSDj21PGIFYdBK+gReITIp+ZzjrreyRdKDQ3QnL7s1ZIMkqKF8h xZPL6wkLuTqgSP3C/0FcvhYJ1QHCnyA9IASUftgIePQhFgvlbcYW/Ax+JB2hSQD931de nfdadC1hS8+p/F1ovJGJ0bgfktPSXs8zV9bJui5WCuNAgPlLzLAfRddQEn/p7I05frIS aCg3QgekasCa1vOzzR2UkuS5X4EraTqz4PHC2h0TUaxbyVGQ+AYEuGHVUCjyuxM9WJ/a uE8A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1719887963; x=1720492763; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=U3lEWYpEQ0u157KzPKxKmCWgqmP/a8V9vZZyg5+xH9M=; b=PXVlzYiGTFlFX4LVJeNb+OgP8A4uzTtI6XFfCyZqmw0LWHlq3hh/z3/H1I86IwWoeO 4eVmhCeGrvcXE457o4vG06vTeaVFdceAdfa4qL7iwFC9NITJ1oYlepWUQZKkp4V0AMSs PPzt1gMQ4r+eQKnJ5FnmcH2Nr2WWk1SzSJF4J89IOPekgsOwCDiuyYPkulS1vJGcqZlp Hxq1Eq3lzErrAD8AnKAgXtlM+yUGausA1GX96utCbFBikJghJS19rjVJATZkS5+X0r/B givs2wMEdvv3LpxTI7BGMecB2wzp05RttT1pZt21RU1l3Nw6q+niwUemt+vXz9RZMn9Y RM4A== X-Forwarded-Encrypted: i=1; AJvYcCV1lkAvuROiRoVhhkRY0tudSOC3p4nrnfrDwpc+DExOnjRhgnOsI3y9t+8AHk/TbZmq0d1ifyVxHkFNLqST2vTEUZs= X-Gm-Message-State: AOJu0Yy5EVHs9MtueQwA7JGUXY67GYbLq1hRkLMk6IUT7O8WfeKnfQyx a7nUrCcHzRZP/HlXwK3AmjE3PtxkeOS4ImUmjB6d5HKkhiS3s7dg X-Google-Smtp-Source: AGHT+IEAXUBXZvanfqBdKOQmDlkM19SZ1HTtLQH73FVrZU6UsVt/2OHVNLMzLFwU5up12rC77vUGHg== X-Received: by 2002:a05:6808:1a24:b0:3d6:3450:7fed with SMTP id 5614622812f47-3d6b4727127mr8682432b6e.39.1719887962880; Mon, 01 Jul 2024 19:39:22 -0700 (PDT) Received: from [192.168.255.10] ([43.132.141.25]) by smtp.gmail.com with ESMTPSA id 41be03b00d2f7-72c6b584624sm5765279a12.53.2024.07.01.19.39.12 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 01 Jul 2024 19:39:22 -0700 (PDT) Message-ID: <560c58be-4741-49c3-b47b-b154f564d148@gmail.com> Date: Tue, 2 Jul 2024 10:39:09 +0800 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH 01/20] mm/zsmalloc: add zpdesc memory descriptor for zswap.zpool To: Yosry Ahmed Cc: Hyeonggon Yoo <42.hyeyoo@gmail.com>, alexs@kernel.org, Vitaly Wool , Miaohe Lin , Andrew Morton , linux-kernel@vger.kernel.org, linux-mm@kvack.org, minchan@kernel.org, willy@infradead.org, senozhatsky@chromium.org, david@redhat.com References: <20240628031138.429622-1-alexs@kernel.org> <20240628031138.429622-2-alexs@kernel.org> <4418c5c6-60f3-408f-a4ea-8d8ba1cc8afd@gmail.com> Content-Language: en-US From: Alex Shi In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Rspam-User: X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: 2AB6A4000A X-Stat-Signature: homp7rp7iit1xb5pecwkbz8pemocs798 X-HE-Tag: 1719887963-469805 X-HE-Meta: U2FsdGVkX1+mF1cxNiaTH88K8YL3W7NyDyAYy42H5IL3tUrm4e1x3kmQpYXR19BMIBjFDydMheaaRg1HViWLjPVw+YSEMoJUNPul+VY2lu1V6zZO7bimwGPjKrNwsm5PerCBea7hczFcyPnY9KHtkZWY4zXduU5l99NN4HHxe4D/3x8siNFKXAkwJZJK8uPRGu8hdG7QgFGWXKXU5ko5aQwbSwjRQbKCPRsEV6CJCvvlcavhLGSaB56xXXPUTP2nEiSB6a4z2/oXkQiU2ICcNQ5u9FC9ZVn66djkwrVDEf5rLmwV0tSV4eyyArwJQPGtc/VQHx9XeZ1Ds8lQt++ks4S2Iz+o4K7yXIFe2E/eRfbGb/4yny/WYRnOsv0VSbuhfMLbAWhBsTykyX3lLafwrLpvIirPG/Mujxf0SKieU+/jepzLixQG+lwiQvf6QM3Tx8bnoMqKg/gSd2ncLGJI4EQO978RB/d6YIzlI49PaRGyfBoYuZQga5NSvjfv9Sx8bieK6CrYhMhGpwidwQYMz1nYb/71kKnRJaW0LMPXujMIdM4neTfzGkpkKIGOU0PesuxzwveRAN0/T3R2wzy26Ftp/nv1LqZ0M4aAPbTR1S+hw8BJ8yCqP0WMXkl9JAU9DNeLBOI31ir6Juoyyh4NBRDeVbxZsuWIN0ii+t2bHqfw+G1hnTjWiDqCYsuJfAQtBZF2HgKwKRxpWTMm/5BeOKIySI4eR++LMzliXalBWsHewUeKi7GXABc1bKMSPO+1dHT25TWV84mO2HmcMTczm4nO5sqdmEXKIILBoKRO343EDyL9d25Z5JfzSVzmnLz/iOtrODFBraYJJDTnBVUKmSrZNlx1CK4mEi2iUQCXbFpZ+Sg+fenuhjgXKZxHTzKg4Gmo5pB4QfO88rNrHeoDkc2IJXK3Gl+NKV6iGKTiVrfw6g1zY6LgqPK4NpK8yy+7WTnBII16bMK2j9CtZe8 NoijY1Tg a2mZY7PBh9MdsjO9xgCK+Cp0EN+PYYbljkLAXnMG5xsFqcTXVI7R4i/TW2DqGLrsmJoa0dmFonPHSsGH2lyP+p/TJ9LzRaWP688SFe/sQ6pJhqcmxZEOAvWxjbYC13POs4+s+5sjm8lnolqRj1xqIH27vX/pbAWTWVdBvjXl7X5hJCIPk8VFdL9Bx/34amQV+G60FgJ06sqdYniYXb0sXZcquyR1XPCVJRNhMm9LRkVV5XIum2xsHI9cym2N85CnvqP1rTBss21An0i7avwxfeXDti3rACZqBkfxj+OZCZasjfA5hd0PR0fxH3670KrBa2DBRzctiYLOb1a5ZjvDyC+e4ds7Thmat6xmm2MQWFFZDJRl5Ia/hbw7FuMQ0P6rcUww2o3HXF4wlg/mc0xNbrCAhFuY50aFchzqY5iXTvMVrLdnjfLFXsieUFrvIWSmVCB/kVd7pqwsuEmmbewsoefmWo2kmciHitR3M9RdJRBa0HMsheAlmesnx+K+RlKDUxrr7S9tsvOOrf2cv2ihRYZuxbQ== X-Bogosity: Ham, tests=bogofilter, spamicity=0.024975, 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 7/1/24 9:42 PM, Yosry Ahmed wrote: > [..] >>>> + union { >>>> + /* Next zpdescs in a zspage in zsmalloc zpool */ >>>> + struct zpdesc *next; >>>> + /* For huge zspage in zsmalloc zpool */ >>>> + unsigned long handle; >>>> + }; >>>> + struct zspage *zspage; >>> >>> There was a discussion with Yosry on including memcg_data on zpdesc >>> even if it's not used at the moment. >>> >>> Maybe you can look at: >>> https://lore.kernel.org/linux-mm/CAB=+i9Quz9iP2-Lq=oQfKVVnzPDtOaKMm=hUPbnRg5hRxH+qaA@mail.gmail.com/ >> >> Thanks for notice. >> The memcg_data isn't used for zpdesc. And I have a bit confusion since Yosry said: "I think to drop memcg_data we need to enlighten the code that ...". So we actually don't need to have this unused member, is this right, Yosry? > > I think we need to have it, at least for now. When the pages are > freed, put_page() -> folio_put() -> __folio_put() will call > mem_cgroup_uncharge(). The latter will call folio_memcg() (which reads > folio->memcg_data) to figure out if uncharging needs to be done. > > There are also other similar code paths that will check > folio->memcg_data. It is currently expected to be present for all > folios. So until we have custom code paths per-folio type for > allocation/freeing/etc, we need to keep folio->memcg_data present and > properly initialized. Hi Yosry, Many thanks for detailed comments and requirements! I'm going to add this member in next version, maybe tomorrow, unless there are more comments for this patchset. :) Thank a lot! Alex