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 35DCDC3ABA3 for ; Fri, 2 May 2025 08:07:17 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 8BB676B008A; Fri, 2 May 2025 04:07:15 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 869CB6B008C; Fri, 2 May 2025 04:07:15 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 731146B0092; Fri, 2 May 2025 04:07:15 -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 587316B008A for ; Fri, 2 May 2025 04:07:15 -0400 (EDT) Received: from smtpin07.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 472B681215 for ; Fri, 2 May 2025 08:07:14 +0000 (UTC) X-FDA: 83397237588.07.D056A4A Received: from server4.hayhost.am (server4.hayhost.am [2.56.206.6]) by imf13.hostedemail.com (Postfix) with ESMTP id DD53A20003 for ; Fri, 2 May 2025 08:07:11 +0000 (UTC) Authentication-Results: imf13.hostedemail.com; dkim=pass header.d=beldev.am header.s=default header.b=wXbVmrS3; dmarc=pass (policy=none) header.from=beldev.am; spf=pass (imf13.hostedemail.com: domain of igor.b@beldev.am designates 2.56.206.6 as permitted sender) smtp.mailfrom=igor.b@beldev.am ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1746173232; 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=CzAe5vMF8DS129Xc2GhqJXava5yjYwD2XhZYo1+/ldA=; b=f8Xp5uS7zO08xW3EPhDnY5u8pkfWk9pGmlY1U5JS6AqaVQkibwuTDeDDxsVyTi3HLOG/yH Zmtu7DfeJa0SvZkYEe4ERiSIqtB9BTUtmYLKKmnfLlJl2f5UG14ExrOmKk4miEgF228nmc 8NgmLGnCm/aKNN1JER0lXsxyPqKI2O0= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1746173232; a=rsa-sha256; cv=none; b=8N1wDPp0X3aYJuUv23xrrXGYvqq7SOKyJLp+1ed+WCd1oq/RXLyl5KUpHcuaCzofV04s5b QEgfcgZDfMxc7LYfzalrN/dBqKHgn/XAmzVqLf1lJDLjBlZnysjhZvWQfCACjE+PLk6fno miqNT5f0OQwusUzKdd4Gjg28IrXbrZM= ARC-Authentication-Results: i=1; imf13.hostedemail.com; dkim=pass header.d=beldev.am header.s=default header.b=wXbVmrS3; dmarc=pass (policy=none) header.from=beldev.am; spf=pass (imf13.hostedemail.com: domain of igor.b@beldev.am designates 2.56.206.6 as permitted sender) smtp.mailfrom=igor.b@beldev.am DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=beldev.am; s=default; h=Content-Transfer-Encoding:Content-Type:Message-ID:References: In-Reply-To:Subject:Cc:To:From:Date:MIME-Version:Sender:Reply-To:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=CzAe5vMF8DS129Xc2GhqJXava5yjYwD2XhZYo1+/ldA=; b=wXbVmrS3cwkVGldE2bVysmhXis 0MYUB4PGq+coRIJbrSRA2r/yyfG018voOZiV7ev8rcsWV9zS0zaSKCvOpOfSx5bL1UnnrD/79MeK6 G02sIDz2oSee4RtjvXcxZoQK5qF8ZaX9dSdw4zNm2PdVJQ/gbA3wdTutKva5k5wkxla9Y7oRR4WI7 QEgSOo0uQslDIwfLqIf5ADC0xVWCaCs6msHWS388FcTui6NN9KQ8MtYY25EXZNU799SUKvjgwAz+P X+TP9FeXKd/umE3SnZGQkygfJ5XtpeA1T44whQIC0oMzmWsp3vdJ9eAG5NowFmXF+YzG1D5lbReRF PeRNsjXw==; Received: from [::1] (port=55676 helo=server4.hayhost.am) by server4.hayhost.am with esmtpa (Exim 4.98.1) (envelope-from ) id 1uAlQg-00000000AWg-0ZND; Fri, 02 May 2025 12:07:30 +0400 MIME-Version: 1.0 Date: Fri, 02 May 2025 12:07:27 +0400 From: Igor Belousov To: Vitaly Wool Cc: linux-mm@kvack.org, akpm@linux-foundation.org, linux-kernel@vger.kernel.org, Nhat Pham , Shakeel Butt , Johannes Weiner , Yosry Ahmed , Minchan Kim , Sergey Senozhatsky Subject: Re: [PATCH] mm/zblock: use vmalloc for page allocations In-Reply-To: <20250502080156.1672957-1-vitaly.wool@konsulko.se> References: <20250502080156.1672957-1-vitaly.wool@konsulko.se> User-Agent: Roundcube Webmail/1.6.9 Message-ID: X-Sender: igor.b@beldev.am Content-Type: text/plain; charset=US-ASCII; format=flowed Content-Transfer-Encoding: 7bit X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - server4.hayhost.am X-AntiAbuse: Original Domain - kvack.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - beldev.am X-Get-Message-Sender-Via: server4.hayhost.am: authenticated_id: igor.b@beldev.am X-Authenticated-Sender: server4.hayhost.am: igor.b@beldev.am X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: DD53A20003 X-Rspam-User: X-Stat-Signature: q1ji5mbbmn74bkfwdn4cto6zsghs69mr X-HE-Tag: 1746173231-840065 X-HE-Meta: U2FsdGVkX18YhIXy0c6S40osaFW/VPVoVLclxBZObvClFGPmp3qzy4iWImIyy/HgQjW05PI77tjVhvCBIgvlo4q0yzB6O1iA8cr0dsQuwYu2iwz5Whe5j4Ed+3InbCPiRaGybZVTtCH3ZDsYbivY6Aoe6waBcqtciA/YRy0XBHNDjabcuD7yj64hP2AwdnXKWusR0ajz8NzyKOsNzt25zFv8fPgJ8kXVeJd01g4KL5prXOeWMzNrvSkZuqT7UWMT2Cj23W9deXA/5xqF9q2BboHwqed3gPjw3Cv75E6LWOVpUeVBR19zb57myIaLkGKtcz4WsEBnsWdKqCAqIm3fD6nhFjBSizgWE/84FEv3k+lNtbtuxDm+0v0Jt/mLSnVZSzAG1Xm0KCH5oKuGbf6B1E4bleeaUMJ9d2w17OVr3DZjIIT/PECeP8JKhjh7QuKiTDCZVSxvyikak5+aIXhaAWGCHWYo1gPICrwyPRFHpiVFkRq1opTkzCI9Qu2dlPkuEdGPbdv8fcVc+lk4AwK1fO7t5isSUZhYmwyxImCI4S1O6dSZld3y8GdzRgiWgPFB2LW8QypfC+XpbsEFfxfEHWiCCkq6mYz1bet83VJFhUDe8RUlMPGtCFoEslTasvgdOSDKyt9u2vROz8ATf3hskJnmY6hdmnB7iPUMMXAX5DMVpVALIkmTqjWmtL1z5Y0XJLiBK8PSK/Us92kiU5VdITfv1rKeoNwSNBVh2CgAixipCvi5e5kFBkwSQAp319BEBk76+XdHVhmQJHyKq4IhKpLSrcLVWdfXXZrM/vLk+CaZFLOIXukS7k1zo0Q4wkK/H3qZTw7He853e95ncM8ZqBCDvBvZGwxEtBCJonqmyYkFtYpma2PwjV/4hRkRq/2514+W5OH7iS4RIctFf0bTH6pdm5y3WSmPJ4xnuh8P9JDQTbkFUwEhI4LUDOT+w6n0WZlSVruyMZuyP/CMWx7 af8ZUnB+ o3qZkwbXB0LM8XEWk5vJbEM8SqEKcgu9wy2kc8CfQFWcIRz9zIabJXURexhxfQrQCTMuFMLcjpZJnpct1oWrDbIGcvefdoexW3fuzXhzJMjwgLJCvvaESe6LX3He4B9zH3/0aLyHhZJuompdMSbUqe9rnRmgjJ76lKUEFfV2Kmb7aG5H656p8Iu8U9sKLpGIroKm+AsuiTWLcsdvbmvizr8V6qOXGl/BbVuZIL2VPceWoM/T9vYwyNxaKzdiZE9DmB6qe468jG0SHqsi0jnN889XyNAeDw72raSXo/rb0Q//80rQG5BhJsC2/zKnPAElwjKOTdiNYxrAkCT2t9DxzxPC9JYdCbhJpTX6xw0qBaZIldP/90Mj/+JGzR7Z89xogmglE6rmM7RHBOXPrJ52YsL4knBOaKDfc67cn 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 2025-05-02 12:01, Vitaly Wool wrote: > From: Igor Belousov > > Use vmalloc for page allocations for zblock blocks to avoid extra > pressure on the memmory subsystem with multiple higher order > allocations. > > While at it, introduce a module parameter to opportunistically > allocate pages of lower orders via try_page_alloc() for faster > allocations whenever possible. > > Since vmalloc works fine with non-power of 2 numbers of pages, > rewrite the block size tables to use that opportunity. > > Signed-off-by: Igor Belousov > Signed-off-by: Vitaly Wool > --- > > Tests run on qemu-arm64 (8 CPUs, 1.5G RAM, 4K pages): > 1. zblock > 43205.38user > 7320.53system > 2:12:04elapsed > zswpin 346127 > zswpout 1642438 > > 2. zsmalloc > 47194.61user > 7978.48system > 2:25:03elapsed > zswpin 448031 > zswpout 1810485 > > So zblock gives a nearly 10% advantage. > > Please note that zsmalloc *crashes* on 16K page tests so I couldn't > compare performance in that case. Right, and it looks like this: [ 762.499278] bug_handler+0x0/0xa8 [ 762.499433] die_kernel_fault+0x1c4/0x36c [ 762.499616] fault_from_pkey+0x0/0x98 [ 762.499784] do_translation_fault+0x3c/0x94 [ 762.499969] do_mem_abort+0x44/0x94 [ 762.500140] el1_abort+0x40/0x64 [ 762.500306] el1h_64_sync_handler+0xa4/0x120 [ 762.500502] el1h_64_sync+0x6c/0x70 [ 762.500718] __pi_memcpy_generic+0x1e4/0x22c (P) [ 762.500931] zs_zpool_obj_write+0x10/0x1c [ 762.501117] zpool_obj_write+0x18/0x24 [ 762.501305] zswap_store+0x490/0x7c4 [ 762.501474] swap_writepage+0x260/0x448 [ 762.501654] pageout+0x148/0x340 [ 762.501816] shrink_folio_list+0xa7c/0xf34 [ 762.502008] shrink_lruvec+0x6fc/0xbd0 [ 762.502189] shrink_node+0x52c/0x960 [ 762.502359] balance_pgdat+0x344/0x738 [ 762.502537] kswapd+0x210/0x37c [ 762.502691] kthread+0x12c/0x204 [ 762.502920] ret_from_fork+0x10/0x20 Thanks, Igor