aboutsummaryrefslogtreecommitdiff
path: root/scripts/gdb/linux/lists.py
diff options
context:
space:
mode:
authorTian Tao <[email protected]>2021-02-25 17:18:17 -0800
committerLinus Torvalds <[email protected]>2021-02-26 09:41:01 -0800
commitfc6697a89f56d9773b2fbff718d4cf2a6d63379d (patch)
tree9494580631437f2aecfbd2ab1116b7404f5d4a46 /scripts/gdb/linux/lists.py
parentc0c641d77b9ab0da798ca86d34d2327d6f427f4c (diff)
mm/zswap: add the flag can_sleep_mapped
Patch series "Fix the compatibility of zsmalloc and zswap". Patch #1 adds a flag to zpool, then zswap used to determine if zpool drivers such as zbud/z3fold/zsmalloc will enter an atomic context after mapping. The difference between zbud/z3fold and zsmalloc is that zsmalloc requires an atomic context that since its map function holds a preempt-disabled, but zbud/z3fold don't require an atomic context. So patch #2 sets flag sleep_mapped to true indicating that zbud/z3fold can sleep after mapping. zsmalloc didn't support sleep after mapping, so don't set that flag to true. This patch (of 2): Add a flag to zpool, named is "can_sleep_mapped", and have it set true for zbud/z3fold, not set this flag for zsmalloc, so its default value is false. Then zswap could go the current path if the flag is true; and if it's false, copy data from src to a temporary buffer, then unmap the handle, take the mutex, process the buffer instead of src to avoid sleeping function called from atomic context. [[email protected]: add return value in zswap_frontswap_load] Link: https://lkml.kernel.org/r/[email protected] [[email protected]: fix potential memory leak] Link: https://lkml.kernel.org/r/[email protected] [[email protected]: fix potential uninitialized pointer read on tmp] Link: https://lkml.kernel.org/r/[email protected] [[email protected]: fix variable 'entry' is uninitialized when used] Link: https://lkml.kernel.org/r/[email protected]: https://lkml.kernel.org/r/[email protected] Link: https://lkml.kernel.org/r/[email protected] Signed-off-by: Tian Tao <[email protected]> Signed-off-by: Nathan Chancellor <[email protected]> Signed-off-by: Colin Ian King <[email protected]> Reviewed-by: Vitaly Wool <[email protected]> Acked-by: Sebastian Andrzej Siewior <[email protected]> Reported-by: Mike Galbraith <[email protected]> Cc: Barry Song <[email protected]> Cc: Dan Streetman <[email protected]> Cc: Seth Jennings <[email protected]> Cc: Dan Carpenter <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
Diffstat (limited to 'scripts/gdb/linux/lists.py')
0 files changed, 0 insertions, 0 deletions