Hi all, this series switches the core block layer code and all users of the existing bvec kmap helpers to use kmap_local_page. Drivers that currently use open coded kmap_atomic calls will converted in a follow on series.
To do so a new kunmap variant is added that calls flush_kernel_dcache_page. I'm not entirely sure where to call flush_dcache_page vs flush_kernel_dcache_page, so I've tried to follow the documentation here, but additional feedback would be welcome. Note that the ps3disk has a minir conflict with the flush_kernel_dcache_page removal in linux-next through the -mm tree. I had hoped that change would go into 5.14, but it seems like it is being held for 5.15. Changes since v2: - rely on the flush_dcache_helpers in memcpy_to_page and memzero_page that now hit mainline Changes since v1: - add more/better comments - add a new kunmap_local_dirty helper to feal with flush(_kernel)_dcache_page Diffstat: arch/mips/include/asm/mach-rc32434/rb.h | 2 - block/bio-integrity.c | 14 +++----- block/bio.c | 37 ++++++---------------- block/blk-map.c | 2 - block/bounce.c | 39 +++++------------------- block/t10-pi.c | 16 +++------ drivers/block/ps3disk.c | 19 +---------- drivers/block/rbd.c | 15 +-------- drivers/md/dm-writecache.c | 5 +-- include/linux/bio.h | 42 ------------------------- include/linux/bvec.h | 52 ++++++++++++++++++++++++++++++-- include/linux/highmem-internal.h | 7 ++++ include/linux/highmem.h | 10 ++++-- 13 files changed, 102 insertions(+), 158 deletions(-)