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 35EC5C021B1 for ; Thu, 20 Feb 2025 19:10:24 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 9417C2802EA; Thu, 20 Feb 2025 14:10:23 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 8F1912802A7; Thu, 20 Feb 2025 14:10:23 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 7E0C62802EA; Thu, 20 Feb 2025 14:10:23 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id 5DB502802A7 for ; Thu, 20 Feb 2025 14:10:23 -0500 (EST) Received: from smtpin19.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 05B26B87C0 for ; Thu, 20 Feb 2025 19:10:23 +0000 (UTC) X-FDA: 83141263926.19.E734AE9 Received: from out-174.mta1.migadu.com (out-174.mta1.migadu.com [95.215.58.174]) by imf15.hostedemail.com (Postfix) with ESMTP id 3258FA0017 for ; Thu, 20 Feb 2025 19:10:20 +0000 (UTC) Authentication-Results: imf15.hostedemail.com; dkim=pass header.d=linux.dev header.s=key1 header.b=qCrCkmtR; spf=pass (imf15.hostedemail.com: domain of yosry.ahmed@linux.dev designates 95.215.58.174 as permitted sender) smtp.mailfrom=yosry.ahmed@linux.dev; dmarc=pass (policy=none) header.from=linux.dev ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1740078621; 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=9LdEek9D0ZM2IpwYoKGDur1UZslOjkc+w5EqklCMpig=; b=z0tEWl1GVNtbQWd8TIG/woFFcOFivvMdOizZsf61aasam2z7FPDZna1rDSQBEBBoBJ5auc xL2g06PUp/bN0sGOvD8bT0wHS8fS1aZnLqyLgi4AdemBpOl+BANotf9OatZmpEV2Owjd9D c+VtL/7uE2BZXTZLcPyTU03Xq8HPDv8= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1740078621; a=rsa-sha256; cv=none; b=rHzQ013KVIXjWZ/O2YtZAzxTweToSzRZKuCP03k3AAKUkk24opalGtrhpsENoMGhg0mm6x wHwL/VI9r8Iysw28vFUsiPJjYBWWJTiLTlhjY0y4I2eEOMC5aKpzTXLnkKK61pyoIXuibP DfRiCt04fwRm8eWstnPpD+saJDb0jWc= ARC-Authentication-Results: i=1; imf15.hostedemail.com; dkim=pass header.d=linux.dev header.s=key1 header.b=qCrCkmtR; spf=pass (imf15.hostedemail.com: domain of yosry.ahmed@linux.dev designates 95.215.58.174 as permitted sender) smtp.mailfrom=yosry.ahmed@linux.dev; dmarc=pass (policy=none) header.from=linux.dev Date: Thu, 20 Feb 2025 19:10:13 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1740078619; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=9LdEek9D0ZM2IpwYoKGDur1UZslOjkc+w5EqklCMpig=; b=qCrCkmtRMVHsyfpGi8cDWfYG6hWYAAfHacr/SXO1vtQOYmWQnE4eT2obOB3KuKAgYYu25+ RiqSqBDay8k6/+fNqlLvw8c7h0cYcueYx1YkiCIRCJtOeKm4rQ4fMYd96SAMoR5MWabreA K0XHttQn6iJe73AcA7RQ7GOwFutJ9d8= X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. From: Yosry Ahmed To: Sergey Senozhatsky Cc: Andrew Morton , Hillf Danton , Kairui Song , Minchan Kim , linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH v6 02/17] zram: permit preemption with active compression stream Message-ID: References: <20250214045208.1388854-1-senozhatsky@chromium.org> <20250214045208.1388854-3-senozhatsky@chromium.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20250214045208.1388854-3-senozhatsky@chromium.org> X-Migadu-Flow: FLOW_OUT X-Rspam-User: X-Rspamd-Queue-Id: 3258FA0017 X-Rspamd-Server: rspam07 X-Stat-Signature: c4r55fwz7qiso6m5qmoa677etjeqqcdm X-HE-Tag: 1740078620-625177 X-HE-Meta: U2FsdGVkX1+pcGivK+qW0CIrk+sJwriUOInsAaoJ/p2LDZq2qUnWGTBKGjhKua/X6RRZAgXgShNWSukZDhTc7aHz26sSen7ID7OKVFCkr+6N75lYH0d9Jpxpjmxk47SlJInCBzxaZGZXVpTYoELRugyJVmIMLGLDQ3GIZRNfcePnNXPnG3LAmrBidlxZci2nz9Iqmksu+A17Lcz33KZgo0IMjkz9cShheuttlKBP7t1Hbfi6MH7RL7IY2FBD3hgzSPr+4tbZayyO/idOctzo9Y7kdamUgtEUeTQoCNf0uKnb0oRzB4sndkwFqbPSJZBYHB11OWsE+f0WXD2bEsr0H4ta4SAHMuqkSGJbDdm5chZj8ctERtSBflIEDAcB5OlTdm/RSonKXV5PYnlehM58o8CHC4ibCcostlnNY7ygsofKs1tZFhDzdqHnoDwrBl+uu7GNQUvhC6jMYcmZ3ii6nTKLS8CP+U7FdFCfR6wdqhOTKcjMD8sRaQ9sxZGJB6HpgQs1MDF5ZekxjTFzrGT+LIExSHPjEFtn7XsErF68Js8mN5SWZgtPsMdHXypzZzCGulh8RKF2xodJB3cW9N+AJWYCxl+fA/5KcMUDuDE5pdbHRSa6e9XmmZNTde6AAmebY3nRS6amL+ngRQulQEQ4LlPkjgmJ9oBlYj4pwnj6Y19IO80y5eMvVEEXrbW/HpJK4vEv+FzHSQP3KZw98YxQ1JyvraZKxZzC6ayj4J0Tbs6Z3cRv4xcFpRsxu5/MgptwhIerdwpmcPgun96vtIhEQZ/MihYNE31b+YlCL66gH9eqnPVaH5Oqp2Wc+Xp6HxVztSWCMGq75q2ZnAFQ6Mwf8dN5J2v7hSFQf3gOLtc4/D/Wl/jN8JPZsO24Hl2jXDftPfRsvn4CBHLnV67C/sKRQTQC8y4LE9p5ChLPRFPtMaESxuyp31zfO0XP22dUmvRbHVoQMQa/+/xeI/Ek8f2 xa0IRkcf xU1BxeG5O0wfnQqujqutPHZMH1l3uxddT/ddooogDMi88HLxsaxIQOfoDoWkIU9K+sHY9w48ZwAIfGUGAQ5NwGr51mTbuJaLgOPGdqS6sHIVrYtTnXGF0kZO4iWkoRvX2eVxmRlR2L/Rqf7fHg17/EJ1mRKZFDMpJAcy/KbrIbYjt/ljfPuEnLu90WnbaWyS1HmAjSUZ+e7Po0dPFm0WkTrYEjpaOgUPVtRPsIdsNAtyCf/yejwz5mevnW/KL7Osl2kQ7RWLqbulHnzIz/wxQnHdy5XeDOOBtTOJW 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 Fri, Feb 14, 2025 at 01:50:14PM +0900, Sergey Senozhatsky wrote: > Currently, per-CPU stream access is done from a non-preemptible > (atomic) section, which imposes the same atomicity requirements on > compression backends as entry spin-lock, and makes it impossible > to use algorithms that can schedule/wait/sleep during compression > and decompression. > > Switch to preemptible per-CPU model, similar to the one used > in zswap. Instead of a per-CPU local lock, each stream carries > a mutex which is locked throughout entire time zram uses it > for compression or decompression, so that cpu-dead event waits > for zram to stop using a particular per-CPU stream and release > it. > > Suggested-by: Yosry Ahmed > Signed-off-by: Sergey Senozhatsky Reviewed-by: Yosry Ahmed