Re: [PATCH] RCU for low latency (experimental)

Takashi Iwai
2004-03-28T16:56:56Z

At Thu, 25 Mar 2004 05:16:43 +0530,
Dipankar Sarma wrote:
>
> On Thu, Mar 25, 2004 at 12:34:30AM +0100, Andrea Arcangeli wrote:
> > On Thu, Mar 25, 2004 at 04:41:45AM +0530, Dipankar Sarma wrote:
> > > That was not 16 callbacks per tick, it was 16 callbacks in one
> > > batch of a single softirq. And then I reschedule the RCU tasklet
> >
> > sorry so you're already using tasklets in current code? I misunderstood
> > the current code then.
>
> + if (count >= rcumaxbatch) {
> + RCU_plugticks(cpu) = rcuplugticks;
> + if (!RCU_plugticks(cpu))
> + tasklet_hi_schedule(&RCU_tasklet(cpu));
> + break;
> + }

it seems count is never incremented in your patch...
or am i missing something?

anyway, i confirmed that with the original krcud patch the latency
with dcache flood can be eliminated.

for the non-preemptive case, rcu_bh_callback_limit() should return
bhlimit always, though. otherwise cond_resched() isn't called in the
callback loop properly.

Takashi