mbox series

[v8,00/21] Add zpdesc memory descriptor for zswap.zpool

Message ID 20241205175000.3187069-1-willy@infradead.org (mailing list archive)
Headers show
Series Add zpdesc memory descriptor for zswap.zpool | expand

Message

Matthew Wilcox (Oracle) Dec. 5, 2024, 5:49 p.m. UTC
I've updated this patchset for 6.13-rc1 because it's needed to eliminate
page->index, which I'm hoping to do in the next merge window.

 - Renamed mops to movable_ops and changed its type to unsigned long
 - Separated out the documentation of the individual page flags
 - Removed memcg_data again
 - Adapted to memcpy_from_page() API
 - Add kmap_local_zpdesc() instead of zpdesc_kmap_atomic()

My actual review of this has been quite limited.

Alex Shi (10):
  mm/zsmalloc: add zpdesc memory descriptor for zswap.zpool
  mm/zsmalloc: use zpdesc in trylock_zspage()/lock_zspage()
  mm/zsmalloc: convert create_page_chain() and its users to use zpdesc
  mm/zsmalloc: rename reset_page to reset_zpdesc and use zpdesc in it
  mm/zsmalloc: convert SetZsPageMovable and remove unused funcs
  mm/zsmalloc: convert get/set_first_obj_offset() to take zpdesc
  mm/zsmalloc: introduce __zpdesc_clear_movable
  mm/zsmalloc: introduce __zpdesc_clear/set_zsmalloc()
  mm/zsmalloc: introduce zpdesc_clear_first() helper
  mm/zsmalloc: update comments for page->zpdesc changes

Hyeonggon Yoo (11):
  mm/zsmalloc: convert __zs_map_object/__zs_unmap_object to use zpdesc
  mm/zsmalloc: add and use pfn/zpdesc seeking funcs
  mm/zsmalloc: convert obj_malloc() to use zpdesc
  mm/zsmalloc: convert obj_allocated() and related helpers to use zpdesc
  mm/zsmalloc: convert init_zspage() to use zpdesc
  mm/zsmalloc: convert obj_to_page() and zs_free() to use zpdesc
  mm/zsmalloc: add zpdesc_is_isolated()/zpdesc_zone() helper for
    zs_page_migrate()
  mm/zsmalloc: convert __free_zspage() to use zpdesc
  mm/zsmalloc: convert location_to_obj() to take zpdesc
  mm/zsmalloc: convert migrate_zspage() to use zpdesc
  mm/zsmalloc: convert get_zspage() to take zpdesc

 mm/zpdesc.h   | 149 ++++++++++++++++
 mm/zsmalloc.c | 485 +++++++++++++++++++++++++++-----------------------
 2 files changed, 411 insertions(+), 223 deletions(-)
 create mode 100644 mm/zpdesc.h

Comments

alexs@kernel.org Dec. 9, 2024, 11:59 a.m. UTC | #1
> I've updated this patchset for 6.13-rc1 because it's needed to eliminate
> page->index, which I'm hoping to do in the next merge window.
> 
>  - Renamed mops to movable_ops and changed its type to unsigned long
>  - Separated out the documentation of the individual page flags
>  - Removed memcg_data again
>  - Adapted to memcpy_from_page() API
>  - Add kmap_local_zpdesc() instead of zpdesc_kmap_atomic()
> 

Thanks a lot for the rebasing.
All looks good to me.

Cheers
Alex
Sergey Senozhatsky Dec. 10, 2024, 5:54 a.m. UTC | #2
On (24/12/05 17:49), Matthew Wilcox (Oracle) wrote:
> I've updated this patchset for 6.13-rc1 because it's needed to eliminate
> page->index, which I'm hoping to do in the next merge window.

No objections from me.

FWIW
Reviewed-by: Sergey Senozhatsky <senozhatsky@chromium.org>
Tested-by: Sergey Senozhatsky <senozhatsky@chromium.org> # zram workloads on x86_64

Thank you!