> -----Original Message----- > From: Wood Scott-B07421 > Sent: Friday, September 11, 2015 9:10 PM > To: Pledge Roy-R01356 <roy.ple...@freescale.com> > Cc: linuxppc-dev@lists.ozlabs.org; net...@vger.kernel.org; linux- > ker...@vger.kernel.org > Subject: Re: [v2 04/11] soc/fsl: Introduce drivers for the DPAA QMan > > On Wed, Aug 12, 2015 at 04:14:50PM -0400, Roy Pledge wrote: > > +/* Lock/unlock frame queues, subject to the "LOCKED" flag. This is > > +about > > + * inter-processor locking only. Note, FQLOCK() is always called > > +either under a > > + * local_irq_save() or from interrupt context - hence there's no need > > +for irq > > + * protection (and indeed, attempting to nest irq-protection doesn't > > +work, as > > + * the "irq en/disable" machinery isn't recursive...). */ #define > > +FQLOCK(fq) \ > > + do { \ > > + struct qman_fq *__fq478 = (fq); \ > > + if (fq_isset(__fq478, QMAN_FQ_FLAG_LOCKED)) \ > > + spin_lock(&__fq478->fqlock); \ > > + } while (0) > > +#define FQUNLOCK(fq) \ > > + do { \ > > + struct qman_fq *__fq478 = (fq); \ > > + if (fq_isset(__fq478, QMAN_FQ_FLAG_LOCKED)) \ > > + spin_unlock(&__fq478->fqlock); \ > > + } while (0) > > + > > I don't see QMAN_FQ_FLAG_LOCKED set anywhere. What is the use case?
The idea was to allow multiple threads to manipulate the state of a frame queue at the same time without clobbering each others changes since the operation is a read/modify/write. I see two users of this flag in code that hasn't been submitted upstream yet, but I'm not sure if the use is required in those two instances either. At a glance it doesn't seem like it is needed but I would need to follow up with the users to make sure they aren't performing FQ management commands in multiple threads. > > -Scott _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev