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 2FD71C02193 for ; Mon, 3 Feb 2025 07:33:55 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id B12D06B0082; Mon, 3 Feb 2025 02:33:54 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id AC2956B0083; Mon, 3 Feb 2025 02:33:54 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 964836B0085; Mon, 3 Feb 2025 02:33:54 -0500 (EST) 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 76BDD6B0082 for ; Mon, 3 Feb 2025 02:33:54 -0500 (EST) Received: from smtpin26.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 198DB4AE66 for ; Mon, 3 Feb 2025 07:33:54 +0000 (UTC) X-FDA: 83077819188.26.E0EC772 Received: from mail-pl1-f174.google.com (mail-pl1-f174.google.com [209.85.214.174]) by imf01.hostedemail.com (Postfix) with ESMTP id 25ACE4000D for ; Mon, 3 Feb 2025 07:33:51 +0000 (UTC) Authentication-Results: imf01.hostedemail.com; dkim=pass header.d=chromium.org header.s=google header.b=XHDL3KFK; spf=pass (imf01.hostedemail.com: domain of senozhatsky@chromium.org designates 209.85.214.174 as permitted sender) smtp.mailfrom=senozhatsky@chromium.org; dmarc=pass (policy=none) header.from=chromium.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1738568032; 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=cJfkA+01mQ6EVVESyvoLKvqknr3twqf0+1+MEvzJ+2M=; b=YLEIvHjuI243+XUe01mpgvSgTEPoyoIz30YD/yHui3/4qlpN/Uwf+tlyNb7wzNKge/sxCR 3fRpiCNWU9xC8lFTsxMlvAs3GyltEUeXEyxA/EWkyZDPi/5SSeFibzwRRKLaLTVJucmPYi MK360gujd4q2YJ+0ivK6rh+YG0I9IEw= ARC-Authentication-Results: i=1; imf01.hostedemail.com; dkim=pass header.d=chromium.org header.s=google header.b=XHDL3KFK; spf=pass (imf01.hostedemail.com: domain of senozhatsky@chromium.org designates 209.85.214.174 as permitted sender) smtp.mailfrom=senozhatsky@chromium.org; dmarc=pass (policy=none) header.from=chromium.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1738568032; a=rsa-sha256; cv=none; b=kCSYH+YAfnKeOz364x4fRDoqU8tFYDTAe7gKiq9oeKoBaU5FrzZNpR2XMAAaTCn5N463tu +hn9Fx4Ko+3BqC6TAxoVCHTpz+eOpeNQhvqiHk32jv9jAXx8BGrhoqX74alsHbPkqGa6aX weOrQjpj/MUkQXkgRvw4ii4rVAG6ywg= Received: by mail-pl1-f174.google.com with SMTP id d9443c01a7336-215770613dbso52415215ad.2 for ; Sun, 02 Feb 2025 23:33:51 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; t=1738568031; x=1739172831; 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=cJfkA+01mQ6EVVESyvoLKvqknr3twqf0+1+MEvzJ+2M=; b=XHDL3KFKoqCQEeMPSoln4ovU/PnYkWDlU1ayAIZ9fDydC4QlxrQkUvyQ/dvtK1R7sR 6SUrPtheufSALqFQQQb4t92Z52l6lUUpthYOnQAVwMWsZ23JfunscwXJL8E2+2JKOJP9 3wL9WV+mGJK4mzLBTzFPcayoIl2zoEGaKWs7E= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1738568031; x=1739172831; 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=cJfkA+01mQ6EVVESyvoLKvqknr3twqf0+1+MEvzJ+2M=; b=V9MU6hSD2boGtcEr5//3HovyzJOB8KKFxN+4qNiwd3Cu5ppfdoZ5wiBLYQFuTTVDjy c0qXPvAJ+DEAQJUqwGbZ7lpq9J1hdKTzlalwam6FLFkRbuOZ7294/n2lHJQTv+NBCoyb vYxiNzSl00c9r/WHMCkHB7aVJtV2lQUAzntGpukQYnwozbiafsmUiNqWTlBP6IPxXRL9 9WuiBqgQ6ycrglXF00JCxXyAmBDU+BI2Hc6dxJLhTDFL2VG+FoXzNtzo7cgSFl14dvCz IU4RSpL7ij5JUZ0uVRi4etabL3RoTzP4JbCzvDwnAxNG90UOnSxOVbY78qkLPMyEZi0q 3uOQ== X-Forwarded-Encrypted: i=1; AJvYcCW04eGAfKTKQ7nHPDUxsQ/2pAskMzDe4IdOozS5su4/5mx1sDEpCvrBKi90v6gVdPdwoYf2N0ERew==@kvack.org X-Gm-Message-State: AOJu0YyMWOl5CwZbz2hlazKfIKtU/hOMp/Deu7YcltzIlkSsCK4+1tG5 iYBwtGBjQpA2wq8DaS7yLmqWgXcOpiHFSosjHnB1RcUhA8JHKC7cjyKJH8gwfg== X-Gm-Gg: ASbGncv6xJqNywtZTj3wUK0/Kb0vA9pdJrX9OLJPHOmjAmKkltj0pfKWXN3mknPk3Ny BFGwD9pIu1zGl15ibTHZiC9+d5Jy0Enr0KrQIPe7ezUZHmoJ2ksPPpaITOidClUWN0a6U8qzlwo ajzhJ9+PL8iQnX9+rQlVfytNNjCJv3l05EsT3pRD9S1v5cclIHBCwEYQ7HCr9itjF811TE8SLlz mEXewTnNWsb9en8angL6SyUFHvVbAeSoNo2LdrI2kUNgomb8KCrClFIDsHuFZddAJjr2VChwVEo cDeeDOy96SrXpfNUxfs= X-Google-Smtp-Source: AGHT+IF3ekMna+p43DL8JMvqxAKOopd+67L5PUwuL5LwL3lP27QGKT4BD1U9e/tlYlmGrzbURr1MsQ== X-Received: by 2002:a17:902:f610:b0:216:4348:149d with SMTP id d9443c01a7336-21dd7dfb835mr371643895ad.53.1738568030902; Sun, 02 Feb 2025 23:33:50 -0800 (PST) Received: from google.com ([2401:fa00:8f:203:b77f:f2de:f99c:2d0e]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-21de31f832esm69006695ad.83.2025.02.02.23.33.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 02 Feb 2025 23:33:50 -0800 (PST) Date: Mon, 3 Feb 2025 16:33:45 +0900 From: Sergey Senozhatsky To: Sergey Senozhatsky Cc: Andrew Morton , Minchan Kim , linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: Re: [PATCHv4 01/17] zram: switch to non-atomic entry locking Message-ID: References: <20250131090658.3386285-1-senozhatsky@chromium.org> <20250131090658.3386285-2-senozhatsky@chromium.org> <20250131145536.d7a0483331b0ebfde80a5754@linux-foundation.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: 25ACE4000D X-Stat-Signature: o5qbj6ah4iuwm56tiumeg4ekjofbaite X-Rspam-User: X-HE-Tag: 1738568031-802633 X-HE-Meta: U2FsdGVkX1/6YhhKAcX7o2QJbXs4EsQeNDlU730aqwfa0aYYcEYUEd2aB1bi3bVykeqIdQwdPZ2F3yXojbs8WOFkUw9q3nIHX5rvYtXnfe0InusiG9gFo6sesjcidsXbBzJF0TA7wb+X98k2mD/zLmNmF7LneB+DSo/EwXTAQKyAj0dfQxoJxoyVLU3cIk4zSlVSzx2yZMJ+FCETd8hfgIzxR0YS7RHWxUUQEAbQvLLUN8gcGlsENc3CSRvCYyiAgM7yY+0QBB25ONxmfsjdG779HxXMcEFao+VrwYKmx4xNmCuKAk6HxoepZBj/irVduhhI4R/wQ7cDH5UN68ORIgEFEdLodVEfRA8UIZyA48dW22cdMFH/G1Pt4eoOl/M53o5fXlW1o0QzwbVHsaiCKrh6Rm1NpZokab54501LgSslBtfirE4Sey2CG/NbMVtxYhYoLpnyfwo6YZUDd977C+YjN5MhjIEklK6VLxKHi6f1/D9w39G1b8QUxQsO/TJq3Rb8fvDSEJjoZ9ODWYBlOLdClxDDIrxOqKZHHoxJK6XBY7nhATQa5Oe/dBsebNpC/L1+q5rk1xSZ3zk0J8H8/87kxy20wbRKf2suA9N7nUZwDNdMZVghuix61AIsZF2JvJ50um41BycSapK4+wtSQLtxu6b7diGqGWux9lnqNs++3pFP5PQNpCvMBCdvO+20di/ttK1KIZQ+C98eUXg+WwM1y8M/Dd9jMfVrP9loIv8ZaWdfsNgDxuBI22waiqOdX6PZTvCuTxt2nXMQt7J2U/0a7lXD/HFjH1VfU/jrj03F7bAX6l1YDY3ITookMj/7jLF6Ojq3oRdhWC/niXlUSsK+dqU0UZ4XCrFfRcg3x9DWQ30/1zF9MQeiZwgMCGa4OFnv9htTilS4CMEMz0ui+edPlnL/ZN5H3jV1xss43pDqpY0HoZTaJIWvGIeJ1G850lUiEmIRG35dQ8T/UOE +2BB5i+E V+Gn4tmgnWZaQFuweKkCe5FKK8MuvNQ7ppkMNkQdhduZoY+DZFjoN5iqPsTd4fvRoAo22OFpYAl5gjBb44o+K7I40sgwUHG5QQWNY1g43C2oqsmQW90V5ILe7cQBJyNrInDLgjgj17EcSfX9f4DseyVA7lUCeVXz8bkXEYVas/KLBvAacI8XLTZaFLnYSKKLpp/uYm3aA8dB7N3gNLHk9+TvkKqd2nSMmM0CzMxO/qoy8csPDGYRvDDSt0HH3XUQyK77PgTI8XEWgt82tAT2jK7NMp18VvvFmqwdDEku4rbNnEyQETVqO33Eb+TvBdO4fCIE10tmuhUuzgsYaYZbZhcSAH23XIeVOBBS9EHM13PEXFVY= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000149, 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/02/03 16:11), Sergey Senozhatsky wrote: > I guess where we actually need zram entry lock is writeback and > recompression. Writeback moves object from zsmalloc pool to actual > physical storage, freeing zsmalloc memory after that and setting > zram entry[index] handle to the backikng device's block idx, which > needs synchronization. Recompression does a similar thing, it frees > the old zsmalloc handle and stores recompressed objects under new > zsmalloc handle, it thus updates zram entry[index] handle to point > to the new location, which needs to be synchronized. ... Luckily there is a trivial solution --- diff --git a/drivers/block/zram/Kconfig b/drivers/block/zram/Kconfig index 402b7b175863..dd7c5ae91cc0 100644 --- a/drivers/block/zram/Kconfig +++ b/drivers/block/zram/Kconfig @@ -1,7 +1,7 @@ # SPDX-License-Identifier: GPL-2.0 config ZRAM tristate "Compressed RAM block device support" - depends on BLOCK && SYSFS && MMU + depends on BLOCK && SYSFS && MMU && !PREEMPT select ZSMALLOC help Creates virtual block devices called /dev/zramX (X = 0, 1, ...).