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 D7087C36008 for ; Wed, 26 Mar 2025 07:08:00 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id C835C280060; Wed, 26 Mar 2025 03:07:59 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id C32C5280056; Wed, 26 Mar 2025 03:07:59 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id AFB7B280060; Wed, 26 Mar 2025 03:07:59 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 91A2C280056 for ; Wed, 26 Mar 2025 03:07:59 -0400 (EDT) Received: from smtpin17.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 62FD581BC5 for ; Wed, 26 Mar 2025 07:07:59 +0000 (UTC) X-FDA: 83262822678.17.D7C439D Received: from mail-pl1-f182.google.com (mail-pl1-f182.google.com [209.85.214.182]) by imf28.hostedemail.com (Postfix) with ESMTP id 819B4C000D for ; Wed, 26 Mar 2025 07:07:57 +0000 (UTC) Authentication-Results: imf28.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=4CHaXyUc; spf=pass (imf28.hostedemail.com: domain of richardycc@google.com designates 209.85.214.182 as permitted sender) smtp.mailfrom=richardycc@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1742972877; 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=MJisumMKd+kkKe315+7CndG23adICIh++toXRWniJ+o=; b=BnMVdl1sMz7RLhhVs79icefNakaScMoCIgUThogJgq7ZMLfFfij64QoQQEI83iHmj3nlZK AoqTfWLei70aisJuzdQhI+DekB9sQUuVJ1UYFoKJRF/r6nSa793kCvHksOirFaDUhDULC9 /3PQXo4l+GwHbnhmMshQn7fJoZ+KpNA= ARC-Authentication-Results: i=1; imf28.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=4CHaXyUc; spf=pass (imf28.hostedemail.com: domain of richardycc@google.com designates 209.85.214.182 as permitted sender) smtp.mailfrom=richardycc@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1742972877; a=rsa-sha256; cv=none; b=W8WdP+uYzW6WsLUah1ttQyTNoiL1tnhzXarLFCUcc/X1LaNhydT63IgKtmwc/TnnNi+8Fs nhBs60ooSxSamI55S1Dr/RaQwjS0VnjPDU5ghHuGSmCCjyi7Vxgi7I7THyUZAluIJkJdGp n+hTEFh+6EoSmioK09rwrg7snv5iHGc= Received: by mail-pl1-f182.google.com with SMTP id d9443c01a7336-2263428c8baso110765ad.1 for ; Wed, 26 Mar 2025 00:07:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1742972876; x=1743577676; 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=MJisumMKd+kkKe315+7CndG23adICIh++toXRWniJ+o=; b=4CHaXyUcYAKVOs/tZaxsOQPNmmADiU5ggSaru4EwBdRQ4+MnUv7QcsbY5Q3h+bn4Oo xRtn3AXekK4SBSgU1xOS9TlX0G9jPB8XnOdot0CQaEf7QkwWXfGazvVp1WHt3a+Dk6K4 jDHuPCoODgM7HjgKwe2dFRpH5kmkJpPxn22Q9S/D/q55Ow0LgSMUs1PHZCKTzJuKuSWA 2s5Gt7O5SYrYNirMzpxDfUzC71siZ4Hco5JwWIQp6NSM17K8BC0GkBw80uNCOh3LarmB 2vJsUn++MmqxSfHrX5PVMZJKDdSLEIMfJQNgS4FfApEKGpvx7GJDNBGOYtls4wZfkdyV DhaQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742972876; x=1743577676; 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=MJisumMKd+kkKe315+7CndG23adICIh++toXRWniJ+o=; b=dYM0QIARZK+AWKKtr3XvIj7WLnlkpvNmLx7g4vFnwhXLbhFrMXVoJh5jOJAPUo64fn 0YRs93jggTq4jt+NS2oyPcJKK+0sm0mlNrTLwF/FutRGktypgZgOwZrxx8yHXzWpRUy4 GvfiDNEM2DleDEwRwdPSaV3MMhVM4+/P4mUhlLcawuLdUaXtaa82fI7SmQ1iZxUV5BUF og4zZmnvZU/024Ey4LPgXPAyRppgtmd5zV2r58oDHewLHlj8yUqwcv9Tq3JFcq8P3EYW B4IcRVp8RE8/0BJBhv0QpQs6gTI0qIVNfrLhfgTTafhFxsN/znaCrvHSNjX02LhAmvkX V3Og== X-Forwarded-Encrypted: i=1; AJvYcCVVIhz/MBApow+hbk+w+xZbdXEMMSIWnbGknIXgTj7KPlVMhdkrRhOQPCwMd1QMX5mgYsfTIhT9RA==@kvack.org X-Gm-Message-State: AOJu0YwHvokp0I1gMUAswtsu43Xqr+TqQo8kMU0/P+kFrSD7gsGUeX4S qmYmQfzIgfRk8y7Lv9uPiNg7pbDULwlte1NdlmvHiZWJVW/lPk5andwP7ckAK14n5Zfx5EjSaC/ 0VRxIxLGBOaJYugfSUaG5CltdxIJiR94uFVM= X-Gm-Gg: ASbGncsmMwmz0BeuJLh+ZZW2zeGmASMLA/4vQqIj6GLEy1NaplvQowYvjGpaktWsSmR 7O82S1kfTaCjwbiH6ooKyHw3JZOJpzqeCCILvCytRs61A+gjXIIKbVAYrS/jcmY4Tr5Vgw9FjT/ qp8/azCewkvxBV+QWd8Xo8foo9lGZIuse3Y43SybJBD4WKcsX3wg11Ias= X-Google-Smtp-Source: AGHT+IHFuBdQbnSm1QY+8RaydACf/B8hSWUfGR8m1pnm1w1E620d/hVwUiqnuYBiH3d3U88jpcFUcVep41JzI4Ngvwc= X-Received: by 2002:a17:903:2341:b0:223:7f8f:439b with SMTP id d9443c01a7336-227f444238bmr1210395ad.29.1742972875832; Wed, 26 Mar 2025 00:07:55 -0700 (PDT) MIME-Version: 1.0 References: <20250325034210.3337080-1-senozhatsky@chromium.org> <5l4pjqlgu4afndn3ysa7ynecjmvepkfjlh56ycm5jt5e4mioqm@dujakwaomhlk> In-Reply-To: <5l4pjqlgu4afndn3ysa7ynecjmvepkfjlh56ycm5jt5e4mioqm@dujakwaomhlk> From: Richard Chang Date: Wed, 26 Mar 2025 15:07:43 +0800 X-Gm-Features: AQ5f1JodS1gUsAqWkoTHUMKUb6CqHtXBCYvEl3pJo7gIT-Ni-JuVJFo-mS9ERvY Message-ID: Subject: Re: [PATCH] zram: modernize writeback interface To: Sergey Senozhatsky Cc: Minchan Kim , Andrew Morton , Brian Geffon , linux-mm@kvack.org, linux-kernel@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Queue-Id: 819B4C000D X-Rspam-User: X-Rspamd-Server: rspam02 X-Stat-Signature: 4q5pkdkxepexaupdfq7m59hwcmqy16cs X-HE-Tag: 1742972877-320392 X-HE-Meta: U2FsdGVkX1/6UKz7ojIsCfJohMmrEFkua4UOFbgEbcOaGLbRyk5b9Y6/nW2aFWlNEPHHuSRCLxmdyyOurcHtWcGs0NySvy2HFeN5y9C1RWyiVtGeWHFeqnEkIEIWUV7rYVvLZJQZnBBIp/9rvDoYCu/gqMKYOejmgavVNa06RNdFEgd+eW8xVhcMdu6YKgkuAdsJppiUTNM8l4t6S7uYu3BEQrpxKomeEnsHReNl2/pvpnHhSGOMhWxihw/LQsr7cXjXm/LF5/MyFgBurBSDQZu2oyM9VgWM6ggXEi3IpjYrOeN8DrK87ewGGWq4LZmgrSOLaNr/hQF1FLr4kYeklQq/kOvV4/1muQ0H4AcKn1ZVR8Sv9FBQjDFYJ3psZfToOhQrT2U3G0Ynf/Deh3fE0Jr2SEPpDYO5VzRCnJj7+5LO3d82FRItOqLkiK6DThcXSrfp9r0pI4pbuyacxzK59XWPrqrJVIauKRp/BeLJLMIHx4U/vtVlJt3PRCOK5Dc2YvJAtNK9Z3x+AFqdIWyP5s4V33NQQpq5EKfQLqqpvHG8O65TriQW7X8aMyDSIVfydGbAAzjm76AfkDjtpbMWkmkEefZgkp/1k0vZ4QTNHFYCqmliQHmlI4udOTat8mmgjDEn6LtIye9Twlq1sSHsn8xH+iB+wisY8F5JFIzhJXeEjfwfMAgND1pKetcBDpyWbNaB/VXOBCPnI3qgbViH+SWKRhLs2gB5ep2nmOoAVYjzDpoO+HB5tJcOCAU51vTmW/OHCCz5ytEMD0Fy/i1BcFHadBYb1JdKXhebGQDL5gIChq0Gmw8JwJwaoMM3PFZacBED053N6Y55Yt2DIbamXz1GPX1NUtEfImblbQPlsNeGU1U717BkcasBR8h/KCVc8LgXHXBUH5DjFlme83ttxopUB39i4dT8Uqmjp5+7n+t4i+XyHWpGD8N4P+5y/DIRmsFxmyJmN+GuL+66zTn sbYqlN0J ZzJ13WeUtzKjvjli1Hl4C6cGwqXRXtXUQiUj+E88LN+x8EsWJbUtHM/JLZvfs2Ei4nIShPHzxFDIE7ECW/f2qZVPNTDfC1p2xX2Flha1UKw5UfYtw1usvfNOPUt+GLkYibamvGJaqZDETurDqbB2E30jaly9qr/P4Ki8vKBbZrkZ+cUSDhfSgjQeGYkFBYaBrDa6tnuIGNHuIaVmaP67dFdI2Zw== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000001, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: Hi Sergey, On Wed, Mar 26, 2025 at 12:16=E2=80=AFPM Sergey Senozhatsky wrote: > > Hi, > > On (25/03/26 12:03), Richard Chang wrote: > > Hi Sergey, > > Since the input buffer length is only PAGE_SIZE long, can we reduce > > the duplicated "page_index_range=3D" strings? > > Eg: > > Turn > > echo page_index_range=3D100-200 \ > > page_index_range=3D500-700 > zram0/writeback > > To: > > echo page_index_range=3D100-200,500-700 > zram0/writeback > > Do you expect to ever have so many ranges that PAGE_SIZE buffer > would be too small? I didn't want to put a list parser into > the kernel, I wanted to keep arguments parsing as simple as > possible. But if you really need to writeback that many pages > then I guess I can implement it as a list of ranges. > > Alternatively: > We don't necessarily need to use page_index_range key, which is a > little long, but can use page_indices=3D/page_indexes=3D or just pages=3D= ? I am just counting how many pages we could writeback per syscall. In a worst case, page_index_range with several two-adjacent indices: Assume PAGE_SIZE is 4k and index range is around 10000, page_index_range allows 272 pages per syscall: page_index_range=3D10000-10001 page_index_range=3D10003-10004... List_range allows 678 pages per syscall: page_index_range=3D10000-10001,10003-10004... page_indices allows 314 pages per syscall: page_indices=3D10000-10001 page_indices=3D10003-10004... It's the worst case so the actual world might not be that bad. Another alternative thought, how about page_index supporting both single instance and ranges? The key is shorter and the parser is relatively simpler. Eg: page_index=3D500 page_index=3D10000-10001