* [merged mm-stable] zsmalloc-remove-old-object-read-api.patch removed from -mm tree
@ 2026-10-09 5:58 Andrew Morton
0 siblings, 0 replies; only message in thread
From: Andrew Morton @ 2026-10-09 5:58 UTC (permalink / raw)
To: mm-commits, nphamcs, minchan, senozhatsky, akpm
The quilt patch titled
Subject: zsmalloc: remove old object read API
has been removed from the -mm tree. Its filename was
zsmalloc-remove-old-object-read-api.patch
This patch was dropped because it was merged into the mm-stable branch
of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm
------------------------------------------------------
From: Sergey Senozhatsky <senozhatsky@chromium.org>
Subject: zsmalloc: remove old object read API
Date: Mon, 7 Sep 2026 19:57:29 +0900
There are no users left of the old API, all have switched to SG-list
object read API. Remove it.
Link: https://lore.kernel.org/20260907105739.1793316-3-senozhatsky@chromium.org
Signed-off-by: Sergey Senozhatsky <senozhatsky@chromium.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Cc: Minchan Kim <minchan@kernel.org>
Cc: Nhat Pham <nphamcs@gmail.com>
---
include/linux/zsmalloc.h | 4 -
mm/zsmalloc.c | 77 -------------------------------------
2 files changed, 81 deletions(-)
--- a/include/linux/zsmalloc.h~zsmalloc-remove-old-object-read-api
+++ a/include/linux/zsmalloc.h
@@ -40,10 +40,6 @@ unsigned int zs_lookup_class_index(struc
void zs_pool_stats(struct zs_pool *pool, struct zs_pool_stats *stats);
-void *zs_obj_read_begin(struct zs_pool *pool, unsigned long handle,
- size_t mem_len, void *local_copy);
-void zs_obj_read_end(struct zs_pool *pool, unsigned long handle,
- size_t mem_len, void *handle_mem);
void zs_obj_read_sg_begin(struct zs_pool *pool, unsigned long handle,
struct scatterlist *sg, size_t mem_len);
void zs_obj_read_sg_end(struct zs_pool *pool, unsigned long handle);
--- a/mm/zsmalloc.c~zsmalloc-remove-old-object-read-api
+++ a/mm/zsmalloc.c
@@ -1134,83 +1134,6 @@ unsigned long zs_get_total_pages(struct
}
EXPORT_SYMBOL_GPL(zs_get_total_pages);
-void *zs_obj_read_begin(struct zs_pool *pool, unsigned long handle,
- size_t mem_len, void *local_copy)
-{
- struct zspage *zspage;
- struct zpdesc *zpdesc;
- unsigned long obj, off;
- unsigned int obj_idx;
- struct size_class *class;
- void *addr;
-
- /* Guarantee we can get zspage from handle safely */
- read_lock(&pool->lock);
- obj = handle_to_obj(handle);
- obj_to_location(obj, &zpdesc, &obj_idx);
- zspage = get_zspage(zpdesc);
-
- /* Make sure migration doesn't move any pages in this zspage */
- zspage_read_lock(zspage);
- read_unlock(&pool->lock);
-
- class = zspage_class(pool, zspage);
- off = offset_in_page(class->size * obj_idx);
-
- if (!ZsHugePage(zspage))
- off += ZS_HANDLE_SIZE;
-
- if (off + mem_len <= PAGE_SIZE) {
- /* this object is contained entirely within a page */
- addr = kmap_local_zpdesc(zpdesc);
- addr += off;
- } else {
- size_t sizes[2];
-
- /* this object spans two pages */
- sizes[0] = PAGE_SIZE - off;
- sizes[1] = mem_len - sizes[0];
- addr = local_copy;
-
- memcpy_from_page(addr, zpdesc_page(zpdesc),
- off, sizes[0]);
- zpdesc = get_next_zpdesc(zpdesc);
- memcpy_from_page(addr + sizes[0],
- zpdesc_page(zpdesc),
- 0, sizes[1]);
- }
-
- return addr;
-}
-EXPORT_SYMBOL_GPL(zs_obj_read_begin);
-
-void zs_obj_read_end(struct zs_pool *pool, unsigned long handle,
- size_t mem_len, void *handle_mem)
-{
- struct zspage *zspage;
- struct zpdesc *zpdesc;
- unsigned long obj, off;
- unsigned int obj_idx;
- struct size_class *class;
-
- obj = handle_to_obj(handle);
- obj_to_location(obj, &zpdesc, &obj_idx);
- zspage = get_zspage(zpdesc);
- class = zspage_class(pool, zspage);
- off = offset_in_page(class->size * obj_idx);
-
- if (!ZsHugePage(zspage))
- off += ZS_HANDLE_SIZE;
-
- if (off + mem_len <= PAGE_SIZE) {
- handle_mem -= off;
- kunmap_local(handle_mem);
- }
-
- zspage_read_unlock(zspage);
-}
-EXPORT_SYMBOL_GPL(zs_obj_read_end);
-
void zs_obj_read_sg_begin(struct zs_pool *pool, unsigned long handle,
struct scatterlist *sg, size_t mem_len)
{
_
Patches currently in -mm which might be from senozhatsky@chromium.org are
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2026-10-09 5:58 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-10-09 5:58 [merged mm-stable] zsmalloc-remove-old-object-read-api.patch removed from -mm tree Andrew Morton
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.