Re: [PATCH] x86: Optimize tail handling for copy_user

From: Linus Torvalds
Date: Fri Aug 01 2008 - 18:31:22 EST




On Sat, 2 Aug 2008, Vitaly Mayatskikh wrote:
>
> Well, I have sanity test for it (at http://people.redhat.com/vmayatsk/copy_user_x8664/),
> but unfortunately it shows what I want to see, not the truth. I'm going
> to make a large regression testing next week.

I was actually thinking more along the lines of actually doing a
test-suite with the few most relevant system calls (to catch the few cases
that matter), and judicious use of mmap/munmap to make sure to trigger it
in-kernel.

It probably doesn't really need all that many system calls to trigger all
the relevant paths. A "read()" should trigger the "to_user()" case, and a
write() to a file should trigger the 'from_user_nocache()" case. And while
the "from_user()" case with zeroing migth be harder to see (because all
_normal_ users should also look at the error case and return EFAULT), I
think there are a few cases where we just depend on the zeroing.

Doing a

git grep ' copy_from_user('

(that's a tab in that grep thing) shows at least the termios code doing
it, for example. But fewer cases than I expected.

Linus
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/