Messages in this thread | | | Date | Thu, 30 Mar 2017 19:48:24 +0100 | From | Al Viro <> | Subject | Re: [RFC][CFT][PATCHSET v1] uaccess unification |
| |
On Thu, Mar 30, 2017 at 10:18:23AM -0700, Linus Torvalds wrote:
> This is all going in the wrong direction entirely.
This is not going into the tree - it's just a "let's check your theory about might_fault() overhead being the source of slowdown you are seeing" quick-and-dirty patch.
Speaking of the checks in there - if anything, might_fault() in those suckers belongs outside of the loop; note that even on the kmap_atomic() side of copy_page_to_iter_iovec() we do stuff like fault_in_pages_writeable().
BTW, ..._inatomic is a very unfortunate name, IMO - it's *not* safe to use in atomic contexts as-is, to start with; the caller needs to take care of pagefault_disable(). If anything, __copy_from_user_nofault() would probably be better...
I really wonder about the low dispersion in those tests - IME on amd64 boxen it tends to be ~5% or so; what's normal for arm?
| |