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 B7073EB64DA for ; Thu, 20 Jul 2023 21:52:20 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 1406C280165; Thu, 20 Jul 2023 17:52:20 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 0F18B28004C; Thu, 20 Jul 2023 17:52:20 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id EFAF8280165; Thu, 20 Jul 2023 17:52:19 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id E083C28004C for ; Thu, 20 Jul 2023 17:52:19 -0400 (EDT) Received: from smtpin06.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 90B991602F3 for ; Thu, 20 Jul 2023 21:52:19 +0000 (UTC) X-FDA: 81033339198.06.7BB23A7 Received: from mail-vs1-f48.google.com (mail-vs1-f48.google.com [209.85.217.48]) by imf11.hostedemail.com (Postfix) with ESMTP id BE81140016 for ; Thu, 20 Jul 2023 21:52:17 +0000 (UTC) Authentication-Results: imf11.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=QeNV46QI; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf11.hostedemail.com: domain of 42.hyeyoo@gmail.com designates 209.85.217.48 as permitted sender) smtp.mailfrom=42.hyeyoo@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1689889937; 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=6f35tkTBQLyNly1foiMY+2ToQ19rqtqe3836KlosE5Q=; b=4EShTnbm66xSO9z4kVjXo0nrhzS9XFXBj+7kttGv4wsvnHFdZ1tASa61Qgy9udaP3p1i15 jXlBihhQ4478SDUFkmUj9ZJhSs3WUM5fHQ/kDB6HYSV+zUUqpOoKYuMbSoAyNRYhm6Y6oM K2tlRh8K69s5/Sx1PWRSRSJOyiM+dbU= ARC-Authentication-Results: i=1; imf11.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=QeNV46QI; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf11.hostedemail.com: domain of 42.hyeyoo@gmail.com designates 209.85.217.48 as permitted sender) smtp.mailfrom=42.hyeyoo@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1689889937; a=rsa-sha256; cv=none; b=QB0UHnY8cmwN0VH/g1frlqLY5DPuPrp/eShI5w4YHwG1h3/4/2wzh8TBABQFvhkPh9j5xL YV07L+8HTrz9F6mySxbfa2QnpvlRsiIOBzwS9txyE0L41X96PxP1iqlQHFR3yUiP9wlev2 v0S5WxmZmRvxKVvcCu0cyVZJxQ5HRJM= Received: by mail-vs1-f48.google.com with SMTP id ada2fe7eead31-440ad576d87so594550137.1 for ; Thu, 20 Jul 2023 14:52:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1689889937; x=1690494737; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=6f35tkTBQLyNly1foiMY+2ToQ19rqtqe3836KlosE5Q=; b=QeNV46QIMAh0R8pWQJFfod5SDhn4OB8HERngnDTX22TMIpInMfsFnVhktP14bDKXsm BsPPc4wfR5BfLbYXH0hpNmSVqcwdp6zIZgBerpw95bkYi0pp3LBYfQ/Jen1mJzW86MJg mDpppryBh/cxpWU0AvJJaF+5+2qLDMt1WvPJf7IwN42yimgdLfKXeMDZOaYU+I+hXHK0 t75WWeyYBoPv10a0MFYlyUqWPUzID1ZDMy1QZBcn0yJllufKeu9FnskSlE9jDe9LHI55 Wl+HIX+zsFGDQZlbVAliptkvrzjhvF9dqZYk1h2rWrSQAnxO5clSEor+pfdHjhxKDefS vPKA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1689889937; x=1690494737; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=6f35tkTBQLyNly1foiMY+2ToQ19rqtqe3836KlosE5Q=; b=APOMjUKs46QUOCOeOoPEVQf3+Cew5BkJuB2LFtyuiNOxO0t8qgQX9YVRe/hjW31wmo Js/pQbHaga2ycMr2e3Uy/bYUdqPJIc/dBwJjGSS8JW8+W4KIyC852m51sOv1yT8StQpw 1gQxVuxN4CIv1M+QMtvgTxBXqK0NsID9eyH1rqtX58Z0ce34UvD7FDnvHKrR1GdcaP3L 2Cr02RT3qwoFclpVzA7MohozRX33xhJdOwdizIlr+yJhzSv7JLd2VKlYZ4c34hkJZfpx Z4om8trj+Azsx8jalf8ZnXfiVZ3thxF5MWJjLDdUuxWh9vNdjMeUM8IivnWBkbhns82q ETbw== X-Gm-Message-State: ABy/qLblsT5AkXf51P9xpvsk1ZVGE16e+BegEOzXg3D4mpuSMvJgxHlX YgaGdWTLViYfXb5cRJ4OyaYecu3JOfmuERIZJZA= X-Google-Smtp-Source: APBJJlF7a2WOTF1++m6SiWRDzvn49KStYyADTTuVEQycA2DCyW/yuBCyOKYlOG6U0CeWmE0BAtVs/pJMjwxAq+1W9T4= X-Received: by 2002:a67:efd8:0:b0:443:6afe:e842 with SMTP id s24-20020a67efd8000000b004436afee842mr13885vsp.35.1689889936684; Thu, 20 Jul 2023 14:52:16 -0700 (PDT) MIME-Version: 1.0 References: <20230713042037.980211-1-42.hyeyoo@gmail.com> <20230720071826.GE955071@google.com> In-Reply-To: From: Hyeonggon Yoo <42.hyeyoo@gmail.com> Date: Fri, 21 Jul 2023 06:52:05 +0900 Message-ID: Subject: Re: [RFC PATCH v2 00/21] mm/zsmalloc: Split zsdesc from struct page To: Yosry Ahmed Cc: Sergey Senozhatsky , Minchan Kim , Andrew Morton , linux-mm@kvack.org, linux-kernel@vger.kernel.org, Matthew Wilcox , Mike Rapoport Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Server: rspam09 X-Rspamd-Queue-Id: BE81140016 X-Stat-Signature: 6m9mrsqsij9egsnx56yqgwiq1o8r991b X-Rspam-User: X-HE-Tag: 1689889937-639822 X-HE-Meta: U2FsdGVkX1/qEM1VWJdVzr5Sf9ZIo+ictkBoBxCsg6bkTxcJ53YbDzfVofwuctWMQI64heOXTHaGI0ptsE8EnvgKrh3sqh1qHO6YmvkdtR4y9Ubm1Wy0/GPUpFO1FijGpaSTnrgsQCqOBYOiUMl6KLZOlGOA5cAGwOt5+AdHzn9RC29NABEhrCqYyC/FShYKq7+3WyfgMpGqwvqiW30tA54gzq6IIpheZWX8VE9wNg4QgecsaFJ5lKcE4xBh3mMA8T+40moknx8q4lbRAwIqEpx1xY5CXcOJqmzCANp+L7tWdcE61GFz0IzOQKqU5es1OpbG8THh6rusIS0UH+ImzeybJDgW34MMITl82SWRjUelfk4Zd0meP7dASh4SyFE3BADnATh154avT7D0BAgrPxochoKXHVvqf3ldzLoEgpPe0Iw0yqo71w9qEdbqDzGPMf72RD9KxhdjZLLIv64uzIBp+934Lv36HM+AG8bB+ppyrGalJzYCnG6j42DyO8d0SB0PHcqHiDuNi2FsyvzHIlBRWfWhIkS2x7yQqJXzKQER9CWb6hGIR+5D14kUvK7eY5f8oUVAMmgcjRknNQTkFnSLTVnZRS7g5hgrfn7i1PQ6wE5fMKYpXUFzJq0JSuvuOyXRPF1FIZMfNHH9fMjI/31w3EOfp78tct4sJn/3MzV6fNSStDgBRMcgkNqKri66HXkYfu2XoBY5CqjGsCitXxhYRUCsMbMja9s8D5oMdQadVSEmGnyynSzTb9xW+mfK94LGMVJdaurlqwJIYT+PJNGgna4Q2/G0aTrjilUzXOvtAZiZkMHhWDcY2zxNKs69CKm9LAgGQ5blnpQZdeOmjhLj9brGAaF+rGB61xQ72PsIdlhjJohzYYttETfy56nWT1pu+O7ZhETLzP2MCE0ZFRMBXHrFS7LQH1jdPFjSxFL4w9CXcnoTLYrvAWVM+AA3435gGXt1umvSeUux0x/ 0dOI/Asu fdNiNdrFnQ8+YNP5WWpOeT/8BcocYhLNN8Dh4pVnaCe3CgAkRpdVr66cBjI3CH6Ipxwcv2yUGVf0/FtKmHotYWv6vFUSGSHEnv2AKfejmnPoh5iFKgsMtgFcT4l1fDHG47Xq+ysNGc8cFgW+9RN8wdr8LX3kyQ/NBdcI0PttMHD1tRcUHPD5BrAU0sAKA5mDuEhd2ZnT3LFSkz4XVdbxEt+ZZoTaZe6CdDNIlAzeeE+2kR3aA2rEIVgLMa3uG+S7wHYGHBUDqLtxHv7uXYbHNPN872XRoEzCyYscixYffLc5eSepiXH9APqhTwFI8iUPb9ZEximSpyV50JWS8pidqj649YjcN0Og172HEaaQz1QfoaWIw5BR9ROkWomMw7vkxSH3C8W0SGdFii/yWxewCjdkRLQ== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000005, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On Fri, Jul 21, 2023 at 6:39=E2=80=AFAM Yosry Ahmed = wrote: > > > > > > > > > It seems to me though the sizeof(zsdesc) is actually 56 bytes (on > > > > > 64-bit), so sizeof(zsdesc) + sizeof(memdesc) would be equal to th= e > > > > > current size of struct page. If that's true, then there is no los= s, > > > > > > > > Yeah, zsdesc would be 56 bytes on 64 bit CPUs as memcg_data field i= s > > > > not used in zsmalloc. > > > > More fields in the current struct page might not be needed in the > > > > future, although it's hard to say at the moment. > > > > but it's not a loss. > > > > > > Is page->memcg_data something that we can drop? Aren't there code > > > paths that will check page->memcg_data even for kernel pages (e.g. > > > __folio_put() -> __folio_put_small() -> mem_cgroup_uncharge() ) ? > > > > zsmalloc pages are not accounted for via __GFP_ACCOUNT, > > Yeah, but the code in the free path above will check page->memcg_data > nonetheless to check if it is charged. Right. > I think to drop memcg_data we need to enlighten the code that some pages > do not even have memcg_data at all I agree with you. It should be one of the milestones for all of this to wor= k. It won't be complicated for the code to be aware of it, because there will = be a freeing (and uncharging if need) routine per type of descriptors.