Re: [PATCH 01/16] crypto: caam - Remove unnecessary smp_read_barrier_depends()

From: Paul E. McKenney
Date: Thu Nov 13 2014 - 15:10:14 EST


On Thu, Nov 13, 2014 at 02:24:07PM -0500, Pranith Kumar wrote:
> Recently lockless_dereference() was added which can be used in place of
> hard-coding smp_read_barrier_depends(). The following PATCH makes the change.
>
> Signed-off-by: Pranith Kumar <bobby.prani@xxxxxxxxx>
> ---
> drivers/crypto/caam/jr.c | 3 ---
> 1 file changed, 3 deletions(-)
>
> diff --git a/drivers/crypto/caam/jr.c b/drivers/crypto/caam/jr.c
> index bae20d8..9b3ef1bc 100644
> --- a/drivers/crypto/caam/jr.c
> +++ b/drivers/crypto/caam/jr.c
> @@ -181,8 +181,6 @@ static void caam_jr_dequeue(unsigned long devarg)
> for (i = 0; CIRC_CNT(head, tail + i, JOBR_DEPTH) >= 1; i++) {
> sw_idx = (tail + i) & (JOBR_DEPTH - 1);
>
> - smp_read_barrier_depends();
> -

Did you mean to add a lockless_dereference() somewhere? I would guess
that one is required on the load into sw_idx before the "for" loop,
but I cannot claim to be familiar with this code.

Thanx, Paul

> if (jrp->outring[hw_idx].desc ==
> jrp->entinfo[sw_idx].desc_addr_dma)
> break; /* found */
> @@ -218,7 +216,6 @@ static void caam_jr_dequeue(unsigned long devarg)
> if (sw_idx == tail) {
> do {
> tail = (tail + 1) & (JOBR_DEPTH - 1);
> - smp_read_barrier_depends();
> } while (CIRC_CNT(head, tail, JOBR_DEPTH) >= 1 &&
> jrp->entinfo[tail].desc_addr_dma == 0);
>
> --
> 1.9.1
>

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