lkml.org 
[lkml]   [2013]   [Aug]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 10/13] x86: Move cond resched for copy_{from,to}_user into low level code 64bit
On Sat, Aug 10, 2013 at 08:42:58AM -0700, Linus Torvalds wrote:
> On Fri, Aug 9, 2013 at 4:04 PM, Andi Kleen <andi@firstfloor.org> wrote:
> > From: Andi Kleen <ak@linux.intel.com>
> >
> > Move the cond_resched() check for CONFIG_PREEMPT_VOLUNTARY into
> > the low level copy_*_user code. This avoids some code bloat and
> > makes check much more efficient by avoiding unnecessary function calls.
>
> May I suggest going one step further, and just removing the
> cond_resched() _entirely_, leaving just the debug test?
>
> There really is zero reason for doing a cond_resched() for user
> accesses. If they take a page fault, then yes, by all means do that
> (and maybe we should add one to the page fault trap if we don't have
> it already), but without a page fault they really aren't that
> expensive.
>
> We do many more expensive things without any cond_resched(), and doing
> that cond_resched() really doesn't make much sense *unless* there's a
> big expensive loop involved.
>
> Most of this series looks fine, but I really think that we
> could/should just take that extra step, and say "no, user accesses
> don't imply that we need to check for scheduling".
>
> Linus

In fact we are doing exactly this since 3.11-rc1.

--
MST


\
 
 \ /
  Last update: 2013-08-15 07:21    [W:0.181 / U:0.208 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site