From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Paul E. McKenney" Subject: Re: [PATCH 01/16] crypto: caam - Remove unnecessary smp_read_barrier_depends() Date: Thu, 13 Nov 2014 12:10:01 -0800 Message-ID: <20141113201001.GQ4460@linux.vnet.ibm.com> References: <1415906662-4576-1-git-send-email-bobby.prani@gmail.com> <1415906662-4576-2-git-send-email-bobby.prani@gmail.com> Reply-To: paulmck@linux.vnet.ibm.com Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: Herbert Xu , "David S. Miller" , Horia Geanta , Michael Neuling , Kim Phillips , Wolfram Sang , Cristian Stoica , "open list:CRYPTO API" , open list To: Pranith Kumar Return-path: Content-Disposition: inline In-Reply-To: <1415906662-4576-2-git-send-email-bobby.prani@gmail.com> Sender: linux-kernel-owner@vger.kernel.org List-Id: linux-crypto.vger.kernel.org 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 > --- > 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 >