-----Original Message----- From: tiantao (H) Sent: Tuesday, January 19, 2021 3:09 PM To: Song Bao Hua (Barry Song) song.bao.hua@hisilicon.com Cc: linuxarm@openeuler.org Subject: [PATCH mm/zswap 0/2] Fix the compatibility of zsmalloc and zswap
patch #1 add a flag to zpool, then zswap used to determine if zpool drivers such as zbud/z3fold/zsmalloc whether can sleep in atoimc context. patch #2 set flag sleep_mapped to true indicates that zbud/z3fold can sleep in atomic context. zsmalloc didin't support sleep in atomic context, so not set that flag to true.
I guess the description is not accurate as nobody can sleep in atomic context.
The difference is that zbud/z3fold don't require an atomic context but zsmalloc requires that since its map function holds a preempt-disabled lock.
Tian Tao (2): mm/zswap: add the flag can_sleep_mapped mm: set the sleep_mapped to true for zbud and z3fold
include/linux/zpool.h | 3 +++ mm/z3fold.c | 1 + mm/zbud.c | 1 + mm/zpool.c | 13 +++++++++++++ mm/zswap.c | 50 +++++++++++++++++++++++++++++++++++++++++++++----- 5 files changed, 63 insertions(+), 5 deletions(-)
-- 2.7.4
Thanks Barry