On Wednesday 04 May 2016 07:23 PM, Thomas Petazzoni wrote: > Hello, > > On Wed, 4 May 2016 15:47:29 +0200, Peter Zijlstra wrote: > >> static inline void *kmap_atomic(struct page *page) >> { >> preempt_disable(); >> pagefault_disable(); >> if (!PageHighMem(page)) >> return page_address(page); >> >> return __kmap_atomic(page); >> } > This is essentially what has been done on ARM in commit > 9ff0bb5ba60638a688a46e93df8c5009896672eb, showing a pretty significant > improvement in network workloads. ARC already has that semantically - only not inline ! I really want to avoid 2 needless LD-ADD-ST for the disabling of preemption and page fault for the low mem pages by returning early ! static inline void *kmap_atomic(struct page *page) { if (!PageHighMem(page)) return page_address(page); preempt_disable(); pagefault_disable(); return __kmap_atomic(page); } > > Best regards, > > Thomas -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href