Re: rps perfomance WAS(Re: rps: question

jamal
2010-04-16T13:49:14Z

On Fri, 2010-04-16 at 21:34 +0800, Changli Gao wrote:

>
> + seq_printf(seq, "%08x %08x %08x %08x %08x %08x %08x %08x %08x %08x %08x\n",
> s->total, s->dropped, s->time_squeeze, 0,
> 0, 0, 0, 0, /* was fastroute */
> - s->cpu_collision, s->received_rps);
> + s->cpu_collision, s->received_rps, s->ipi_rps);
>
> Do you mean that received_rps is equal to ipi_rps? received_rps is the
> number of IPI used by RPS. And ipi_rps is the number of IPIs sent by
> function generic_exec_single(). If there isn't other user of
> generic_exec_single(), received_rps should be equal to ipi_rps.
>

my observation is:
s->total is the sum of all packets received by cpu (some directly from
ethernet)
s->received_rps was what the count receiver cpu saw incoming if they
were sent by another cpu.
s-> ipi_rps is the times we tried to enq to remote cpu but found it to
be empty and had to send an IPI.
ipi_rps can be < received_rps if we receive > 1 packet without
generating an IPI. What did i miss?

cheers,
jamal