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 5AB02C5475B for ; Tue, 12 Mar 2024 02:36:42 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id DFBA48D0012; Mon, 11 Mar 2024 22:36:41 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id DACB18D000D; Mon, 11 Mar 2024 22:36:41 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id C4BF48D0012; Mon, 11 Mar 2024 22:36:41 -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 B439D8D000D for ; Mon, 11 Mar 2024 22:36:41 -0400 (EDT) Received: from smtpin25.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 92E9FC032D for ; Tue, 12 Mar 2024 02:36:41 +0000 (UTC) X-FDA: 81886823802.25.714BAEB Received: from mail-qt1-f181.google.com (mail-qt1-f181.google.com [209.85.160.181]) by imf14.hostedemail.com (Postfix) with ESMTP id D8BF9100006 for ; Tue, 12 Mar 2024 02:36:39 +0000 (UTC) Authentication-Results: imf14.hostedemail.com; dkim=pass header.d=cmpxchg-org.20230601.gappssmtp.com header.s=20230601 header.b=tvnxlUTZ; dmarc=pass (policy=none) header.from=cmpxchg.org; spf=pass (imf14.hostedemail.com: domain of hannes@cmpxchg.org designates 209.85.160.181 as permitted sender) smtp.mailfrom=hannes@cmpxchg.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1710210999; 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=K01nQ8DIaiGmIiyDCqQC8SVy7y5ZZ+8vaXt2Ag8RG2Y=; b=aohuVwCNYPN9qKH/6KcHwbB1u8PanZhNO8+LzH/fr5NJ2NnjTzkexqbwr5aLiOemUKiea7 XPC8LglTZJOF38ePfF/+jUnF9HXN4LmBjbPF69z7v6uadWEovwarzybnpatch1UszwxuMm Ur3wHOcZkeQ8J04lGYGeTqnWeZMubOA= ARC-Authentication-Results: i=1; imf14.hostedemail.com; dkim=pass header.d=cmpxchg-org.20230601.gappssmtp.com header.s=20230601 header.b=tvnxlUTZ; dmarc=pass (policy=none) header.from=cmpxchg.org; spf=pass (imf14.hostedemail.com: domain of hannes@cmpxchg.org designates 209.85.160.181 as permitted sender) smtp.mailfrom=hannes@cmpxchg.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1710210999; a=rsa-sha256; cv=none; b=elVhoMzPkKmSaP/XuzS3xt1sr9/VzYdgPciVJcNjDHGvPEe488CJh4X0ArW1g5WCYz+oNX 3Fq02abjCyS1es9uAKppDCWXv82mQlyxPNKWSHK33QL7xbPsLi8qI2OJVB1O6VT+TFS6rz 3FgZuXmZogUnk2H5IyTU5pVoOWAxIMA= Received: by mail-qt1-f181.google.com with SMTP id d75a77b69052e-42f0df98361so22290171cf.0 for ; Mon, 11 Mar 2024 19:36:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cmpxchg-org.20230601.gappssmtp.com; s=20230601; t=1710210999; x=1710815799; 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=K01nQ8DIaiGmIiyDCqQC8SVy7y5ZZ+8vaXt2Ag8RG2Y=; b=tvnxlUTZHMtrhdmAV6My2PMy849U2dgOd3eqxyYQuxAjeHl+ffyb2/OKsM9XSIG8De zG1/X6dymRcxqG76s7Q2AtIxtMgGMnVJo1ROqN2Tj5L2HJ0dRez5hOTk5+FMCwaQ7DIs dFElSYCDL9fLsIv6rvry87hSoBAMmaz+Q1SN5nLtYPi1FVlk+JxH6BF5daig1eMa7eLU BoLMHMeZxAirySTdup/elhoLyraozCJaFXYgNEaebCYMn2t46MqH33Xir/BQ6PhtC3aN /aNkQc5cJ6eNxCkQnhrn7OytMfjEovS7wQybvbe7wvXMuGves2tvE+Y0JenOT8xXga2J 1jFQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1710210999; x=1710815799; 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=K01nQ8DIaiGmIiyDCqQC8SVy7y5ZZ+8vaXt2Ag8RG2Y=; b=rZ0r83Xuf4H7NuPmu6IXd39A4XCQIdFYnOn2AoblKm4QEEhORsh5NvAJi7GAmI6x5G ql+d+og6fNhYuog6RArHruRjv2VCDcQLht4S+8BMg7YiqoeqsZ8h7+liWcuh52tAQkHY q+zdxGuotb3jBVcZkvzXBpvdyXECJGOH8wveGUEdCDLocryT+DI1y0Ts5Er43wX44++1 dfUcLL5kGLkp1hS8JA59eSvprfyS932fwF+pxVfw75a491bb7pYLZwTxUyHovh6M1QqF awwJaz/4vhq5En+4JMLu7290tJDedK5E2VabUlenfhThlUvtvZxf78ExxNGLBzL+burm f9lg== X-Forwarded-Encrypted: i=1; AJvYcCXryshy9PdgairtFKRMfYoOpptpEYq3U9ZgGtcM3Wb1qvVZaz1NHeaw2C+F4d0DIDuk8EL0LrclogXYlKCyiaHH2Ks= X-Gm-Message-State: AOJu0Yx7+sF+70zCmuoL5SjpHm0wucIbozZ/vsddg/bkgPXeJHtHZiyM qbPxkQFHUefRF/YJk6J+s1G389EeVa7HdiIrUNlqLZM6bDX0AZMuXPlomq3cai4u1/EOC4KZX+C q X-Google-Smtp-Source: AGHT+IEpsc3fV9NXOfuMsUXLPJ2BERGjxUodmtZHiuVJtpKYsGq1lBjaWLpfsfpPJ0y1Cqv4EKfsiw== X-Received: by 2002:ac8:5f0b:0:b0:42e:8cc9:84de with SMTP id x11-20020ac85f0b000000b0042e8cc984demr10885874qta.62.1710210998891; Mon, 11 Mar 2024 19:36:38 -0700 (PDT) Received: from localhost (2603-7000-0c01-2716-da5e-d3ff-fee7-26e7.res6.spectrum.com. [2603:7000:c01:2716:da5e:d3ff:fee7:26e7]) by smtp.gmail.com with ESMTPSA id jr18-20020a05622a801200b0042f01e612bbsm3294324qtb.37.2024.03.11.19.36.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 11 Mar 2024 19:36:38 -0700 (PDT) Date: Mon, 11 Mar 2024 22:36:37 -0400 From: Johannes Weiner To: Yosry Ahmed Cc: Andrew Morton , Nhat Pham , Chengming Zhou , linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH 2/2] mm: zpool: return pool size in pages Message-ID: <20240312023637.GB22705@cmpxchg.org> References: <20240311161214.1145168-1-hannes@cmpxchg.org> <20240311161214.1145168-2-hannes@cmpxchg.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Rspamd-Queue-Id: D8BF9100006 X-Rspam-User: X-Rspamd-Server: rspam05 X-Stat-Signature: rsddo6nznuschub7rtaribnsqk1phibu X-HE-Tag: 1710210999-587167 X-HE-Meta: U2FsdGVkX1/RrIMPOs6CGsdWd4gljQuUQp827g7ccWRx9etsP6i0ydqGd6gAfEdTlqNQIqvcWukw9EzGBfSJWSCOaa29j1YmdDHCtT7HvcfFJ1W9JLK0VS573bunNaFLzVa0Wvu4qI8K6Xni+Mp3z6YESVIy6ALWqMz1dMEcoJR6nQgyOcTnHylOrYlRv1tuW4fF8vNHrmCb/knIhO2v+A4aNMiVjSW3w78hq23r+tF6iybgY0IrzRHW/3du2j4YlnaccBlMDD4XYlfzh8CiIMN55kX3mynzc8hPUnJ8WCNSMPoE4cwf6x2IVsYvDASDmp3GerO6a7tf69whPsn8FpYtTXsuBM/dtTDwcl2Yn0/WoXeBDGcWNQR61AttT4xfG+gl8FJn3w1MUjsx9RyWZjo3GXgJUBEsbpAvi/46twJbuF1GYZ9pxTnF3j2mA/CLZ9PsgcejvtN19/EU3G0efVgMx+1N3NzI0ONouHFSR3dSXFlwvJvIQPiSff+N3LzDiqDe3oggvsxoYkcOJSDZQq39iAnO588mJSsKbfGS17HIWrZYGyt7X25Md2AMXSsta0a9fFLotLVBfzTzW+xV5NjghPZP6sG5itKg6BDURUXGyo2NkpribKWsArVI8h/qhTlP2/SdGFSspMUFnBEOJo6b6Y3bdcgd+e/vGg+UDS5l5FMvXUAKM1QIN46CMAsmyFrW9z325cvtXA5KSjr+Rw4YOlX+YlXDae2CJLYmcBfOryILIfieVGo+wkiPC+/QqCKHhh8gHV/c8Nuv7zd4a5cYu/Hi+TXwjrIoeFW9MPNofBumUc0+T+hUNh4T1qRkvUopLvIl9rHrekIzecLx+qv3CHv1JnUL4EGoWU5TDVS8FrfT24LFgmMH9e00EH3Q1+d0b530K7khOiuw/xjXiLBe57Qq4a7SNNUdLrtKT6GGQsRKQm/SlPsItZIT1paeVMOdB+SHTR829J/K5QK Su1UhnXe D9hlkjd4KTpgX52PGWCr9nY6nceY078uxVijEA4B6Kk9FNzZLZ/FG6s1srNtdTzWIbi4cw6Fgl3IC6ropCYW/XbXX2LYWVgEwbcVhaKdqhA+BaAU7HlkmzMJ6205izKSEwisJT8KTEItM3DQ= 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 Mon, Mar 11, 2024 at 10:12:02PM +0000, Yosry Ahmed wrote: > On Mon, Mar 11, 2024 at 12:12:14PM -0400, Johannes Weiner wrote: > > All zswap backends track their pool sizes in pages. Currently they > > multiply by PAGE_SIZE for zswap, only for zswap to divide again in > > order to do limit math. Report pages directly. > > Nice. Although I would prefer renaming the zpool interface to > total_pages and renaming the zpool backends functions as well to use > pages rather than size. Ha, I was on the fence, since it's kind of churny. But if you don't mind, then it works for me as well. > Either way: > Acked-by: Yosry Ahmed Thanks. diff --git a/include/linux/zpool.h b/include/linux/zpool.h index 3296438eec06..a67d62b79698 100644 --- a/include/linux/zpool.h +++ b/include/linux/zpool.h @@ -53,7 +53,7 @@ void *zpool_map_handle(struct zpool *pool, unsigned long handle, void zpool_unmap_handle(struct zpool *pool, unsigned long handle); -u64 zpool_get_total_size(struct zpool *pool); +u64 zpool_get_total_pages(struct zpool *pool); /** @@ -91,7 +91,7 @@ struct zpool_driver { enum zpool_mapmode mm); void (*unmap)(void *pool, unsigned long handle); - u64 (*total_size)(void *pool); + u64 (*total_pages)(void *pool); }; void zpool_register_driver(struct zpool_driver *driver); diff --git a/mm/z3fold.c b/mm/z3fold.c index 9bacacd4168c..2ebfed32871b 100644 --- a/mm/z3fold.c +++ b/mm/z3fold.c @@ -1237,12 +1237,12 @@ static void z3fold_unmap(struct z3fold_pool *pool, unsigned long handle) } /** - * z3fold_get_pool_size() - gets the z3fold pool size in pages + * z3fold_get_pool_pages() - gets the z3fold pool size in pages * @pool: pool whose size is being queried * * Returns: size in pages of the given pool. */ -static u64 z3fold_get_pool_size(struct z3fold_pool *pool) +static u64 z3fold_get_pool_pages(struct z3fold_pool *pool) { return atomic64_read(&pool->pages_nr); } @@ -1402,9 +1402,9 @@ static void z3fold_zpool_unmap(void *pool, unsigned long handle) z3fold_unmap(pool, handle); } -static u64 z3fold_zpool_total_size(void *pool) +static u64 z3fold_zpool_total_pages(void *pool) { - return z3fold_get_pool_size(pool); + return z3fold_get_pool_pages(pool); } static struct zpool_driver z3fold_zpool_driver = { @@ -1417,7 +1417,7 @@ static struct zpool_driver z3fold_zpool_driver = { .free = z3fold_zpool_free, .map = z3fold_zpool_map, .unmap = z3fold_zpool_unmap, - .total_size = z3fold_zpool_total_size, + .total_pages = z3fold_zpool_total_pages, }; MODULE_ALIAS("zpool-z3fold"); diff --git a/mm/zbud.c b/mm/zbud.c index b7d8a22bbf5f..e9836fff9438 100644 --- a/mm/zbud.c +++ b/mm/zbud.c @@ -365,13 +365,13 @@ static void zbud_unmap(struct zbud_pool *pool, unsigned long handle) } /** - * zbud_get_pool_size() - gets the zbud pool size in pages + * zbud_get_pool_pages() - gets the zbud pool size in pages * @pool: pool whose size is being queried * * Returns: size in pages of the given pool. The pool lock need not be * taken to access pages_nr. */ -static u64 zbud_get_pool_size(struct zbud_pool *pool) +static u64 zbud_get_pool_pages(struct zbud_pool *pool) { return pool->pages_nr; } @@ -410,9 +410,9 @@ static void zbud_zpool_unmap(void *pool, unsigned long handle) zbud_unmap(pool, handle); } -static u64 zbud_zpool_total_size(void *pool) +static u64 zbud_zpool_total_pages(void *pool) { - return zbud_get_pool_size(pool); + return zbud_get_pool_pages(pool); } static struct zpool_driver zbud_zpool_driver = { @@ -425,7 +425,7 @@ static struct zpool_driver zbud_zpool_driver = { .free = zbud_zpool_free, .map = zbud_zpool_map, .unmap = zbud_zpool_unmap, - .total_size = zbud_zpool_total_size, + .total_pages = zbud_zpool_total_pages, }; MODULE_ALIAS("zpool-zbud"); diff --git a/mm/zpool.c b/mm/zpool.c index 410808aee7fe..b9fda1fa857d 100644 --- a/mm/zpool.c +++ b/mm/zpool.c @@ -321,16 +321,16 @@ void zpool_unmap_handle(struct zpool *zpool, unsigned long handle) } /** - * zpool_get_total_size() - The total size of the pool + * zpool_get_total_pages() - The total size of the pool * @zpool: The zpool to check * * This returns the total size in pages of the pool. * * Returns: Total size of the zpool in pages. */ -u64 zpool_get_total_size(struct zpool *zpool) +u64 zpool_get_total_pages(struct zpool *zpool) { - return zpool->driver->total_size(zpool->pool); + return zpool->driver->total_pages(zpool->pool); } /** diff --git a/mm/zsmalloc.c b/mm/zsmalloc.c index 398f3856817f..b42d3545ca85 100644 --- a/mm/zsmalloc.c +++ b/mm/zsmalloc.c @@ -399,7 +399,7 @@ static void zs_zpool_unmap(void *pool, unsigned long handle) zs_unmap_object(pool, handle); } -static u64 zs_zpool_total_size(void *pool) +static u64 zs_zpool_total_pages(void *pool) { return zs_get_total_pages(pool); } @@ -414,7 +414,7 @@ static struct zpool_driver zs_zpool_driver = { .free = zs_zpool_free, .map = zs_zpool_map, .unmap = zs_zpool_unmap, - .total_size = zs_zpool_total_size, + .total_pages = zs_zpool_total_pages, }; MODULE_ALIAS("zpool-zsmalloc"); diff --git a/mm/zswap.c b/mm/zswap.c index 7ed79caf1e1e..9fdf4c76d5ea 100644 --- a/mm/zswap.c +++ b/mm/zswap.c @@ -519,7 +519,7 @@ unsigned long zswap_total_pages(void) int i; for (i = 0; i < ZSWAP_NR_ZPOOLS; i++) - total += zpool_get_total_size(pool->zpools[i]); + total += zpool_get_total_pages(pool->zpools[i]); } rcu_read_unlock();