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 A5471C3ABC0 for ; Thu, 8 May 2025 06:18:26 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id D9ACC6B000A; Thu, 8 May 2025 02:18:25 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id D202B6B0082; Thu, 8 May 2025 02:18:25 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id BC3126B0085; Thu, 8 May 2025 02:18:25 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 9DEC26B000A for ; Thu, 8 May 2025 02:18:25 -0400 (EDT) Received: from smtpin06.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 867D6C0AA2 for ; Thu, 8 May 2025 06:18:25 +0000 (UTC) X-FDA: 83418736170.06.3761066 Received: from mail-pf1-f176.google.com (mail-pf1-f176.google.com [209.85.210.176]) by imf19.hostedemail.com (Postfix) with ESMTP id 85FCB1A0004 for ; Thu, 8 May 2025 06:18:23 +0000 (UTC) Authentication-Results: imf19.hostedemail.com; dkim=pass header.d=chromium.org header.s=google header.b=OGuVyxEj; dmarc=pass (policy=none) header.from=chromium.org; spf=pass (imf19.hostedemail.com: domain of senozhatsky@chromium.org designates 209.85.210.176 as permitted sender) smtp.mailfrom=senozhatsky@chromium.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1746685103; a=rsa-sha256; cv=none; b=SjthbrrG+sw6Sn/6UI+t/4Dz7CCsfs8tCzmlPtjeRiQCcn3lDBV2nfX7TMe2rvvXVCQoWr 6BHiP49MOzqOTaMT8sWUevObwEEiR0SqLFwOWxM+5slj9BgVbNFzWmUUABzPARUax+v4Bf OKm/znCfnJ8j27HfxyNVIU3RVKm4fxg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1746685103; 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=a5vDJd4sFj9Mbe4a4INcdSXmTrq/OgA3/EgwfJosPAI=; b=LAXVuxyX/7Kr7F/27Xe8INRJXpQ9zwieI5mNTedKN6nGjEHVfvxL+3WBTjDvpaq2xs1ZmR F43nOfHNq4zTOLTL2Rd4AaKXGwq6HsQQMc0xcxEcj4m05qgi3txVJ5HZcXDn7P+eqlGIjq BpHagaCAl+OScHC5ubO+uXbLFOsWX4Y= ARC-Authentication-Results: i=1; imf19.hostedemail.com; dkim=pass header.d=chromium.org header.s=google header.b=OGuVyxEj; dmarc=pass (policy=none) header.from=chromium.org; spf=pass (imf19.hostedemail.com: domain of senozhatsky@chromium.org designates 209.85.210.176 as permitted sender) smtp.mailfrom=senozhatsky@chromium.org Received: by mail-pf1-f176.google.com with SMTP id d2e1a72fcca58-7390d21bb1cso706482b3a.2 for ; Wed, 07 May 2025 23:18:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; t=1746685102; x=1747289902; 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=a5vDJd4sFj9Mbe4a4INcdSXmTrq/OgA3/EgwfJosPAI=; b=OGuVyxEjBPS6sYyo9wMRczYwfZA92hPK8kQz0wsWGx4NcpnFYPCHfRbT2a8fnCEP6o OK7gaR1hkAqTPwR+ypPXWfr9KHoqwP3v9DNYt8GO92A3vxzUh6wjGdNyYXqM++yG6VWG xKgsZjIZvlRBkokVH10HIlw1dT7azGjcx1jw0= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746685102; x=1747289902; 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=a5vDJd4sFj9Mbe4a4INcdSXmTrq/OgA3/EgwfJosPAI=; b=rG20QLOJwrJnnGND/z+fAqzbIQMGn1gMER+jqiu59FgWnoPGogsqCNo2ayzO6y+Ufp qj4+iwC+BkTsOh0Dw0qhjxNdeyUca8QsDByNXAyLT6Gkj485naNuDn9arIsrMWlIih2D x4C9ENafo0KURxmN8I8JvYVF99TKyhRu8PKEkYnmv0laF8bOluJynrNX8fYjBg6Fq8k8 FXUN1EXzN+z2FybI4Tk7C5LSLsbaZXHWEmSyl/DZEwk/7cn9PYhb71Fd3xQJHh2qbYyz mB/mGX/XabfWC5yVoNBFdLRK9D089qNemqn0/paAZcfEeoElU6WkY96KUkrKbPIr3mhO 1k3A== X-Forwarded-Encrypted: i=1; AJvYcCVemkI0NbxRrC+kza4DeXAIGEj13n3Uexzsa8NwWuZk5VxNRLxyyC5B4UqHQwO4Y17FbTa9Z7RV+w==@kvack.org X-Gm-Message-State: AOJu0YzMhRbW8EkAzCrY1UJNEbxNfNaDTeYLnolPsa2CEnYAcDFwxRIM /UalSQCQuLnG35hiPOfA9lAtO10ptH+/+UuC1/LKuF7sjW0+d6Hl5VYXH4PtMg== X-Gm-Gg: ASbGnctlLdDTC9ltSuSFIEsxmdXxcSSeWUgTuPbQpVJ5Zomwww9RvhcTNTMXWPCfLfz iVhRB3WtDuh5nlj/YnioheaDz6ua13FnL8ckuuoElehJHoD6lXeV5FB++uyjE5APjJyZmHcLyeG YbSJrhek9Bvf6VcDih+wK/QYMpxr4CSi7VIjqlGrV9AsCkAbz33jdgi4e5RvpjvmagAdAbJ71mt eAbzzbo2ChRydsnlaH8jhJ20MubkXnC7sJ6h3+2W1EWwrib4RGVofmULZlUcrfuTg3/CqY6kwoY BLuc75unL+kykTTG2cGxID3UaFxsbHMOeBufDcjF85cbhffXPHqk7A4= X-Google-Smtp-Source: AGHT+IEmjxbI0CoGYM3oDVwMMaIwRnvSdfZ4i+4zpM4DgPGGhHStpLMN0bKNgHpy3FaRRumZ4MX0qw== X-Received: by 2002:a17:902:f78d:b0:22e:7f20:52ed with SMTP id d9443c01a7336-22e7f2055admr31670455ad.20.1746685102508; Wed, 07 May 2025 23:18:22 -0700 (PDT) Received: from google.com ([2401:fa00:8f:203:c794:38be:3be8:4c26]) by smtp.gmail.com with ESMTPSA id 41be03b00d2f7-b1fb3b53a6bsm8935238a12.22.2025.05.07.23.18.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 07 May 2025 23:18:22 -0700 (PDT) Date: Thu, 8 May 2025 15:17:56 +0900 From: Sergey Senozhatsky To: Christoph Hellwig Cc: Sergey Senozhatsky , Yosry Ahmed , Vitaly Wool , linux-mm@kvack.org, akpm@linux-foundation.org, linux-kernel@vger.kernel.org, Nhat Pham , Shakeel Butt , Johannes Weiner , Minchan Kim , Igor Belousov , Herbert Xu Subject: Re: [PATCH] mm/zblock: use vmalloc for page allocations Message-ID: References: <20250502080156.1672957-1-vitaly.wool@konsulko.se> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Rspamd-Server: rspam06 X-Rspamd-Queue-Id: 85FCB1A0004 X-Stat-Signature: 5dgxuww9m5gzui6r1p1ru59rmrugjxnj X-Rspam-User: X-HE-Tag: 1746685103-231175 X-HE-Meta: U2FsdGVkX1+258XG7/FozUl1bED/B997YEcvCemP6IKbUHymjd1XEeJc6ZBWepwjMj20amcOmY8aRgk+99LsqmWv6m12dpRNo7ymigLi6X/SB5MdeRW6wEZsrgmLyc5RvffSHnE+sGtC11omfGBNOIlr3fk5eYdd9TPxZOEudwkVsJW5YM0KJx/phCcJkwatQ2AUK/7J2diSjrklCQI0xTOTuQfvAXV4HBCLYskhF1vuC3K2oHGtaEpz4M0TsWSWTXRMDGc/w/OaWq8CPa7UTlHkGTxvJ8/jgW5QZL/2v6TPZ7KCWHEzRpuc5HVTnpWUmWSU/V7jlX4rhLbVrMWNVXsghivFEq91+YEAGPnWv5wAZUf2ANxNK6KEEVSS2jT6GajSD75JdV6+saBmsbIFaKE66x67x8oRdfAPO0H8RI+y6P4fc+zaOB3tOQ/L6ab493BnrRKtb6UKttXoJMnkYeuO3vuh29e6Y5OzTQ78mdumXXlZ7HreIRgVNBOy08bEQ/xIwhPTO+rQPbD67UTmDVmVeOBDPRbP/vwjO9JbP4oH4POME0UIoQM4lyCYru/qPJoaMwrLiNzVvjewLhjW2/c7t9wKEFH1hRt/PPBf4TxM4J8wzKvo4Dd019QU1a+mvf7drHhBzJKflLoThPOl+CO1d6i3LzxSLtFnVHekj0IXD9pC8i6sxTcx18dINu6QkqfmN6WD0FB7zIeC23MEuF7iPYZ75bqo77iIb9WcjIcy8+o1ubC5duMptr46oNuhBAB0G1tgQovTeo7azqbbjldAuQx2yxBqn1K0NMUQspLjmqkMBEZ2m00pGRwYHFx3Lbejhdg0sbO2wtPBMzUTTnkDiew0G3V5aHFgjZUmsGpyrvO/Z/snNhQlw14a7ZSdwy8njHlR4S61tj3b7N528PtO9UVjZnFOGEsjC3VxUQlNscEsUUZiBHJuFqq33FhVbtEo62cblBip7zZ+D5q L15/nT+y vw+y8xR5wPz4SRkkleEy+cXxQzQZ+V8Z06q47oTswwHQgnpvfRJD+Jjch3rFp4an3RHIJHnFMBZ5CtzAJ/aCbAFTGKLdNeBgmXhWcuh4QbscImWV5f9Rvs3a7tH7JotTYWd+YqzYXnNQmT8CiOyyO5Jq2sXmo8flJCU2Ayw1WDOSNyHY520a4WmCYQRdjFMpVA5fsIS+/h9Je8yPcJpBr/bxxLHOEZtzxT5BxtgHOqcb6EY6AalyH4viiOEb4C2OIC2b83elxbXD3AmXS+w2yBsHP4OWgvyKwWXXA7Bk8WkHRLEtxAG1LbEI4dPeVWs/5IAFFPaBkCoRRS7hwVVQpwwxIhZg7RLR1sdQkLnhCa9Wul4s= 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 (25/05/07 23:00), Christoph Hellwig wrote: > On Thu, May 08, 2025 at 02:58:14PM +0900, Sergey Senozhatsky wrote: > > Oh, I didn't realize that zram was the only swap_slot_free_notify > > user. zram already handles REQ_OP_DISCARD/REQ_OP_WRITE_ZEROES so > > I guess only swap-cluster needs some work. Are there any > > blockers/complications on the swap-cluster side? > > I think the reason it was added it was so that the discard can be > done non-blocking with a spinlock held. Which seems a bit sketch > when calling into a driver anyway.. swap_slot_free_notify is not guaranteed to free anything on the zram/zsmalloc side. zram attempts to trylock entry and if it fails to acquire the ownership swap_slot_free_notify for that entry becomes a .miss_free. So we just keep stale data in zspage (potentially, preventing it from being released if that was the last allocated object). I don't know if .miss_free happens often in real life.