On Wed, May 04, 2016 at 03:47:29PM +0200, Peter Zijlstra wrote: > Traditionally kmap_atomic() disables preemption; and the reason is that > the returned pointer must stay valid. This had a side effect in that it > also disabled pagefaults. A lowmem page should never change its page_address(), so that much is safe. I think the question is whether there is any driver code which assumes that preemption is unconditionally disabled between a kmap_atomic() has been called. That wouldn't be an unreasonable assumption given the name of the function, so I'd suggest caution with making kmap_atomic() have these kinds of differing behaviours depending on whether we're asking to kmap a high or lowmem page. If we are going to allow this, I think it at least needs to be well documented. -- RMK's Patch system: http://www.armlinux.org.uk/developer/patches/ FTTC broadband for 0.8mile line: currently at 9.6Mbps down 400kbps up according to speedtest.net. -- To unsubscribe from this list: send the line "unsubscribe linux-arch" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html