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 98D56C3DA4A for ; Fri, 9 Aug 2024 02:32:50 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 027526B0089; Thu, 8 Aug 2024 22:32:50 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id EF1C36B008A; Thu, 8 Aug 2024 22:32:49 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id D91F36B008C; Thu, 8 Aug 2024 22:32:49 -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 B97856B0089 for ; Thu, 8 Aug 2024 22:32:49 -0400 (EDT) Received: from smtpin16.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 6819E1C3A97 for ; Fri, 9 Aug 2024 02:32:49 +0000 (UTC) X-FDA: 82431134058.16.57A20A7 Received: from mail-pf1-f175.google.com (mail-pf1-f175.google.com [209.85.210.175]) by imf11.hostedemail.com (Postfix) with ESMTP id 7516A40004 for ; Fri, 9 Aug 2024 02:32:47 +0000 (UTC) Authentication-Results: imf11.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=SKT+1ijC; spf=pass (imf11.hostedemail.com: domain of seakeel@gmail.com designates 209.85.210.175 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=1723170758; 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=nTs3IAlMbr1gJBCL/OvELDq9lICZRD1rhPZfhbtHB7o=; b=bUPX4dkA4L/XnH2erMX/H4/q3kvQp3U22XscD7gOnSjQgWxwG3tZBCwI/gYetYvs9Y7WuU J/NgytysyZUDPllwEbijthSkkM828d6IXeBao4rLY8zeFwWPyd2bVcBnJOz/3YvI0fAV4u fVFJXrQdby57Fr6yOQoikS+SJbUqLHU= ARC-Authentication-Results: i=1; imf11.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=SKT+1ijC; spf=pass (imf11.hostedemail.com: domain of seakeel@gmail.com designates 209.85.210.175 as permitted sender) smtp.mailfrom=seakeel@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1723170758; a=rsa-sha256; cv=none; b=7Zio3hDZY6OZ7dcdZVA0Qprg7883BoSPrNXNl1+Jfbah2u5tKCmouSN8jcSIM8LAxPv272 ZyKV7wAEa8QAA9eXjWcQWC2nY8W4j/2nVFTL71OU4Xix1TDF1g39s953UEoioOG2yaNN6Q i9uiyJEIejLQYbgIBaJd1ue+9ajhuVg= Received: by mail-pf1-f175.google.com with SMTP id d2e1a72fcca58-70d1cbbeeaeso1322879b3a.0 for ; Thu, 08 Aug 2024 19:32:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1723170766; x=1723775566; 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=nTs3IAlMbr1gJBCL/OvELDq9lICZRD1rhPZfhbtHB7o=; b=SKT+1ijC6MW3eZI9vtZTJqFbA3YW8AH9aMHT6Tqi3X9IriNLgRIsPpoI7f2HrfBdYi GV22OCmoMjUFbyn9oFErJB8uKIby1KEeUFW95NnnEjY6WLAwNoHW9adj1KhYFb3MMSmA GPXgfVzenIhb8VCvG8p/60Oas9J0oRrx6wWy8ZMHLyHvsfHUw29xhsGUeL6FBpn4/qa/ J9c7t3X5FHmYRWPbQlPOd9zQ+VOUwQnqrAxaSpy3mVznUH5waBmFx0ICZ3ROfp+jOzs0 hlRw03wFRQlHIJENyqwQ+g4sB8aBTW6qY4Xnysgxvad5XRTO6oTcmVzwI37AGbACrkzC o2/A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1723170766; x=1723775566; 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=nTs3IAlMbr1gJBCL/OvELDq9lICZRD1rhPZfhbtHB7o=; b=i98jMnjK6H8q9V0BRx1kSRUuCVET/V07kUbxqDXr+jAwuUlCwe/88NYBJVc8jQgv6D mC4A2Yvlj68I9FUjq97ewUmkUnXaH3VKCfGaLQJhm/DtMrvGOwo5JIIuv2PDsz2VkUfo S77cL0kTpcvsw0ht6OziGEcjOO63WyINYPuA17Pp1GmSWlbM6xXkL9a468Qz6ow6NP/1 Ue7jyCFAciZ+lTOoEAgYuxL6GWK83JVHmGL90KaLn5p+R0NeWsy7leiwvVy61gpLZoTa s5ZHsygTVTzHN7aW6iBm0iaRU5qZb+E5f8ZVbC2V7fx+4m7j0qs0okxG83fk+L7C0JTL /KFg== X-Forwarded-Encrypted: i=1; AJvYcCXpuBfsil0jClz/rUlGZ+2n2LT6K/O2hE9UZI3uiDawrXTMI9bPpqVzxW+9E05ROYAfommZps65zVzTrG7uxXb5UfE= X-Gm-Message-State: AOJu0YyCztpdbLRwXN6pBSQ8gEdySPhZUyQ+AKAxxXPz/eWDkU3yte6n QeJNlCsbzkyVIdTDDJPHnUgsDY6cXiZNpe9cR3spnZAjporeK7ve X-Google-Smtp-Source: AGHT+IECU7ETquIij23PHnyoGRnnjIBFv+llld7icXBTl5CgvoLf35mOyxQBb9yLHSiI/bxsw7ld4A== X-Received: by 2002:a05:6a00:39a1:b0:705:b0c0:d7d7 with SMTP id d2e1a72fcca58-710dc6959a5mr119465b3a.7.1723170764937; Thu, 08 Aug 2024 19:32:44 -0700 (PDT) Received: from [192.168.255.10] ([43.132.141.20]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-710cb20a671sm1752622b3a.24.2024.08.08.19.32.40 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 08 Aug 2024 19:32:44 -0700 (PDT) Message-ID: Date: Fri, 9 Aug 2024 10:32:39 +0800 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v5 00/21] mm/zsmalloc: add zpdesc memory descriptor for zswap.zpool To: Matthew Wilcox , Sergey Senozhatsky Cc: Yosry Ahmed , Andrew Morton , alexs@kernel.org, Vitaly Wool , Miaohe Lin , linux-kernel@vger.kernel.org, linux-mm@kvack.org, minchan@kernel.org, david@redhat.com, 42.hyeyoo@gmail.com, nphamcs@gmail.com References: <20240806022143.3924396-1-alexs@kernel.org> <20240806022311.3924442-1-alexs@kernel.org> <20240806123213.2a747a8321bdf452b3307fa9@linux-foundation.org> <20240807051754.GA428000@google.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-Stat-Signature: ofqshu9gjokyothb5hpomxfduagarx5z X-Rspamd-Queue-Id: 7516A40004 X-Rspamd-Server: rspam11 X-HE-Tag: 1723170767-503181 X-HE-Meta: U2FsdGVkX1+4VsNH10G0BoRYt1YfkP97+NX2rTZ800mfSiQuQ9+yi9Sx0xTzZ605D44Ge44H+gnluuUYib38J2u0UpxIhcQyyTvb5ct+Emx/MhejL8vc+kYETfBOuy4Bm0vTj+gMhx8UDuueNJ7YaxB+Onb1MXpET43QU85QeoipUjqR25jwizbyN5oXDkyHNMe5nubNbvCCJi0XFkj290enQXrtpfh1HMkNotDR7ANbcP1LToe5bTPm3yZjsgsGMYdWRpi+6K8P+cTcVTvG19Ym/SwLwnxjJwhF3gNpMvJY14cBf+9etqEf2ey+x/rRcFqK/hNn2NBi6MaQyR6B4IfrtHKaF1m/ttO2FmsZNCS9uV3chgmn8xrncJxF3w/GHPrnCAImafKnmF1KwVAbZAKjuo4uN82GwIdmW1zPrMIWnRiKsgcnq/KjsuCIGbomE1jvgG8MWUt7VvSeHrzM4uAME8pB7n4YI77ZgRnu57YNjXx0tQ+aeLpJiJK8HHaYpfB8abi4LYiTUofrLxjGHbRQylYHuUZ3XUvr078dRbVNOmCfGZr8hkvTPDxBGI3tgZz5ENq0rNAFup2FCx278A1NWsoIgC7tDYHABEI3nbpTFlQZAae8LQSu4qNCTQZfb0GBozHKOYVWo2Tt5s4K8NxNWSxjGfXcrUzlz7pF9IdjfbtKxfkgqIxvEd9Bi+H992m/YwrSlQ/xIFLp35v9V+LzoZyVNsXj4MOxmz0A8AiNEmo8NsDuor/nJm+hjES9oCo/pdXCdumL6n9ERfRfp8P1GivIuFiS/9Rw+zu2ZmKDs41NtJUd5Z+/c37bvYnw/HdqXUfHHeyCQleq/qZQGQmDptkjRr/Gs4oMtPZveNjnHoTTTMYL3SsnJX0ABgmF8sIGNIUAkW3o2sAQdh+9XGSMHMAqOo1vGcEgPw4h9xq5qnpFB0zZ2UpYtjBx9pu3GEXUfojMsfEUsPskucm yCSNomm7 Y8qpuUs3LqKUm8o03fadLS8ssCcPYSXo9Zv4gJYGnCSJoCRrthPdJkPFJoxZ+QHFt3W6TaPYuaQeuaaAO8q/W+1wc6yMv+YwVgRuIeNxtrrcJCRJoxCg8jch9C+Ul/pJ5SmHtI4dgRhiYrPCDXx6IQR4w908osDHmrmBuXe34ko7BJOxVPdqwRgOzi+oIwXIqrypXlekHZmv2CcXL4OLPVpkZOwI/o18iatbebrVFKpJCmLmoaW5UL7lDJxmep/zfCU4U+uwkileuf9/bPQCDNBJmQTPXkwVyqnkA3Gl/4yw8W09XxTMl+9a+K75MQ9TcU0kspFOubMTEa46QLeBnH83qIx+c0pueMDSRJxXw7d9iY1YWh+3MKo2BKxCNXkItYxlln3dD7t6XlN5GC6piyigaY3/dOyG365mEyS02YApTeIg9tGBd306FghhZkwPz3C0bUqVZr3744hsDy2OO8uit4CUlCwi+pYuhlB9LOXzrcI9RHZczhnfPVztLqMfOIdXO X-Bogosity: Ham, tests=bogofilter, spamicity=0.000006, 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 8/8/24 11:37 AM, Matthew Wilcox wrote: > I've written about it here: > https://kernelnewbies.org/MatthewWilcox/Memdescs > https://kernelnewbies.org/MatthewWilcox/FolioAlloc > https://kernelnewbies.org/MatthewWilcox/Memdescs/Path Thanks for sharing! > >> So I guess if we have something >> >> struct zspage { >> .. >> struct zpdesc *first_desc; >> .. >> } >> >> and we "chain" zpdesc-s to form a zspage, and make each of them point to >> a corresponding struct page (memdesc -> *page), then it'll resemble current >> zsmalloc and should work for everyone? I also assume for zspdesc-s zsmalloc >> will need to maintain a dedicated kmem_cache? > Right, we could do that. Each memdesc has to be a multiple of 16 bytes, > sp we'd be doing something like allocating 32 bytes for each page. > Is there really 32 bytes of information that we want to store for > each page? Or could we store all of the information in (a somewhat > larger) zspage? Assuming we allocate 3 pages per zspage, if we allocate > an extra 64 bytes in the zspage, we've saved 32 bytes per zspage. Thanks for the suggestions! Yes, it's a good direction we could try after this patchset. Thanks for you all!