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 C57F6C2BD09 for ; Sat, 6 Jul 2024 23:53:18 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id ADFD36B007B; Sat, 6 Jul 2024 19:53:17 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id A68E06B0082; Sat, 6 Jul 2024 19:53:17 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 8E2E96B0083; Sat, 6 Jul 2024 19:53:17 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id 7110F6B007B for ; Sat, 6 Jul 2024 19:53:17 -0400 (EDT) Received: from smtpin24.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 80E4DA2B2C for ; Sat, 6 Jul 2024 23:53:16 +0000 (UTC) X-FDA: 82310981592.24.6EDF9D1 Received: from mail-qv1-f43.google.com (mail-qv1-f43.google.com [209.85.219.43]) by imf07.hostedemail.com (Postfix) with ESMTP id C23D740003 for ; Sat, 6 Jul 2024 23:53:14 +0000 (UTC) Authentication-Results: imf07.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=CCbNYcRn; spf=pass (imf07.hostedemail.com: domain of nphamcs@gmail.com designates 209.85.219.43 as permitted sender) smtp.mailfrom=nphamcs@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1720309980; a=rsa-sha256; cv=none; b=lpvbLv4PQjYGSJgA4nQMNhZQ+1GTkm3zs/s1H3nNOe1PKAQ9wHDP2L4SeAF+xuPwLXmu8n EFORelPRVB4uqztkib3nSBircZMJCTjpQQUD3fdKinL4KOQTfo98bvvE3+gXebVl4sarUX KcOmZH6iJAhyQCEYJwevo9PcLm1Xb9U= ARC-Authentication-Results: i=1; imf07.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=CCbNYcRn; spf=pass (imf07.hostedemail.com: domain of nphamcs@gmail.com designates 209.85.219.43 as permitted sender) smtp.mailfrom=nphamcs@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=1720309980; 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=8MpIh0u2fu1mBQS1tGkkiaL8mpe1cnEquAjL8fJNZmI=; b=XicZIkIPQ/7imezuqd0vcduNnio8P0fONjyX9atjMkzyY8rB7YGMQCWeJpcGRMmwJGHqrU /wS+sv6jqF9Bvi/XwqnfrGkzVKG1FNQGdpEShjYfGSu3Fn8F2XkpYH657xoZ8S6ma5sfcA hPrJzRFmJLhbyZ/+UUHQrAycqDz2fnE= Received: by mail-qv1-f43.google.com with SMTP id 6a1803df08f44-6b5f3348f05so10528876d6.0 for ; Sat, 06 Jul 2024 16:53:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1720309994; x=1720914794; darn=kvack.org; 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=8MpIh0u2fu1mBQS1tGkkiaL8mpe1cnEquAjL8fJNZmI=; b=CCbNYcRn56zXWn3GT/CBpwvtPwjuQzPK2cCBGntdH6j+VG+7OwiGk5CX6Bz+5NcxsV eG3SsKgV90kIxDnQGycGQcqqxuDk4AVdC/r1KdTGOtXPlAJx5lkc97M6dZe8xqEKY4Pd jTtc7bMrjcClQFCSzievp4Lg5MamAe1xZ9FbWYWe3aES2u8YPoPlRkkHiXB/+bZqZZ8B fy7dYOJMBomgOOGs2YyTubPgr8v9MFlt+Dh1zSmmr9i3mf4v5pLMUQ/XusfT6pw0ikxl I5PGyTKZsV4/gDr1/bgoFtxoUn+4JL6+02Qjc9+p+8VGoxQsWq0vQ16NoTHrJjy0RpZs gDGg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1720309994; x=1720914794; 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=8MpIh0u2fu1mBQS1tGkkiaL8mpe1cnEquAjL8fJNZmI=; b=Blg1WCMFk6z7Nfjh9fPrHYmJ8oukFk5hZpRclQ/2bwG1rlgEZ1S5FbzXmMBNqIdGK/ rSKFVDy/3onuYy7Y6tbYzXwcUfl2nkai3s8SnPHHAFlzrxYYYbKQ6Olj/Rw9xlrUZ2SE vejEyjpkIf9AohN+7IBnQvs2B3d9GDTbxfPxc3B1MpStwZe0RhlgRm4MBbr5qnA/8wAP b2RQ7CV3psYRyakf+XeDeo5vaasl5Kuts4mTyaGWRgGYuZuSOhW2IcRI/oIgWyjFNnna /59tRlsDWmpQByOkGUu0lWAjzwDeNbXf4dQQVGhVxmbyGc/UhfbFHt3EFnp18/uTf0uN 7U1A== X-Forwarded-Encrypted: i=1; AJvYcCU4w8oItuqVF1u6BnTo+2jscIPgU0LEEYunnZCyW6rj+oNR61ANhydYG8zSwpDgpeX0ioEzn4aloxNX5uQi2UuMsyo= X-Gm-Message-State: AOJu0Yyloq/268eo4Qo0zkQUUrsLYmVY1kO63zFwk+VRvjuSbG5jRbiZ GSVoNMr0cgIppA+YaOoT+zFJr27WXLt+YZmWkm9gMYe40CkFp10FY29jtZOAJ68UwOo5QrzZf0w rvfLqUMJLoukttRs2mglDx1mV+Dk= X-Google-Smtp-Source: AGHT+IHA/MsUFqZtusJR9E/YqELzb9rz0q54Gg1DlK/3baD3u+GVRo8KAVIfXyEiJoZC+pZi8qFPsIWfsfYFlYiMhVc= X-Received: by 2002:ad4:5cc9:0:b0:6b2:da77:9a42 with SMTP id 6a1803df08f44-6b5ecfd167amr126673236d6.16.1720309993772; Sat, 06 Jul 2024 16:53:13 -0700 (PDT) MIME-Version: 1.0 References: <20240706022523.1104080-1-flintglass@gmail.com> <20240706022523.1104080-6-flintglass@gmail.com> In-Reply-To: <20240706022523.1104080-6-flintglass@gmail.com> From: Nhat Pham Date: Sat, 6 Jul 2024 16:53:02 -0700 Message-ID: Subject: Re: [PATCH v2 5/6] mm: zswap: store incompressible page as-is To: Takero Funaki Cc: Johannes Weiner , Yosry Ahmed , Chengming Zhou , Jonathan Corbet , Andrew Morton , Domenico Cerasuolo , linux-mm@kvack.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Stat-Signature: yctsoen7dgp7xqkefaum7tuqu86814qm X-Rspamd-Queue-Id: C23D740003 X-Rspam-User: X-Rspamd-Server: rspam10 X-HE-Tag: 1720309994-437894 X-HE-Meta: U2FsdGVkX1+Vaw2Y63A8E84aMPeyDqQ9B/GADxT8Bz2v9EJNRxhyywzMVUZaXyd6DNPHugOhG9wgKDQAp/3LpUV4ODfdLj8AUyFWFVSyfjexVfkQTRoRa0rxiabaP7c5ET2x5KEcQhdCGVDiRPeiXItW10UuCvzz70MgtaFcAHV2XhhCKirn30OYWd8o0+kPxc8cK1XRE8DRcTcjSsjt1IpIc+BJ9/h8u0yHhG4V/bCIzn2sPpxeGbzG0tgT0WCZaRMALp+kJNdDsBb17SboX1PWEm0pFOBqG57b8aGP6EeQGiB8ygPis0HNtR3zbkZoWuLuTqBSlxMC5xDaqC6irRvdUd6Fa7EJ6X6XPVsQKcBcDjwvfPchn+ovE7zxiGs7X1TRp2ETXjfDCL9DobcHCHfk5nM8KxzuiJYf6xz6kvugPJACExVYHJkqMP2kT7Hsto33JZDGgnjm71DrkyBOSoplqkhw57Iqh3vimk0mCrKCJnFQMuwkK/9K8NJbTWHNA5c/kHF9qwqk054bEoNbz3dVy7cvAuaBYBHDqI5gxsFFGNSV9Pfm/Vir3iZXRjNLxpeuAhFYbVVa/6tVGpDcPHVGilovRHAheeC8vQLccWPco4FzmRh1ktCIXP9eV1F/Bn78prMijUHZ/89szAKJAShaKFnPUVERtG2yS+1nslA3szLyGHaNQsHS+AEl84WEqzt8zHYQA+Ci9L5WfTia3++Ju1Op9e4+xCUZJWUAImc11JHvlW6xaV18Ixr0Og8ae67r35MCdFQFsTLgtu1UTMtCUGsvg6yff067hgc8AeY/T+s1fcUw2FrbTF8gos3JjAXF7s0ySYgeRrestjogeozBOndSyk1wk/tFoywwo5EHMmtYkTnR6vQh92cSd7d9zRnDA32IZCyKsInvWMRjfTjWvlk+D1yvmeiJxwgjtbaJ4gGimzTz8/UvS27W6UMCobjPpemvglClmVNk3/G NCMxHyTR 2nkpc055172JZBDW8S7WDL5lLbL2DCI4qBELJGyNtiCgfD5uIDlGF+MciGKP9aO/jp+JexE9q7cEQefziXwgdTJtVbk0ltjvzAfc/MmJ2icekAFlhLFCSMb+CsltnzN4svhP16nMZgt7cuMZZCEnvhlSD/HDo/jCxbp1R3jmPSudAIVVpx0W8LiTQqcR7c3LMHiDLsCbyI8XziMIKDxSnbICJfuVarfHU+Fs4ZgP+igQ98TxNlnlplrNGKWphvOLTgIxkjazgs+ZyJsoQlC/texWjLe1NIkaV4T0OlvbWnfXZL5SzvxIfekvL8Xufrvk5EcFPthy6K0/6VcY9ygE426oI8TDmZ/D1x13xOrNrJ6LVDv2t/eAh7fdqcWdz25BdtjWd X-Bogosity: Ham, tests=bogofilter, spamicity=0.000105, 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 Fri, Jul 5, 2024 at 7:25=E2=80=AFPM Takero Funaki = wrote: > > This patch allows zswap to accept incompressible pages and store them > into zpool if possible. > > This change is required to achieve zero rejection on zswap_store(). With > proper amount of proactive shrinking, swapout can be buffered by zswap > without IO latency. Storing incompressible pages may seem costly, but it > can reduce latency. A rare incompressible page in a large batch of > compressive pages can delay the entire batch during swapping. > > The memory overhead is negligible because the underlying zsmalloc > already accepts nearly incompressible pages. zsmalloc stores data close > to PAGE_SIZE to a dedicated page. Thus storing as-is saves decompression > cycles without allocation overhead. zswap itself has not rejected pages > in these cases. > > To store the page as-is, use the compressed data size field `length` in > struct `zswap_entry`. The length =3D=3D PAGE_SIZE indicates > incompressible data. > > If a zpool backend does not support allocating PAGE_SIZE (zbud), the > behavior remains unchanged. The allocation failure reported by the zpool > blocks accepting the page as before. > > Signed-off-by: Takero Funaki I tried to propose something similar in the past. Please read the following discussion: https://lore.kernel.org/all/CAJD7tka6XRyzYndRNEFZmi0Zj4DD2KnVzt=3DvMGhfF4iN= 2B4VKw@mail.gmail.com/ But, the TLDR is Yosry was (rightly) concerned that with this approach, memory reclaiming could end up increasing memory usage rather than reducing (since we do not free up the page that fail to zswap-out, and we need extra memory for the zswap metadata of that page). So my vote on this patch would be NACK, until we get around this issue somehow :)