]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
zram: remove entry element member
authorSergey Senozhatsky <senozhatsky@chromium.org>
Wed, 18 Dec 2024 06:34:19 +0000 (15:34 +0900)
committerAndrew Morton <akpm@linux-foundation.org>
Sun, 26 Jan 2025 04:22:20 +0000 (20:22 -0800)
Element is in the same anon union as handle and hence holds the same
value, which makes code below sort of confusing

    handle = zram_get_handle()
    if (!handle)
element = 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.

Link: https://lkml.kernel.org/r/20241218063513.297475-3-senozhatsky@chromium.org
Signed-off-by: Sergey Senozhatsky <senozhatsky@chromium.org>
Cc: Minchan Kim <minchan@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
drivers/block/zram/zram_drv.c
drivers/block/zram/zram_drv.h

index bf35575f5284432b8af12f99dda111cc57f77c7d..974af83b9483bf757e5490ead8c02696cfad2f85 100644 (file)
@@ -112,17 +112,6 @@ static void zram_clear_flag(struct zram *zram, u32 index,
        zram->table[index].flags &= ~BIT(flag);
 }
 
-static inline void zram_set_element(struct zram *zram, u32 index,
-                       unsigned long element)
-{
-       zram->table[index].element = 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,
 
                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 = 0;
                atomic64_inc(&zram->stats.pages_stored);
                spin_lock(&zram->wb_limit_lock);
@@ -1505,7 +1494,7 @@ static void zram_free_page(struct zram *zram, size_t index)
 
        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;
        }
 
@@ -1549,12 +1538,10 @@ static int zram_read_from_zspool(struct zram *zram, struct page *page,
 
        handle = zram_get_handle(zram, index);
        if (!handle || zram_test_flag(zram, index, ZRAM_SAME)) {
-               unsigned long value;
                void *mem;
 
-               value = handle ? zram_get_element(zram, index) : 0;
                mem = kmap_local_page(page);
-               zram_fill_page(mem, PAGE_SIZE, value);
+               zram_fill_page(mem, PAGE_SIZE, handle);
                kunmap_local(mem);
                return 0;
        }
@@ -1600,7 +1587,7 @@ static int zram_read_page(struct zram *zram, struct page *page, u32 index,
                 */
                zram_slot_unlock(zram, index);
 
-               ret = read_from_bdev(zram, page, zram_get_element(zram, index),
+               ret = read_from_bdev(zram, page, zram_get_handle(zram, index),
                                     parent);
        }
 
@@ -1751,7 +1738,7 @@ out:
 
        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);
index 134be414e2106bdfe72745db28090849052eeb56..db78d7c01b9a5f42db03575b254ab1d0e68cc48a 100644 (file)
@@ -62,10 +62,7 @@ enum zram_pageflags {
 
 /* 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