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 EF416C67861 for ; Wed, 10 Apr 2024 02:31:21 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 84EC56B007B; Tue, 9 Apr 2024 22:31:21 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 7FE986B008C; Tue, 9 Apr 2024 22:31:21 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 6C7776B0092; Tue, 9 Apr 2024 22:31:21 -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 4E9CF6B007B for ; Tue, 9 Apr 2024 22:31:21 -0400 (EDT) Received: from smtpin06.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 0FBC0A0F30 for ; Wed, 10 Apr 2024 02:31:21 +0000 (UTC) X-FDA: 81992045562.06.94BDAC0 Received: from out-186.mta1.migadu.com (out-186.mta1.migadu.com [95.215.58.186]) by imf12.hostedemail.com (Postfix) with ESMTP id 69FF14000F for ; Wed, 10 Apr 2024 02:31:13 +0000 (UTC) Authentication-Results: imf12.hostedemail.com; dkim=pass header.d=linux.dev header.s=key1 header.b=t1NH+D0G; spf=pass (imf12.hostedemail.com: domain of chengming.zhou@linux.dev designates 95.215.58.186 as permitted sender) smtp.mailfrom=chengming.zhou@linux.dev; dmarc=pass (policy=none) header.from=linux.dev ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1712716273; 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=ZXsqbKt2Eq9TaCWXeOVJD5QoPofr+kcc4LPka5x/Pxk=; b=lgiPs6oHZRHdgJqnysmE1nXfQEfLqYeNg/fxHcoOgV/0Z7fYc2zFrRHeTqL+qy0Re7ePyo nfwccUsiigJH3vd/AbrP2psigiyPAnbwHQ4YzlLpL3xLCzqZXfby6R5UJsQn5Kbv+cDvLQ TK4+05AFxccfIWeaHiKswROaBx5w1F4= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1712716273; a=rsa-sha256; cv=none; b=sffNVHrg95gNVybkA8ndxPyVV39ibzjE4j7uHEXbG6QUz9E87VCxbk2Sv0RygFxl2u1HSW I/AIcOHhnQhAY/W5/xhspyPWUXn4IixARqUPK2djTDBYu7uCnjlOzOJpWv5dKZGh7IJ/iV 43ZFD/V5GTF1sAyLa3SSoeZMxnBq63A= ARC-Authentication-Results: i=1; imf12.hostedemail.com; dkim=pass header.d=linux.dev header.s=key1 header.b=t1NH+D0G; spf=pass (imf12.hostedemail.com: domain of chengming.zhou@linux.dev designates 95.215.58.186 as permitted sender) smtp.mailfrom=chengming.zhou@linux.dev; dmarc=pass (policy=none) header.from=linux.dev Message-ID: DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1712716271; h=from:from: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; bh=ZXsqbKt2Eq9TaCWXeOVJD5QoPofr+kcc4LPka5x/Pxk=; b=t1NH+D0Gpi+dF65xdmLCN/lM3ADPR+TwbKusm6AxJCdStLdRsbsZ+M8IztThDKjDbOdJ9q 0lcEVapmhLw5QOL416m/q4+eLpV77miJrYuRHj/oIJ4mfyUjODcMXd9q1tKFKwlpzyXmUq Go569l/w9giiIBa5QIYvW2ZnAw3KDLQ= Date: Wed, 10 Apr 2024 10:31:04 +0800 MIME-Version: 1.0 Subject: Re: [PATCH v2 5/5] mm: zswap: remove same_filled module params Content-Language: en-US To: Yosry Ahmed , Andrew Morton Cc: Johannes Weiner , Nhat Pham , linux-mm@kvack.org, linux-kernel@vger.kernel.org References: <20240405053510.1948982-1-yosryahmed@google.com> <20240405053510.1948982-6-yosryahmed@google.com> X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. From: Chengming Zhou In-Reply-To: <20240405053510.1948982-6-yosryahmed@google.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Migadu-Flow: FLOW_OUT X-Rspamd-Queue-Id: 69FF14000F X-Rspam-User: X-Stat-Signature: xiufaeg48k3yfzahpektk4z6q6bu8nf6 X-Rspamd-Server: rspam03 X-HE-Tag: 1712716273-296151 X-HE-Meta: U2FsdGVkX18RqbP0BKONSUdkjF4xzubsGEKP1rJSjuo3Ji5RjxEKdChTSCEC1HtHRB4cbusjP91jd2k4a8ymKwwIATA6FGHHfNekjv2HD5c318i7gR3eLzb8oEh2ZqGiamsbH8Y8Cn4jAaNGc+Z/o/w17zoRIAWhMu7Evx6qeXoPdQE2D6nFapEURG9JgoZi7RPKW0eOJ4V83OcnjCMJdTTvrEhthBd1rSkkWYAPV7esCTSjq1+kkwRvNdyx0ctcPBDsAc4w/9OAvRkn7zGWNOc4fJmqIg3YY5TZNX5zDAASaZ5518vGY8ZxOb/JmkVm0Mpg8TucaZy+97zG0rX/0iLWvAa6LBCzW1f5jTm8WeNok/PUKRfXfRN9fhEe+GKzQrXmPSfemqT234VjuDrSkXP4VkSk/HdCGlfUUwB5WYxZmIJH6gv1nGxDsWhw5jaJX4hMsuuv8b/XTWgeGLcb8xWqGC8SRaKprZF1lYhI9QVhimRHQza/sQ+dwTKQXaNSVC1kcU0z1rsBN6rtXlFWxpWapa5OlmiSrn8NUvtM4VteZ/HaHXl+VqUWWEwno8ozj4CNhRd8quZLdOvJ83FPJYFujjxEEVHrLyiGwe5tAH6UZ/hfQXKPZkIlkgaIwax5a97z+izJU/R3Njjn04jad6dErp/eb9f/PL2Qbq8oG3mw/sMVdo7rKzhTWWHaYu8mrFScIYR6HQDi4ENAWaN7zObDOVKvjqRn1/629i5QR/Z/WsGTmXb6UhHqsoZzfo6w1wmn8i5fweVP3mqqD8FhAfdl7xc9lJJwfDOLVjkbPldICsIYnfFJ96VacMvRXhNljsqCPvY7+aZpNcXVTnzVReYCS7Z0hfmM6aaXzi6h8OkzdSFUcLMos47TqezzpbfhvUHKkPykj0R3a7h/RGCDr1gUU9Ol4mIh5gwqspSRnw2OzAoeZMXMmdISxGIvyYxSbhEAePt0UpAThlt+5Qj 3OqFHmx2 hXvyhdl4ExMF/9/Su/XYudHSTaOK0U9jzbWz7jq3g7WK3FtBkSd5NmNZKdDHnS3Lf0ONE7fuC1j0w+lPQblrNHXOqp28thE4VaEf2m8L+S1A2fVV4b5yAz/DlzebWS77n2NYAKpS+8vhByGou6+Lv0ZgtaGOhxIeyPSq6esU/a1lutxSi9KPRa6EkVWPlS0sRCEezpwSaQUAslB1t+z45MYXr3jWZG72vuZ6LsAD283v3YC5u1sz6XSIOXqWyJz2PsQreL759PWtK0bvpTa34rqQ9hyRZ93YxWNNNLTmRIwEclJ4= 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 2024/4/5 13:35, Yosry Ahmed wrote: > These knobs offer more fine-grained control to userspace than needed and > directly expose/influence kernel implementation; remove them. > > For disabling same_filled handling, there is no logical reason to refuse > storing same-filled pages more efficiently and opt for compression. > Scanning pages for patterns may be an argument, but the page contents > will be read into the CPU cache anyway during compression. Also, > removing the same_filled handling code does not move the needle > significantly in terms of performance anyway [1]. > > For disabling non_same_filled handling, it was added when the compressed > pages in zswap were not being properly charged to memcgs, as workloads > could escape the accounting with compression [2]. This is no longer the > case after commit f4840ccfca25 ("zswap: memcg accounting"), and using > zswap without compression does not make much sense. > > [1]https://lore.kernel.org/lkml/CAJD7tkaySFP2hBQw4pnZHJJwe3bMdjJ1t9VC2VJd=khn1_TXvA@mail.gmail.com/ > [2]https://lore.kernel.org/lkml/19d5cdee-2868-41bd-83d5-6da75d72e940@maciej.szmigiero.name/ > > Signed-off-by: Yosry Ahmed > Acked-by: Johannes Weiner Nice cleanup! Reviewed-by: Chengming Zhou Thanks. > --- > mm/zswap.c | 19 ------------------- > 1 file changed, 19 deletions(-) > > diff --git a/mm/zswap.c b/mm/zswap.c > index 13869d18c13bd..b738435215218 100644 > --- a/mm/zswap.c > +++ b/mm/zswap.c > @@ -140,19 +140,6 @@ static const struct kernel_param_ops zswap_accept_thr_param_ops = { > module_param_cb(accept_threshold_percent, &zswap_accept_thr_param_ops, > &zswap_accept_thr_percent, 0644); > > -/* > - * Enable/disable handling same-value filled pages (enabled by default). > - * If disabled every page is considered non-same-value filled. > - */ > -static bool zswap_same_filled_pages_enabled = true; > -module_param_named(same_filled_pages_enabled, zswap_same_filled_pages_enabled, > - bool, 0644); > - > -/* Enable/disable handling non-same-value filled pages (enabled by default) */ > -static bool zswap_non_same_filled_pages_enabled = true; > -module_param_named(non_same_filled_pages_enabled, zswap_non_same_filled_pages_enabled, > - bool, 0644); > - > /* Number of zpools in zswap_pool (empirically determined for scalability) */ > #define ZSWAP_NR_ZPOOLS 32 > > @@ -1421,9 +1408,6 @@ static bool zswap_is_folio_same_filled(struct folio *folio, unsigned long *value > unsigned int pos, last_pos = PAGE_SIZE / sizeof(*page) - 1; > bool ret = false; > > - if (!zswap_same_filled_pages_enabled) > - return false; > - > page = kmap_local_folio(folio, 0); > val = page[0]; > > @@ -1512,9 +1496,6 @@ bool zswap_store(struct folio *folio) > goto store_entry; > } > > - if (!zswap_non_same_filled_pages_enabled) > - goto freepage; > - > /* if entry is successfully added, it keeps the reference */ > entry->pool = zswap_pool_current_get(); > if (!entry->pool)