From nobody Sun Dec 14 21:54:20 2025 Received: from mail-pl1-f170.google.com (mail-pl1-f170.google.com [209.85.214.170]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id EA90D19A for ; Wed, 18 Dec 2024 06:35:27 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.170 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1734503730; cv=none; b=Z5njFyCaWRqw/A2kF045Zmgt5wltOkilgyG7ambMDxfeFNSZLbu+ir1I08pnTavXAfZEMf+Xv57jx80VImt9O+y+Hcz6qjCDEux/2ZnX/MVy83mR6T0Ae6aOkkEEA7IBaEcFADYlkTqHFHpRgHCSJ3jsOkkGnmzXNMh+4TsCacI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1734503730; c=relaxed/simple; bh=77bMsso8gaWOdNVm5cZRZYObNUW9NcbFG8cE4uuZ2n4=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=lA9/CYgIf0rTyZNKtP5iUvEYe3/scbeBN2kP5C4iduRts6uUW8pLjZ79FCdEdwAYmXXimXzgOp8BHEHn6qZ0zbP1tIrY+qAGWPCW0D3GyTkZgXAswZlp8Vl/flSR7iYrLaKwdPzIi1t7HCacuQyI460AbUP4fR/Wv7mYRJk3p8A= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=chromium.org; spf=pass smtp.mailfrom=chromium.org; dkim=pass (1024-bit key) header.d=chromium.org header.i=@chromium.org header.b=B5l7OmED; arc=none smtp.client-ip=209.85.214.170 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=chromium.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=chromium.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=chromium.org header.i=@chromium.org header.b="B5l7OmED" Received: by mail-pl1-f170.google.com with SMTP id d9443c01a7336-2166651f752so64466625ad.3 for ; Tue, 17 Dec 2024 22:35:27 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; t=1734503727; x=1735108527; darn=vger.kernel.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=1lsNLWZe1xx8LIy2DkJ6EwI7DqhKpPjMJ1gyizR1Gbo=; b=B5l7OmEDFNFbIwOUGzGJrzx0UEdwJi0sIqRJ27j8xa3Y0gGlD2454otIMOx4DzVWHf pdhFkHfjXYEq9GoeJsXc4Ul2TBvzlRpF/dp1PWPcXU7f+OjOt40asRaSkfAw2FPKTyZb dqDb2BjJRSy2HCgYIaq8KbWFsZWItt+zNa75o= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1734503727; x=1735108527; 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=1lsNLWZe1xx8LIy2DkJ6EwI7DqhKpPjMJ1gyizR1Gbo=; b=cVjyoZD91lBKOxBh9kKtjEyxOrc5qJCTtDmLbE2TBRhAb1hEUVs2RAh2oXRS1Cet25 CUuB6v4+TO6p7I3KZfC++YkP+6CYcjNTbO9CggkCD+D3AUBTQGaEif6KnQR71Zni5DxX Vu6A27nWHqH3FrHDxI6ZUEOAM5eoH6Fepk4tYIFhwggtI7wN4SapMpNjw1cy6nyDxvCP 0R7mnYgz00z5GQL5kQMYgZjXard2cXmjq4eBRwFLjG6ZdrIXG94d2SajU16raFr28tJj FOH7O4SMcyhjVMu7QK0IRZsDKqkiPiGjnq6MbEZE3RvJAMeSP0WagRbq2YWVywUJsEMe v4JA== X-Forwarded-Encrypted: i=1; AJvYcCXUo2uggivWJcejPEF2lPeGrshl/HP6pSaZHQqw8VMFQk+CI81UPF7TpTEu5eZ7A8A2+bRQv/r5iFQtwK8=@vger.kernel.org X-Gm-Message-State: AOJu0YxnE8eR8kBww2EtTZXLk14Cg5m1krnzlKmPZcg4Zo0iDxqR/R1e BtGVOlV6WuIS16374nxvHHwhy+RVgy4CO/TaOScv2dUAKSf/KdeSwJ5AH5MUtcPRHsrktNqF7Io = X-Gm-Gg: ASbGncui88wOWhHjojmYtFtBuL7qjtodgmFlU7mIRCAqGM71ELn1bV32t9pHyiFNkuj NIAq6gjDz3pt9Cs5InlXSa3wwQ8E5iuwPuq/yN+UWB5bWOEo+Iw/Ezan06lSn2xPZ+viAped8BA l/C+AaUpk/ywynfaEUpdB+Loxc+NEgR1np6iKxTaBvBgudts8Sy/6LLQxwTKWtgxhMzwelmRAUV CmW1ib3h4Y6TaQZg+BqaQiL1zbkhX004CSKV3wmsLTBNKIjwSWhoyojwsA= X-Google-Smtp-Source: AGHT+IGtvXF84vSzKEt9nvcRn17lafPxKZcVbWSXwCigI3N+2LoaMAbFgPOkqbnj99UeaG1XnEyJIA== X-Received: by 2002:a17:903:2447:b0:216:725c:a12c with SMTP id d9443c01a7336-218d6fd7926mr23537805ad.9.1734503727216; Tue, 17 Dec 2024 22:35:27 -0800 (PST) Received: from localhost ([2401:fa00:8f:203:3bcc:36cc:b9fe:9379]) by smtp.gmail.com with UTF8SMTPSA id 98e67ed59e1d1-2f2ed62cddbsm656772a91.15.2024.12.17.22.35.25 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 17 Dec 2024 22:35:26 -0800 (PST) From: Sergey Senozhatsky To: Andrew Morton Cc: Minchan Kim , linux-mm@kvack.org, linux-kernel@vger.kernel.org, Sergey Senozhatsky Subject: [PATCHv2 2/7] zram: remove entry element member Date: Wed, 18 Dec 2024 15:34:19 +0900 Message-ID: <20241218063513.297475-3-senozhatsky@chromium.org> X-Mailer: git-send-email 2.47.1.613.gc27f4b7a9f-goog In-Reply-To: <20241218063513.297475-1-senozhatsky@chromium.org> References: <20241218063513.297475-1-senozhatsky@chromium.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Element is in the same anon union as handle and hence holds the same value, which makes code below sort of confusing handle =3D zram_get_handle() if (!handle) element =3D zram_get_element() Element doesn't really simplify the code, let's just remove it. We already re-purpose handle to store the block id a written back page. Signed-off-by: Sergey Senozhatsky --- drivers/block/zram/zram_drv.c | 23 +++++------------------ drivers/block/zram/zram_drv.h | 5 +---- 2 files changed, 6 insertions(+), 22 deletions(-) diff --git a/drivers/block/zram/zram_drv.c b/drivers/block/zram/zram_drv.c index cda0f3fd4058..8c71ddd17024 100644 --- a/drivers/block/zram/zram_drv.c +++ b/drivers/block/zram/zram_drv.c @@ -112,17 +112,6 @@ static void zram_clear_flag(struct zram *zram, u32 ind= ex, zram->table[index].flags &=3D ~BIT(flag); } =20 -static inline void zram_set_element(struct zram *zram, u32 index, - unsigned long element) -{ - zram->table[index].element =3D element; -} - -static unsigned long zram_get_element(struct zram *zram, u32 index) -{ - return zram->table[index].element; -} - static size_t zram_get_obj_size(struct zram *zram, u32 index) { return zram->table[index].flags & (BIT(ZRAM_FLAG_SHIFT) - 1); @@ -879,7 +868,7 @@ static ssize_t writeback_store(struct device *dev, =20 zram_free_page(zram, index); zram_set_flag(zram, index, ZRAM_WB); - zram_set_element(zram, index, blk_idx); + zram_set_handle(zram, index, blk_idx); blk_idx =3D 0; atomic64_inc(&zram->stats.pages_stored); spin_lock(&zram->wb_limit_lock); @@ -1504,7 +1493,7 @@ static void zram_free_page(struct zram *zram, size_t = index) =20 if (zram_test_flag(zram, index, ZRAM_WB)) { zram_clear_flag(zram, index, ZRAM_WB); - free_block_bdev(zram, zram_get_element(zram, index)); + free_block_bdev(zram, zram_get_handle(zram, index)); goto out; } =20 @@ -1548,12 +1537,10 @@ static int zram_read_from_zspool(struct zram *zram,= struct page *page, =20 handle =3D zram_get_handle(zram, index); if (!handle || zram_test_flag(zram, index, ZRAM_SAME)) { - unsigned long value; void *mem; =20 - value =3D handle ? zram_get_element(zram, index) : 0; mem =3D kmap_local_page(page); - zram_fill_page(mem, PAGE_SIZE, value); + zram_fill_page(mem, PAGE_SIZE, handle); kunmap_local(mem); return 0; } @@ -1599,7 +1586,7 @@ static int zram_read_page(struct zram *zram, struct p= age *page, u32 index, */ zram_slot_unlock(zram, index); =20 - ret =3D read_from_bdev(zram, page, zram_get_element(zram, index), + ret =3D read_from_bdev(zram, page, zram_get_handle(zram, index), parent); } =20 @@ -1750,7 +1737,7 @@ static int zram_write_page(struct zram *zram, struct = page *page, u32 index) =20 if (flags) { zram_set_flag(zram, index, flags); - zram_set_element(zram, index, element); + zram_set_handle(zram, index, element); } else { zram_set_handle(zram, index, handle); zram_set_obj_size(zram, index, comp_len); diff --git a/drivers/block/zram/zram_drv.h b/drivers/block/zram/zram_drv.h index 134be414e210..db78d7c01b9a 100644 --- a/drivers/block/zram/zram_drv.h +++ b/drivers/block/zram/zram_drv.h @@ -62,10 +62,7 @@ enum zram_pageflags { =20 /* Allocated for each disk page */ struct zram_table_entry { - union { - unsigned long handle; - unsigned long element; - }; + unsigned long handle; unsigned int flags; spinlock_t lock; #ifdef CONFIG_ZRAM_TRACK_ENTRY_ACTIME --=20 2.47.1.613.gc27f4b7a9f-goog