Messages in this thread | | | Subject | Re: [patch] remove put_cpu_no_resched() | From | Trond Myklebust <> | Date | Tue, 03 Feb 2009 19:33:59 -0500 |
| |
On Wed, 2009-02-04 at 00:27 +0000, Thomas Gleixner wrote: > plain text document attachment (remove-put-cpu-no-resched.patch) > Impact: remove a high latency source > > put_cpu_no_resched() is an optimization of put_cpu() which > unfortunately can cause high latencies. > > The nfs iostats code uses put_cpu_no_resched() in a code sequence > where a reschedule request caused by an interrupt between the > get_cpu() and the put_cpu_no_resched() can delay the reschedule for at > least HZ. > > The other users of put_cpu_no_resched() optimize correctly in > interrupt code, but there is no real harm in using the put_cpu() > function which is an alias for preempt_enable(). The extra check of the > preemmpt count is not as critical as the potential source of missing a > reschedule. > > Debugged in the preempt-rt tree and verified in mainline. > > Signed-off-by: Thomas Gleixner <tglx@linutronix.de> > Reviewed-by: Ingo Molnar <mingo@elte.hu> > Cc: Tony Luck <tony.luck@intel.com> > Cc: Trond Myklebust <Trond.Myklebust@netapp.com>
Acked-by: Trond Myklebust <Trond.Myklebust@netapp.com> -- Trond Myklebust Linux NFS client maintainer
NetApp Trond.Myklebust@netapp.com www.netapp.com
| |