Messages in this thread | | | Date | Thu, 15 Aug 2013 08:04:15 +0300 | From | "Michael S. Tsirkin" <> | Subject | Re: [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
| |