Message ID | 20250131090658.3386285-11-senozhatsky@chromium.org (mailing list archive) |
---|---|
State | New |
Headers | show
Return-Path: <owner-linux-mm@kvack.org> 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 9D7B4C0218D for <linux-mm@archiver.kernel.org>; Fri, 31 Jan 2025 09:07:49 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 30F2128028D; Fri, 31 Jan 2025 04:07:49 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 248F22800EF; Fri, 31 Jan 2025 04:07:49 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 0C27C28028D; Fri, 31 Jan 2025 04:07:49 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id DECBF2800EF for <linux-mm@kvack.org>; Fri, 31 Jan 2025 04:07:48 -0500 (EST) Received: from smtpin09.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id A22E2C09CE for <linux-mm@kvack.org>; Fri, 31 Jan 2025 09:07:48 +0000 (UTC) X-FDA: 83067169416.09.FF31F45 Received: from mail-pl1-f173.google.com (mail-pl1-f173.google.com [209.85.214.173]) by imf28.hostedemail.com (Postfix) with ESMTP id C7032C0004 for <linux-mm@kvack.org>; Fri, 31 Jan 2025 09:07:46 +0000 (UTC) Authentication-Results: imf28.hostedemail.com; dkim=pass header.d=chromium.org header.s=google header.b=Sq6riHCX; spf=pass (imf28.hostedemail.com: domain of senozhatsky@chromium.org designates 209.85.214.173 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=1738314466; 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-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=4r0pcOBNOcRsnBO2Q2AoDymvU1L0RHp2karwxkPTEA0=; b=3fNsvo6Z00dNGQkusXypDQ4LQSH2BOQ4AnjxBrezP/Z8GWZUHsGwme/3FXYoya+7j81aX7 3Bu/nRjzjX2SxTxLATT6TfRMf+bZ4y9mT9veCwJ4EESekxZCT0+AsGzad+TsACqnwv8/6j jSb+eyV7lUxiYHMxjfeAa7EqX3j+Ins= ARC-Authentication-Results: i=1; imf28.hostedemail.com; dkim=pass header.d=chromium.org header.s=google header.b=Sq6riHCX; spf=pass (imf28.hostedemail.com: domain of senozhatsky@chromium.org designates 209.85.214.173 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=1738314466; a=rsa-sha256; cv=none; b=yEilVzNMva10ghZNBksMEdmlEjvhO5eDRWbXHCveYye1zMhEWkYEEC5VhcWwF6lpIQeZth of8au0qNfhqzMVYgQIHMUHd7DM3XZp3I8iWNu7TC1Q6gMtuCyGS8nnQSSrXrZXaQOmaxcS MmirL/Wux9e11jKqUfMWRQGepLiquS0= Received: by mail-pl1-f173.google.com with SMTP id d9443c01a7336-21619108a6bso29598705ad.3 for <linux-mm@kvack.org>; Fri, 31 Jan 2025 01:07:46 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; t=1738314465; x=1738919265; darn=kvack.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=4r0pcOBNOcRsnBO2Q2AoDymvU1L0RHp2karwxkPTEA0=; b=Sq6riHCXnj3egfX0LJwUixgA44i4q4uh3mZsNkeyN7ymd5GKw/fpDoPnpW2RQOWPvl okAjb8zBXDTFUreSCsa5D013fT4jZYkNnYhDd162sMclRZH4/jVF5eWo+94m21IfDJWc qaSqXANTMgRRL2524c6paNwqoBRneUrWGmxXk= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1738314465; x=1738919265; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=4r0pcOBNOcRsnBO2Q2AoDymvU1L0RHp2karwxkPTEA0=; b=FEfLTzKBPqBgn0+njGGmzU1r6mIkvcEZEDGd/34cM6iPUACAd86Ajw5ZFFSmi/ci5i DHt7m9dIO67bMIujA1gDYxr1YFAy4ZGuy3dztCr9rjslywT9lksK78RkzIkw1u1w0xxT F3/jqNPEcXxJPGijWGVnA+PuTBaDvEENbejUxvPQgt83XeBBS0hbKLwiUsgqIMuXuOKo 7tyQENoU/oVCgW2Jxt3qrBgj/UuKyUqnAzVApUq7q8KJoAXrln+xn9+/JE7JZB9OVLgI uVokv5w5ZrIhmgirb/4RhS2vVCeFknAI/+T4g+kmqb1Cpd3eixQLwHt7hBOWpTZgrvbf abmQ== X-Forwarded-Encrypted: i=1; AJvYcCV02U5Gm0DXSlnISogcxefki+tzWRpdLiwiKZDCCboG4OwPjLiv9kmpwawXcl7IdJwaX8GWUeo7Pg==@kvack.org X-Gm-Message-State: AOJu0YyQh9ae93OHPogInk5MrAuf6cUp8r6aQ8brQF8EJTU0F96l4+NP vCUHvAHndxsVWzT8fFn47EkYlKUAjGmrKFsOF+ehh+hx9cDJJOT9ATbhkADGzxh2vWFeR9PVfgc = X-Gm-Gg: ASbGncvxjXrYvymFzXbzKGyI5rWxqX0zXDM44wZIhY4pir+IVps58EKKHHXWKzcAb+1 y8yDNEuuW/xE6CI7V2cIgQlrMT6ju9unG2j61pFB6iz7V/wcEF3UXb2EwlRVA7+pb4zNH9PAqKU GUQkt2NCAEutK/5wvPTT7ZQrOz2sXNnvhWBit03erwN5yEGbEkLWUWbVoZFjAQ+rLSxfhq+fDVo U3GpU16TdD+1phl671hnWhqjnddiqudKAtdtKYuhPUMfWkSQAdnpdf17oxxm4Jce4EkK0QytdFn QTluvxyFWNxRQ1HE4A== X-Google-Smtp-Source: AGHT+IFVF6qQXP7j68CfVjgHMYTUsYqMzGDzrbpNfx9vlhjUIvaCbiwn0ENvclvQGAhdyEYDWrJB0Q== X-Received: by 2002:a05:6a20:2d06:b0:1e6:8f30:df53 with SMTP id adf61e73a8af0-1ed7a4dcd34mr15160965637.16.1738314465661; Fri, 31 Jan 2025 01:07:45 -0800 (PST) Received: from localhost ([2401:fa00:8f:203:c752:be9d:3368:16fa]) by smtp.gmail.com with UTF8SMTPSA id d2e1a72fcca58-72fe69cd801sm2784910b3a.123.2025.01.31.01.07.43 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 31 Jan 2025 01:07:45 -0800 (PST) From: Sergey Senozhatsky <senozhatsky@chromium.org> To: Andrew Morton <akpm@linux-foundation.org> Cc: Minchan Kim <minchan@kernel.org>, linux-mm@kvack.org, linux-kernel@vger.kernel.org, Sergey Senozhatsky <senozhatsky@chromium.org> Subject: [PATCHv4 10/17] zram: filter out recomp targets based on priority Date: Fri, 31 Jan 2025 18:06:09 +0900 Message-ID: <20250131090658.3386285-11-senozhatsky@chromium.org> X-Mailer: git-send-email 2.48.1.362.g079036d154-goog In-Reply-To: <20250131090658.3386285-1-senozhatsky@chromium.org> References: <20250131090658.3386285-1-senozhatsky@chromium.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspamd-Server: rspam02 X-Rspamd-Queue-Id: C7032C0004 X-Stat-Signature: p1c81ax4jzx1b9tzgeccuqqfmrfniayj X-Rspam-User: X-HE-Tag: 1738314466-18093 X-HE-Meta: U2FsdGVkX19tw23ZF9UlCKoUW618NvPuue4UaSZU7MRTxqN1Yi3hGsjANMwF2FFEj2hGSwyjiA5hIUsoEGstDu49WMqNytrRrt+JcBxhBN5CCaE+ORoBaEJYbYdjf857cC/C1v8vzOTVxEGZwIwZ1ikjYWfT4DabInD3bvHSiYFQL1M+AI0eDygOkc/Sc2JuKEpjFEQlZx328kyyxlyIiRJehSiEA8t3gzYBVUK+/N2pOg/6NKHz8cD8rQCPbV9T1DJr8S6k/t9hE+DKyJrPJsJaPoDmkx9IcJRZl1NSLnGudM8GwD6hLSkb6bUuCpqWhDOaet2AJKwS2SWqmTOu5wWkron6XZTyU9x5kmkhlRszuRhCi6bpVFeTtXa3ndNYSCw/+UdpLPe2pNXmug5MOvFZS0zEWJPau3y+75GH8DwFJue9mrZc4y+jwd7e/r4axa6rhLB54TJE4u0XOFgjZ8Hsp9uNbJtxb74dnek+RYJdfKH+XxON5sZt/WH+NP9JGkSSeyQG2kRpHNtyRfgr7TgmBQOqjlJmb36EwulxYxpt0XoYf7PWgplrTs7pvZDNnT/HkNjdy739VdmAtXgO2753C+DsF9GuYfTTjZki8UA6tK0yzuc+EuUT1TGFbgbfRoFOZHwTq77B7mV9snCuF8JRFQ31hcwa6CCxZshhRvayZPvJt6pVhke3o2PqbVTxZhJD8KPfVdw3KXfDsh8rMA7KwemkrzhCrfIDb+MNLTCmMoqMs04yPPrlOPCFZOAP+CS+Xzij+XnsXyw6XwaWYx0OIpT2adP1sYdr/35RQSYhDT4Dvg2m59bJ7LW7BFFgOzLu+0CMLgspcMPMvjuiki1ODlSs0HgLtxmXyDZQ+D2mHzRAxMYFJySupxwTJwLFi5s1F9artgazwk+I058BKkwGYcLoxQquyHxWznvVoGYkYtVmtUsZuTixikZrAypC40MkLppCYY2doa2dTPt N7D4s1r9 Iyq7qbAWrwEkpFhgJfxqE8tYUz58Ym71bjIALToA2n5UpN2uhml679UYRic2Xo+lunR3TOyVp5w0SEQzbC+Ry7SyJnbxMWGwNRyvIMxm7jlliKZk2AVooRvJeTh0SacJ5p9P0y5V/uyaJ/KjWW4MeyPTuG9mGg37Su1FkjMqcMwqHfQhwt9qlJ+7nw9Zp2QCPG2F7RMs/84Om4YEaUNEiYfFQ27gSDIasJ4LlHVM74ZFQcRWeLsGUq1SPSJLVHecHzvfXw0wjf6OVLJluKXQ86p2EntClnYsbA/0lxZArUpLY8riXtNupJmRKag== 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: <linux-mm.kvack.org> List-Subscribe: <mailto:majordomo@kvack.org> List-Unsubscribe: <mailto:majordomo@kvack.org> |
Series |
zsmalloc/zram: there be preemption
|
expand
|
diff --git a/drivers/block/zram/zram_drv.c b/drivers/block/zram/zram_drv.c index c500ace0d02f..256439361367 100644 --- a/drivers/block/zram/zram_drv.c +++ b/drivers/block/zram/zram_drv.c @@ -1811,7 +1811,7 @@ static int zram_bvec_write(struct zram *zram, struct bio_vec *bvec, #define RECOMPRESS_IDLE (1 << 0) #define RECOMPRESS_HUGE (1 << 1) -static int scan_slots_for_recompress(struct zram *zram, u32 mode, +static int scan_slots_for_recompress(struct zram *zram, u32 mode, u32 prio_max, struct zram_pp_ctl *ctl) { unsigned long nr_pages = zram->disksize >> PAGE_SHIFT; @@ -1843,6 +1843,10 @@ static int scan_slots_for_recompress(struct zram *zram, u32 mode, zram_test_flag(zram, index, ZRAM_INCOMPRESSIBLE)) goto next; + /* Already compressed with same of higher priority */ + if (zram_get_priority(zram, index) + 1 >= prio_max) + goto next; + pps->index = index; place_pp_slot(zram, ctl, pps); pps = NULL; @@ -2132,7 +2136,7 @@ static ssize_t recompress_store(struct device *dev, goto release_init_lock; } - scan_slots_for_recompress(zram, mode, ctl); + scan_slots_for_recompress(zram, mode, prio_max, ctl); ret = len; while ((pps = select_pp_slot(ctl))) {
Do no select for post processing slots that are already compressed with same or higher priority compression algorithm. This should save some memory, as previously we would still put those entries into corresponding post-processing buckets and filter them out later in recompress_slot(). Signed-off-by: Sergey Senozhatsky <senozhatsky@chromium.org> --- drivers/block/zram/zram_drv.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-)