Thread (31 messages) 31 messages, 5 authors, 2020-05-03

Re: [PATCH V1 09/10] arch/kmap: Define kmap_atomic_prot() for all arch's

From: Ira Weiny <ira.weiny@intel.com>
Date: 2020-05-03 03:11:31
Also in: dri-devel, linux-arm-kernel, linux-mips, lkml, sparclinux

On Fri, May 01, 2020 at 04:20:20AM +0100, Al Viro wrote:
On Fri, May 01, 2020 at 03:37:34AM +0100, Al Viro wrote:
quoted
On Thu, Apr 30, 2020 at 01:38:44PM -0700, ira.weiny@intel.com wrote:
quoted
-static inline void *kmap_atomic(struct page *page)
+static inline void *kmap_atomic_prot(struct page *page, pgprot_t prot)
 {
 	preempt_disable();
 	pagefault_disable();
 	if (!PageHighMem(page))
 		return page_address(page);
-	return kmap_atomic_high(page);
+	return kmap_atomic_high_prot(page, prot);
 }
+#define kmap_atomic(page)	kmap_atomic_prot(page, kmap_prot)
OK, so it *was* just a bisect hazard - you return to original semantics
wrt preempt_disable()...
FWIW, how about doing the following: just before #5/10 have a patch
that would touch only microblaze, ppc and x86 splitting their
kmap_atomic_prot() into an inline helper + kmap_atomic_high_prot().
Then your #5 would leave their kmap_atomic_prot() as-is (it would
use kmap_atomic_prot_high() instead).  The rest of the series plays
out pretty much the same way it does now, and wrappers on those
3 architectures would go away when an identical generic one is
introduced in this commit (#9/10).

AFAICS, that would avoid the bisect hazard and might even end
up with less noise in the patches...
This works.  V2 coming out shortly.

Thanks for catching this,
Ira
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help