Re: atomic read and increment question

From: Paul E. McKenney
Date: Tue Mar 18 2014 - 08:53:09 EST


On Tue, Mar 18, 2014 at 01:26:12AM -0700, noman pouigt wrote:
> Hello,
>
> I looked through the documentation for atomic
> operations but couldn't find out the api for following
> operation:
>
> x = 1;
> temp = atomic_read_increment(x);
>
> so basically this will read the old value of x in temp
> and then increment x.
>
> so temp = 1 and x = 2.
>
> Is this api already available?

You want atomic_inc_return(). It returns the new value rather than the
old value, but you can do the following:

temp = atomic_inc_return(&x) - 1;

Thanx, Paul

--
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/