(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