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 06674D3B9BD for ; Wed, 27 Nov 2024 04:52:35 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 7BE7D6B0095; Tue, 26 Nov 2024 23:52:35 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 76E0A6B0099; Tue, 26 Nov 2024 23:52:35 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 60E886B009B; Tue, 26 Nov 2024 23:52:35 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 424CA6B0095 for ; Tue, 26 Nov 2024 23:52:35 -0500 (EST) Received: from smtpin27.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id C0602C0CF0 for ; Wed, 27 Nov 2024 04:52:34 +0000 (UTC) X-FDA: 82830653892.27.78E071D Received: from mail-oo1-f51.google.com (mail-oo1-f51.google.com [209.85.161.51]) by imf23.hostedemail.com (Postfix) with ESMTP id 5ED7414000B for ; Wed, 27 Nov 2024 04:52:29 +0000 (UTC) Authentication-Results: imf23.hostedemail.com; dkim=pass header.d=chromium.org header.s=google header.b=FDl5WZrF; spf=pass (imf23.hostedemail.com: domain of senozhatsky@chromium.org designates 209.85.161.51 as permitted sender) smtp.mailfrom=senozhatsky@chromium.org; dmarc=pass (policy=none) header.from=chromium.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1732683146; 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=z69UMzqeol1IWD5ILb806Pk7wLeAX+Rnixn/3FIcMLk=; b=LEPN1ghwY8DVVB1u4ov6sOzYyF9a2db1j8Ilttdc8Ap+CaIuN2tZXQ9WnukYs0cOXsrD/o d811KVRQhZYrJaDTd7x3Z5FvW58TUIDWEhQDaYfdacowJZDJsAm6tlgExOGTl1mwF0t+GV 8/DVDFUh4g7aWGYIl53yvFJEl6P0ZdY= ARC-Authentication-Results: i=1; imf23.hostedemail.com; dkim=pass header.d=chromium.org header.s=google header.b=FDl5WZrF; spf=pass (imf23.hostedemail.com: domain of senozhatsky@chromium.org designates 209.85.161.51 as permitted sender) smtp.mailfrom=senozhatsky@chromium.org; dmarc=pass (policy=none) header.from=chromium.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1732683146; a=rsa-sha256; cv=none; b=NpwLOSMgFWU3irezxUQ5abr/q99oRR1K899lS5RP/SkhDCmgG69pW2ZQiA/oTDss8LNwre uYDfd4et0+4V+Aa+0Dko+zSnXLH3X301oLHGbKaWMXypI1j56nBmayTziEnFNSj86RUPgX 9ecFQjXQQRVpyau5TYyv9AGLixbhiJs= Received: by mail-oo1-f51.google.com with SMTP id 006d021491bc7-5f1e364cc22so1236818eaf.2 for ; Tue, 26 Nov 2024 20:52:32 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; t=1732683152; x=1733287952; 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=z69UMzqeol1IWD5ILb806Pk7wLeAX+Rnixn/3FIcMLk=; b=FDl5WZrFEuaVyp9LIr0wbD59zne5sW6J8zhrcoQWDhtw52wPaCAG64YDLsJGWyFejD fVMrP4T/htuortgBqEI4chu4swr/jHSWBh72uIfwfabn9pTi88Lrn1rmEE3612h22Opn ByPSqs2pNYxRnGU13UFG4CE+ldxsmZcmpiC7w= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1732683152; x=1733287952; 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=z69UMzqeol1IWD5ILb806Pk7wLeAX+Rnixn/3FIcMLk=; b=E+xl6HDrcnYYu87z9fT+fIYGFCwCAOOrm2XCZvBcmtLlFNV7tindJzn6fC6pbB3gjo Ih5KaL2LrM8VZ9IjF67MsJ45SCZcKfvYr2OFBcT71J0tbAcoYCMkf2GtmjSm1Ihscdco 4PgObxryoNpXadzJ5DFRye5ufVDYOcU78j0k1TTf8hpnnS7ETx5lwn616vpLjzLbmVpO 3y+jKY7xrd3tlObdoLFu5+gglpTJ9GmAUheZ8m/SSJGkPiBa/TpHMtgUNVj7XjXCY9cb 43WIqMgagL3Rstmq/4wLvv+Jkx+4/PJNFU5aH2zhfX9uup4gpC47Bitqj69vcQvmONg7 rRMw== X-Forwarded-Encrypted: i=1; AJvYcCX0jpPWns/H7DSmDI1ux9/uPq6g4eiq1a9ELgOhVt0Rxe9AsL40P7SGWlt3/8ck9E0sAzu13EswRw==@kvack.org X-Gm-Message-State: AOJu0YxbCVYf/x5mZ0PyseYG1SvrbqUG2Dg9pTJ/a42DlvzJ0uvC5vLV Vc81iYHAh2zjF39Rl106c6dic4mmkN1yte1wDVDSRc2NTp309eKKQJuL9lKWrQ== X-Gm-Gg: ASbGnctSNMweKd1IFiTvSZKcPZEkuUEnUJtFouJc9iLkef3+coosQzHvXHWR4Xv77l7 F4c+crg1gdIotHZtuJZqXRLtb7jBA/ZkwCY7djr6+Z1cfNFmRwI1mcRykycsxqHGfHG7RePQY2p 75m2s0LIez2fxrLridPu+5HuyF/w3+zgA100LT661akywKe42V2dzUKBGC0BTneht8SboDLMlGV 7HCoCx7z75pGipXL1LqibKJYrtk0C74kV049B5khc6+Ps19GB8+nw== X-Google-Smtp-Source: AGHT+IEFX6h+L0daWFK8yJBkoXQpIAAzSGJOv1MG9EkZoRksU5/Y6YZrI63cmmZAPQ7BtBeS03+jhQ== X-Received: by 2002:a05:6808:d51:b0:3ea:5be6:a697 with SMTP id 5614622812f47-3ea6dbdfe3fmr1606964b6e.13.1732683151825; Tue, 26 Nov 2024 20:52:31 -0800 (PST) Received: from google.com ([2401:fa00:8f:203:cda8:c605:6e79:8b60]) by smtp.gmail.com with ESMTPSA id 41be03b00d2f7-7fbcbfc0857sm9655057a12.10.2024.11.26.20.52.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 26 Nov 2024 20:52:31 -0800 (PST) Date: Wed, 27 Nov 2024 13:52:24 +0900 From: Sergey Senozhatsky To: Barry Song <21cnbao@gmail.com> Cc: Sergey Senozhatsky , akpm@linux-foundation.org, linux-mm@kvack.org, axboe@kernel.dk, bala.seshasayee@linux.intel.com, chrisl@kernel.org, david@redhat.com, hannes@cmpxchg.org, kanchana.p.sridhar@intel.com, kasong@tencent.com, linux-block@vger.kernel.org, minchan@kernel.org, nphamcs@gmail.com, ryan.roberts@arm.com, surenb@google.com, terrelln@fb.com, usamaarif642@gmail.com, v-songbaohua@oppo.com, wajdi.k.feghali@intel.com, willy@infradead.org, ying.huang@intel.com, yosryahmed@google.com, yuzhao@google.com, zhengtangquan@oppo.com, zhouchengming@bytedance.com Subject: Re: [PATCH RFC v3 0/4] mTHP-friendly compression in zsmalloc and zram based on multi-pages Message-ID: <20241127045224.GF440697@google.com> References: <20241121222521.83458-1-21cnbao@gmail.com> <20241126050917.GC440697@google.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Rspamd-Server: rspam06 X-Rspamd-Queue-Id: 5ED7414000B X-Rspam-User: X-Stat-Signature: s717z6ye95q7cyjgb9j9wifqdqbxmy5y X-HE-Tag: 1732683149-140710 X-HE-Meta: U2FsdGVkX1+JLo8ajq5QXovdIE47WqxVTPFQEaHj/uB++QB4guFJvnjD+obk2JGNRnLKXSD0jA5qN8WZUn3oJvep5jLUsRGQh365XFXPQ3zBYVw86pBB8OAobsFBH4dqqNG/3kdXxXyfp/7ZgQPkzzGdZ6KCQQE7Mh4G8M/8XifYde+zAARb7iwGmBGwsUsUllNvFGzIjLDgbdK+VilHTFODW99aYKiOxV8e/2bFo3yknWOoCppM8ouSB4yNhL6/YzCkhzE8YTCFt4TC+fybT9ycrHmBNeZT0X8ewIEV1AqRnZw/eBD2HQr06v/4eb/MgqDToUETRZRy7SYZafPdNEmEAwvs/mJv0vF9ndGRDGKemXCkJAfQFzpnrEEQCeKWx0+PaH/xtB59kVUWJ2dDaW5laoycAD+xcFiqJo17NbhCizjGGbtt6CwjqJtjtspsL4ZjffNVPpO679+PqFGzIlTw7MIBPOmH9AN0aW/p/UHg3BcOxwzZ/L7IuOEwLm08qSjGNRXSKoXsxLWx2ywYJ8oY+7THPdFhwZbmlyVoQ4QKsfQYbrZC9kak3yzAZctE/XefWnUblJ49FAPdtqRBsOUXQd7qFiEGx+kOI4fxfNQvNljmcjQBP7X44Whis31AFC+gnRNCf+YxxAjbaPbIPQHzNwXNTFmSFlrwejZRWXTMKfcmKOLm+8SCy29ExkfuintNZAhFQZg4i/exnO3UIJY7xfe4TATyrhfPmuDF2JWVcwSAkgkfl9dSCeGMIxEdGvSS0wNeCbMywoTqlrpyas2SwVFdsAl1jXar39qJQldmHYyvamwhyNhtJwX7uRnied+VQYrsFNOGoyB3se8ginRhXWdAnPZa+SHt7kj0aCMW9RzgKf5N8hS88fG77yyhQgia74vHl7/WZKCBVgvJMykxuGmq1VykGJ9Py1pum3PFsU2LmKE+3zty0JD1XszfbZU/nvPaSzhuI6hZRHc hNh1xlDS 7rHP38LkMNniZfCnpUS9GakK7XTK8ccU6HFUT9LED/rfDxZDzd7XGqiZ3PFIxHQs9iWeAnt6r/7ERR1lzOGijp1coRSGwY3p5d0YnXQ4tTjeuUKY87WuK/uAi53jYy5z/MUa94PG+meIw0mRhx8WxHs3iX4MmGwRGvSDu3Mmg/oP6qim9iLSu0EkTnu3Vq56v7IB8bGqTcfZqZAnm1kn/7SvQG4ZYIK2UEvpWym1KmJ22jckcyu+37XjzKxtAjQ2ry8iEjrw/yFFl5aB4G7PudnP2dQTagQPfV66x7LwA6UIh3YsPi2HiUYqBFIge4zV3HW+xKqhJZgcQH9X+n6rXW1rnwgmVCahYhr24jqeOb2+HczU= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, 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/11/27 09:20), Barry Song wrote: [..] > > 390 12736 > > 395 13056 > > 404 13632 > > 410 14016 > > 415 14336 > > 418 14528 > > 447 16384 > > > > E.g. 13632 and 13056 are more than 500 bytes apart. > > > > > swap-out time(ms) 68711 49908 > > > swap-in time(ms) 30687 20685 > > > compression ratio 20.49% 16.9% > > > > These are not the only numbers to focus on, really important metrics > > are: zsmalloc pages-used and zsmalloc max-pages-used. Then we can > > calculate the pool memory usage ratio (the size of compressed data vs > > the number of pages zsmalloc pool allocated to keep them). > > To address this, we plan to collect more data and get back to you > afterwards. From my understanding, we still have an opportunity > to refine the CHAIN SIZE? Do you mean changing the value? It's configurable. > Essentially, each small object might cause some waste within the > original PAGE_SIZE. Now, with 4 * PAGE_SIZE, there could be a > single instance of waste. If we can manage the ratio, this could be > optimized? All size classes work the same and we merge size-classes with equal characteristics. So in the example above 395 13056 404 13632 size-classes #396-403 are merged with size-class #404. And #404 size-class splits zspage into 13632-byte chunks, any smaller objects (e.g. an object from size-class #396 (which can be just one byte larger than #395 objects)) takes that entire chunk and the rest of the space in the chunk is just padding. CHAIN_SIZE is how we find the optimal balance. The larger the zspage the more likely we squeeze some space for extra objects, which otherwise would have been just a waste. With large CHAIN_SIZE we also change characteristics of many size classes so we merge less classes and have more clusters. The price, on the other hand, is more physical 0-order pages per zspage, which can be painful. On all the tests I ran 8 or 10 worked best. [..] > > another option might be to just use a faster algorithm and then utilize > > post-processing (re-compression with zstd or writeback) for memory > > savings? > > The concern lies in power consumption But the power consumption concern is also in "decompress just one middle page from very large object" case, and size-classes de-fragmentation which requires moving around lots of objects in order to form more full zspage and release empty zspages. There are concerns everywhere, how many of them are measured and analyzed and either ruled out or confirmed is another question.