(ie, you're welcome to work with our code here)

Matt

-- 
Matt Benjamin
Red Hat, Inc.
315 West Huron Street, Suite 140A
Ann Arbor, Michigan 48103

http://www.redhat.com/en/technologies/storage

tel.  734-761-4689
fax.  734-769-8938
cel.  734-216-5309

----- Original Message -----
> From: "Matt W. Benjamin" <m...@cohortfs.com>
> To: "Malahal Naineni" <mala...@us.ibm.com>
> Cc: nfs-ganesha-devel@lists.sourceforge.net
> Sent: Wednesday, September 9, 2015 9:40:11 AM
> Subject: Re: [Nfs-ganesha-devel] Lost wakeup with nfs_rpc_dequeue_req() and 
> nfs_rpc_enqueue_req()
> 
> I'm not sure I believe that there is hang case, but if there is, the
> simple fix for it is to bound the offending wait.
> 
> I have a branch that uses a lock-free bounded mpmc queue based work we
> did last year in the Ceph codebase.  I have something working but not
> efficiently, and I haven't have time to explore the issues/tuning.
> 
> Any dramatic change here should probably not be for 2.3.
> 
> Matt
> 
> ----- "Malahal Naineni" <mala...@us.ibm.com> wrote:
> 
> > William Allen Simpson [william.allen.simp...@gmail.com] wrote:
> > > On 9/8/15 9:03 PM, Malahal Naineni wrote:
> > > > The nfs_rpc_enqueue_req is called by the producer and
> > > > nfs_rpc_dequeue_req is called by the consumer. Here is the high
> > level
> > > > view of those functions.
> > > >
> > > > In particular, if a consumer finds no request in the queue, and
> > then
> > > > attempts to go to sleep, but before he adds himself to the wait
> > list
> > > > (before step 2b), if producer adds another request at that
> > instant, the
> > > > producer would find the wait list empty and couldn't wake up any
> > > > consumer.
> > > >
> > > I've not paid much attention to this, as my goal is to eliminate
> > it,
> > > but isn't there a lock involved?  That would make all the
> > difference.
> > 
> > Locks are there but they fail to ensure the race! How are you going
> > to
> > eliminate it? Wondering if having a lane for each worker thread is a
> > good idea here. This would make it SPSC (single producer single
> > consumer) which should be easy for a lockless code.
> > 
> > Regards, Malahal.
> > 
> > 
> > ------------------------------------------------------------------------------
> > Monitor Your Dynamic Infrastructure at Any Scale With Datadog!
> > Get real-time metrics from all of your servers, apps and tools
> > in one place.
> > SourceForge users - Click here to start your Free Trial of Datadog
> > now!
> > http://pubads.g.doubleclick.net/gampad/clk?id=241902991&iu=/4140
> > _______________________________________________
> > Nfs-ganesha-devel mailing list
> > Nfs-ganesha-devel@lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/nfs-ganesha-devel
> 
> --
> Matt Benjamin
> CohortFS, LLC.
> 315 West Huron Street, Suite 140A
> Ann Arbor, Michigan 48103
> 
> http://cohortfs.com
> 
> tel.  734-761-4689
> fax.  734-769-8938
> cel.  734-216-5309
> 
> ------------------------------------------------------------------------------
> Monitor Your Dynamic Infrastructure at Any Scale With Datadog!
> Get real-time metrics from all of your servers, apps and tools
> in one place.
> SourceForge users - Click here to start your Free Trial of Datadog now!
> http://pubads.g.doubleclick.net/gampad/clk?id=241902991&iu=/4140
> _______________________________________________
> Nfs-ganesha-devel mailing list
> Nfs-ganesha-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/nfs-ganesha-devel
> 

------------------------------------------------------------------------------
Monitor Your Dynamic Infrastructure at Any Scale With Datadog!
Get real-time metrics from all of your servers, apps and tools
in one place.
SourceForge users - Click here to start your Free Trial of Datadog now!
http://pubads.g.doubleclick.net/gampad/clk?id=241902991&iu=/4140
_______________________________________________
Nfs-ganesha-devel mailing list
Nfs-ganesha-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nfs-ganesha-devel

Reply via email to