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 67F24C3ABB0 for ; Mon, 5 May 2025 14:08:23 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 2AEE16B008A; Mon, 5 May 2025 10:08:21 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 25CA06B008C; Mon, 5 May 2025 10:08:21 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 1261B6B0092; Mon, 5 May 2025 10:08:21 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id E9AAA6B008A for ; Mon, 5 May 2025 10:08:20 -0400 (EDT) Received: from smtpin16.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 4EDCD80754 for ; Mon, 5 May 2025 14:08:22 +0000 (UTC) X-FDA: 83409034044.16.6D862B5 Received: from mail-qk1-f171.google.com (mail-qk1-f171.google.com [209.85.222.171]) by imf16.hostedemail.com (Postfix) with ESMTP id 0D87B180011 for ; Mon, 5 May 2025 14:08:19 +0000 (UTC) Authentication-Results: imf16.hostedemail.com; dkim=pass header.d=cmpxchg-org.20230601.gappssmtp.com header.s=20230601 header.b="rO/iXef8"; dmarc=pass (policy=none) header.from=cmpxchg.org; spf=pass (imf16.hostedemail.com: domain of hannes@cmpxchg.org designates 209.85.222.171 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=1746454100; 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=bnGazODhLi7rd2UydKCGPq4ZtmoQ/tiR6adwupAH7Gc=; b=4OlJR1sLIar5MZxrsWvejfVvJuwd8lzMidB2AFaxeCWHoc0izyDwxXescQJ6owsKkOkH+y q0djmVuVpbTyPQPsPfDPYBqy3KxPt7nQOjCWxt8/rrYQSk5lmeF1Qv1WTyg0Y8y9RhzVnN Qe30r+maFaAXyFZGNTNOVDrm+l6ZBVI= ARC-Authentication-Results: i=1; imf16.hostedemail.com; dkim=pass header.d=cmpxchg-org.20230601.gappssmtp.com header.s=20230601 header.b="rO/iXef8"; dmarc=pass (policy=none) header.from=cmpxchg.org; spf=pass (imf16.hostedemail.com: domain of hannes@cmpxchg.org designates 209.85.222.171 as permitted sender) smtp.mailfrom=hannes@cmpxchg.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1746454100; a=rsa-sha256; cv=none; b=jwf3qqtiONy2DOO497DsDxJ5BxYES6FzAYsdcOWjr0BnLIlRuOKONZiDGuLGWzWrwuUEdr LzT+Wx+6ejLpxXq/xcwH7wdokNmreFR+fzXyXRUULoS9MFDdnk61chceROQfA+QyqLuTQf CYPDlpmHZNB/aTFt/Xc7JMrpdFun7QI= Received: by mail-qk1-f171.google.com with SMTP id af79cd13be357-7c542ffec37so545952485a.2 for ; Mon, 05 May 2025 07:08:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cmpxchg-org.20230601.gappssmtp.com; s=20230601; t=1746454099; x=1747058899; darn=kvack.org; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date:from:to :cc:subject:date:message-id:reply-to; bh=bnGazODhLi7rd2UydKCGPq4ZtmoQ/tiR6adwupAH7Gc=; b=rO/iXef8kz/VO/ZUT6w2Bzwm+1dsxIyM3g/UcpvcDoC2xRlTGvVEANLn7Qcx9oC5Cq 2buF8Ed3wP5bkufyL3isb5p9upQzdkyUivZZTG4IIkOiQmVEYnmXRmGwVa+9suKoss7G g9CeeAy3SVVw+3u9igXex90PyPCLusnqdZuqQLg73SEMWlZPQPwhMn+SklIsxfgq30Lx XuS/YAdLoiKO30Ohq1WVd2gozDvVxp6auN8VkZ1Qq7qGSrAPxgW/70U4qR9IXyXRCgAP x9E2GF9dMfuL+uR4NG8EUcP8gt+wGPJWbyVUOu3JrQfekiixG0sFi43JBSqcuy8fByeh 5uUg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746454099; x=1747058899; h=in-reply-to:content-transfer-encoding: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=bnGazODhLi7rd2UydKCGPq4ZtmoQ/tiR6adwupAH7Gc=; b=uHAxnMsL4kqF9+PFKxOgSq+R/vFrJoC0H0oOvVu/sFyz0gIo+EtD5qEcnWjsSMR6hp qVS7EDLaF7DUGTXB4BKm3BnALM0Zd78C7Pc+lREP2JnsDW/Ss5k8w6YGamR4WAWeOwXA IGq6UbGjO0H5xg5BlsCc6Mrk/yvvwALF02xXMgLP+nh0OM0VKwkyhIFlIvFT2kb+SjWY wLJNQ6L2LU7EcV4jy4nJwwDBX0vqO8HnfhTtBgVcE5oNpyVf1vepp+Ly4VQLEJkyR45i Qaf1smwqAhtLgrp/MfAHl8HwmB/ler8LVnmPSJpNemeWTPWIb8Zw1IZdiOZ1MhoBt0Jj OGYg== X-Forwarded-Encrypted: i=1; AJvYcCVRN6bdA/GTaykOCCixFXBQ7JKguEx5fJrgzorZk7CeIAMKyB1sv20IXHRy4MWUdqClND81cuzHJw==@kvack.org X-Gm-Message-State: AOJu0YzO1wCU4qlJGQUdsrSIwyfsGq9pBb47NhwuNVoDrJ+3Ap/AuDej Ci6wPeajwKmV5vdboynH7ePP47VT9UgbS5M1lNaIRPHFF3SL3kUFuZYrWKa8SQU= X-Gm-Gg: ASbGnctYBWVunszDtaQtXM6VohLdEpuxvyVWkWKEUAZ/wkTFbchqioK20gvgqW9pb4O 5/tukHGN53UWB1gnDartyXD0ili3vjrhlT0wiaFvyeQQeiYJ7QTt8iNAoop/VXSl33riuot94iL oBxOAOMAxks7ibbOGOabAIBT/IRhuQzI/4NzXiLZ5BCyNlFZnscf+bH7g0/qv1/JcuOyV9OjP6T /k4+y9WPe7HPEPtO1DjQGnLL7E2q0mxmvE+p18nL6BPtJd78wqwgGhqs3iGuKSHxCbxu8GfcDFR Q7RgBbVzvh3AxTnl3Y6FNSsJVFZ19NLAHc9HcCI= X-Google-Smtp-Source: AGHT+IHeGZrdp1BmAYeZy/2G2GcLxeZitgpMyMEE5I2+I6lyL3IzjrQUsSibdVhgFaIpP4YAkxLcgQ== X-Received: by 2002:a05:620a:2550:b0:7c5:4c6d:7f95 with SMTP id af79cd13be357-7cadfed81ffmr1174704785a.48.1746454094270; Mon, 05 May 2025 07:08:14 -0700 (PDT) Received: from localhost ([2603:7000:c01:2716:365a:60ff:fe62:ff29]) by smtp.gmail.com with UTF8SMTPSA id af79cd13be357-7cad23c3ebdsm567930685a.40.2025.05.05.07.08.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 05 May 2025 07:08:13 -0700 (PDT) Date: Mon, 5 May 2025 10:08:12 -0400 From: Johannes Weiner To: Vitaly Wool Cc: Igor Belousov , linux-mm@kvack.org, akpm@linux-foundation.org, linux-kernel@vger.kernel.org, Nhat Pham , Shakeel Butt , Yosry Ahmed , Minchan Kim , Sergey Senozhatsky Subject: Re: [PATCH] mm/zblock: use vmalloc for page allocations Message-ID: <20250505140812.GA30814@cmpxchg.org> References: <20250502080156.1672957-1-vitaly.wool@konsulko.se> <83CB359A-955E-48B6-B0D9-DD4F2E1146D4@konsulko.se> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <83CB359A-955E-48B6-B0D9-DD4F2E1146D4@konsulko.se> X-Stat-Signature: q47jogw8ryxo878n46rsmox9jchpruan X-Rspamd-Queue-Id: 0D87B180011 X-Rspam-User: X-Rspamd-Server: rspam05 X-HE-Tag: 1746454099-452068 X-HE-Meta: U2FsdGVkX1/xWYB8289Hmyz7YlEn24hJTXyUwIt2RD+tuD0nk2sdWnXczi61pv6eP+mwL72WjU/pRJ1ygLCGwAcA/xA/z93tnoXNhdOfAg70TKpi4lkH6QLLQax4Zj2Aci/qsOg3bIohZEiQfyL1B9TZX3HJFNAjBmDU9kzvzGs7o3I12NnUJwJMW5h/jaqtkqiznBorUtaftF+h3e504PeoGtusodXCNOcjzSbIxySafY53toVm6tQqCjSVs8x8BTc5txehUJ5Vg7P2N59GCQP5XzrmbS++wkHN4pyyGB8pBMhbdgqnS9TBCZcF2meXLaptVxvb2i/tjKKvNLJ0oH+zOE6Wf2UVm6EMvLgE0ajkebPpd8k41Mz/cZdH2ufgU/oroBZBkYU5r0TBhvw9l2RAFX8Y7lmw1RtLTJCqbYTJ050rWiIrI86O5UzD7uDPOxb0w8ZMr/zYWHG+LaRsOIbWTFnOTKR5LP40C4QYNRwnOxIhG1wz9ETBatwbNg5uEUgVk6hQOgYGNvzhtoBdINoULB3k64xBUQk/Wh0EiExkPSjMh5w42EnQOp7HhHKnN27Ioh2o8MPPgOg/9qRjNfQovwpCeP/VfZ4YhOoYyahzDdFMRptxSitwpo/5yoz1H/sJgyr0gfDyjI3WhSFUi6/LOOCMJgdA2kuB5Xcr+ogkRnkKZcOv/jMtS2zWIrg5RtZ30jZu22ae5d0fuodLDgqJ3On8dMLjhhfSNwncldGF8xySLplEFtEETqrmtOtm5jbiSbAaA/z8y85lu4xz+R1LVHHGcQmRahFwA/ji2qiCGiKuErSzza5jG1f6+jYCOSvdk38lyYFycV+Mz+Igq4sVLM6Iwgm6ja/fPA2bMDbiz6yuDHNANy/WhW1pEmoqiWh8nnKGipqGO/TMyVimVnGa+CSE0c8l1wgr3KqVxFnER4tzMqJx6xCreBX5uoG5dThIcC1KR0gMRS8mtRw rFtuARDF aH3tM0bdsYBFsS0F1/xAyWB4oImRgjbcQIL2tkz0ktnBFB3ny+wINGHXE8WInBghS20gb09mPqmi11SDLjO1BcsuTkgeNe49sYh3LemRxu0yrdxbY4PKwoKZePG2VuL26D/H5Fjks02m3U1ElgBVCb3SXfonIb9I3+GpwWeAxT1ws10H9KaFMOLTAYGvltP//7y4cAKjXas/2SZr9dBDV+qxUjImDuzpV2qzPHBWftRkhtkFtOWE6Evkx7tXOHqCn1/MTNHGLyzmSS21QhPXEdQaez6/lTciqYpZPLDhZOAOpCRR7G5uMGvUFK4dotRoIr6HBFGUtCsLL7+moRCKE2CvILDasuGZQ5N+2ppvGjXHPTucW2pVKVyw6zpdN6QkiJI325jaDYq8q15fqu2SVdm9d/AVjPXE37fiLJfFzwBOXp3cLnMaEHxm5L7ZxJtdm3jiHcTUlP3BAcXgnwFkwRWqFGaErp1tRha0xmxIzul4EHxs= 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 Sat, May 03, 2025 at 08:46:07PM +0200, Vitaly Wool wrote: > > > > On May 2, 2025, at 10:07 AM, Igor Belousov wrote: > > > > 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 > > In fact we don’t know if zsmalloc is actually supposed to work with > 16K pages. That’s the question to Sergey and Minchan. If it is > indeed supposed to handle 16K pages, I would suggest that you > submitted a full report with reproduction steps and/or provided a > fix if possible. I've been using zsmalloc with 16k pages just fine for ~a year, currently running it on 6.14.2-asahi. This machine sees a lot of memory pressure, too. Could this be a more recent regression, maybe in the new obj_write()?