Re: [cpuops inc_return V1 8/9] random: Use this_cpu_inc_return

From: Christoph Lameter
Date: Mon Dec 06 2010 - 13:29:56 EST


On Mon, 6 Dec 2010, Matt Mackall wrote:

> On Mon, 2010-12-06 at 11:40 -0600, Christoph Lameter wrote:
> > plain text document attachment (cpuops_inc_return_random)
> > __this_cpu_inc can create a single instruction to do the same as
> > __get_cpu_var()++.
>
> > - (__get_cpu_var(trickle_count)++ & 0xfff))
> > + ((__this_cpu_inc_return(trickle_count) - 1) & 0xfff))
>
> I see you've added a "- 1" to mimic the post-increment ++ semantic.
>
> The goal of this code to add only 1 sample in every 4096, but we don't
> really care which, so this semantic isn't actually important here.

-1 also removes the + 1 that the inc_return() semantics require because we
use xadd on x86. -1 will generate more compact code.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/