]> www.infradead.org Git - users/jedix/linux-maple.git/commit
PM: hibernate: Replace deprecated kmap_atomic() with kmap_local_page()
authorDavid Reaver <me@davidreaver.com>
Sun, 12 Jan 2025 15:26:55 +0000 (07:26 -0800)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Tue, 18 Feb 2025 19:39:24 +0000 (20:39 +0100)
commitd42044aad6528e0c9533dbaf836d1b0fbb19fe2d
tree0fa890031566f3911761307370aed21f28dbb4ff
parent0ad2507d5d93f39619fc42372c347d6006b64319
PM: hibernate: Replace deprecated kmap_atomic() with kmap_local_page()

kmap_atomic() is deprecated and should be replaced with kmap_local_page()
[1][2]. kmap_local_page() is faster in kernels with HIGHMEM enabled, can
take page faults, and allows preemption.

According to [2], this replacement is safe as long as the code between
kmap_atomic() and kunmap_atomic() does not implicitly depend on disabling
page faults or preemption. In all of the call sites in this patch, the only
thing happening between mapping and unmapping pages is copy_page() calls,
and I don't suspect they depend on disabling page faults or preemption.

Link: https://lwn.net/Articles/836144/
Link: https://docs.kernel.org/mm/highmem.html#temporary-virtual-mappings
Signed-off-by: David Reaver <me@davidreaver.com>
Link: https://patch.msgid.link/20250112152658.20132-1-me@davidreaver.com
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
kernel/power/snapshot.c