Messages in this thread | | | Date | Wed, 7 Oct 2009 11:19:40 -0400 | From | Mathieu Desnoyers <> | Subject | Re: [this_cpu_xx V5 19/19] SLUB: Experimental new fastpath w/o interrupt disable |
| |
* Christoph Lameter (cl@linux-foundation.org) wrote: > On Wed, 7 Oct 2009, Mathieu Desnoyers wrote: > > > Usually, when preemption is disabled, the scheduler restrain from > > executing. *Now the important point*: the criterion that bounds the > > maximum amount of time before the scheduler will re-check for pending > > preemption is when preempt_enable() will re-activate preemption. > > Which creates additional overhead in the allocator. >
Which we like to keep as low as possible, I agree.
> > But because you run preempt_enable with interrupts off, the scheduler > > check is not done. And it's not done when interrupts are re-activated > > neither. > > Ok so we should be moving the preempt_enable after the irq enable. Then we > will call into the scheduler at the end of the slow path. This may add > significantly more overhead that we had before when we simply disabled > and enabled interrupts... >
You are already calling the scheduler when ending the _fast_ path. I don't see the problem with calling it when you end the slow path execution.
Mathieu
-- Mathieu Desnoyers OpenPGP key fingerprint: 8CD5 52C3 8E3C 4140 715F BA06 3F25 A8FE 3BAE 9A68
| |