Re: [Nfs-ganesha-devel] review request https://review.gerrithub.io/#/c/390652/
Aah. Now I could publish the comments. Thank you Matt. Regards, Satya. On Fri, Mar 9, 2018 at 9:53 PM, Matt Benjaminwrote: > Hi Satya, > > To reply, to a reply on the top level (can even be blank), all your > inline comments will publish then. > > Matt > > On Fri, Mar 9, 2018 at 11:21 AM, Satya Prakash GS > wrote: >> I had replied to the comments on the same day Matt posted. My replies show >> as drafts, looks like I have to publish them. I don't see a publish button >> either. Can you guys help me out. >> >> Thanks, >> Satya. >> >> On 9 Mar 2018 20:48, "Frank Filz" wrote: >>> >>> Matt had called for additional discussion on this, so let's get that >>> discussion going. >>> >>> Could you address Matt's questions? >>> >>> Frank >>> >>> > -Original Message- >>> > From: Satya Prakash GS [mailto:g.satyaprak...@gmail.com] >>> > Sent: Friday, March 9, 2018 4:17 AM >>> > To: nfs-ganesha-devel@lists.sourceforge.net >>> > Cc: Malahal Naineni ; Frank Filz >>> > >>> > Subject: review request https://review.gerrithub.io/#/c/390652/ >>> > >>> > Can somebody please review this change : >>> > https://review.gerrithub.io/#/c/390652/ >>> > >>> > It addresses this issue : >>> > >>> > Leak in DRC when client disconnects nfs_dupreq_finish doesn't call >>> > put_drc >>> > always. It does only if it meets certain criteria (drc_should_retire). >>> > This can leak >>> > the drc and the dupreq entries within it when the client disconnects. >>> > More >>> > information can be found here : https://sourceforge.net/p/nfs- >>> > ganesha/mailman/message/35815930/ >>> > >>> > >>> > >>> > Main idea behind the change. >>> > >>> > Introduced a new drc queue which holds all the active drc objects >>> > (tcp_drc_q in >>> > drc_st). >>> > Every new drc is added to tcp_drc_q initially. Eventually it is moved to >>> > tcp_drc_recycle_q. Drcs are freed from tcp_drc_recycle_q. Every drc is >>> > either in >>> > the active drc queue or in the recycle queue. >>> > >>> > DRC Refcount and transition from active drc to recycle queue : >>> > >>> > Drc refcnt is initialized to 2. In dupreq_start, increment the drc >>> > refcount. In >>> > dupreq_rele, decrement the drc refcnt. Drc refcnt is also decremented in >>> > nfs_rpc_free_user_data. When drc refcnt goes to 0 and drc is found not >>> > in use >>> > for 10 minutes, pick it up and free the entries in iterations of 32 >>> > items at at time. >>> > Once the dupreq entries goes to 0, remove the drc from tcp_drc_q and add >>> > it to >>> > tcp_drc_recycle_q. Today, entries added to tcp_drc_recycle_q are cleaned >>> > up >>> > periodically. Same logic should clean up these entries too. >>> > >>> > Thanks, >>> > Satya. >>> >> >> -- >> Check out the vibrant tech community on one of the world's most >> engaging tech sites, Slashdot.org! http://sdm.link/slashdot >> ___ >> Nfs-ganesha-devel mailing list >> Nfs-ganesha-devel@lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/nfs-ganesha-devel >> > > > > -- > > Matt Benjamin > Red Hat, Inc. > 315 West Huron Street, Suite 140A > Ann Arbor, Michigan 48103 > > http://www.redhat.com/en/technologies/storage > > tel. 734-821-5101 > fax. 734-769-8938 > cel. 734-216-5309 -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ Nfs-ganesha-devel mailing list Nfs-ganesha-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/nfs-ganesha-devel
Re: [Nfs-ganesha-devel] review request https://review.gerrithub.io/#/c/390652/
Hi Satya, To reply, to a reply on the top level (can even be blank), all your inline comments will publish then. Matt On Fri, Mar 9, 2018 at 11:21 AM, Satya Prakash GSwrote: > I had replied to the comments on the same day Matt posted. My replies show > as drafts, looks like I have to publish them. I don't see a publish button > either. Can you guys help me out. > > Thanks, > Satya. > > On 9 Mar 2018 20:48, "Frank Filz" wrote: >> >> Matt had called for additional discussion on this, so let's get that >> discussion going. >> >> Could you address Matt's questions? >> >> Frank >> >> > -Original Message- >> > From: Satya Prakash GS [mailto:g.satyaprak...@gmail.com] >> > Sent: Friday, March 9, 2018 4:17 AM >> > To: nfs-ganesha-devel@lists.sourceforge.net >> > Cc: Malahal Naineni ; Frank Filz >> > >> > Subject: review request https://review.gerrithub.io/#/c/390652/ >> > >> > Can somebody please review this change : >> > https://review.gerrithub.io/#/c/390652/ >> > >> > It addresses this issue : >> > >> > Leak in DRC when client disconnects nfs_dupreq_finish doesn't call >> > put_drc >> > always. It does only if it meets certain criteria (drc_should_retire). >> > This can leak >> > the drc and the dupreq entries within it when the client disconnects. >> > More >> > information can be found here : https://sourceforge.net/p/nfs- >> > ganesha/mailman/message/35815930/ >> > >> > >> > >> > Main idea behind the change. >> > >> > Introduced a new drc queue which holds all the active drc objects >> > (tcp_drc_q in >> > drc_st). >> > Every new drc is added to tcp_drc_q initially. Eventually it is moved to >> > tcp_drc_recycle_q. Drcs are freed from tcp_drc_recycle_q. Every drc is >> > either in >> > the active drc queue or in the recycle queue. >> > >> > DRC Refcount and transition from active drc to recycle queue : >> > >> > Drc refcnt is initialized to 2. In dupreq_start, increment the drc >> > refcount. In >> > dupreq_rele, decrement the drc refcnt. Drc refcnt is also decremented in >> > nfs_rpc_free_user_data. When drc refcnt goes to 0 and drc is found not >> > in use >> > for 10 minutes, pick it up and free the entries in iterations of 32 >> > items at at time. >> > Once the dupreq entries goes to 0, remove the drc from tcp_drc_q and add >> > it to >> > tcp_drc_recycle_q. Today, entries added to tcp_drc_recycle_q are cleaned >> > up >> > periodically. Same logic should clean up these entries too. >> > >> > Thanks, >> > Satya. >> > > -- > Check out the vibrant tech community on one of the world's most > engaging tech sites, Slashdot.org! http://sdm.link/slashdot > ___ > Nfs-ganesha-devel mailing list > Nfs-ganesha-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/nfs-ganesha-devel > -- Matt Benjamin Red Hat, Inc. 315 West Huron Street, Suite 140A Ann Arbor, Michigan 48103 http://www.redhat.com/en/technologies/storage tel. 734-821-5101 fax. 734-769-8938 cel. 734-216-5309 -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ Nfs-ganesha-devel mailing list Nfs-ganesha-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/nfs-ganesha-devel
Re: [Nfs-ganesha-devel] review request https://review.gerrithub.io/#/c/390652/
I had replied to the comments on the same day Matt posted. My replies show as drafts, looks like I have to publish them. I don't see a publish button either. Can you guys help me out. Thanks, Satya. On 9 Mar 2018 20:48, "Frank Filz"wrote: > Matt had called for additional discussion on this, so let's get that > discussion going. > > Could you address Matt's questions? > > Frank > > > -Original Message- > > From: Satya Prakash GS [mailto:g.satyaprak...@gmail.com] > > Sent: Friday, March 9, 2018 4:17 AM > > To: nfs-ganesha-devel@lists.sourceforge.net > > Cc: Malahal Naineni ; Frank Filz > > > > Subject: review request https://review.gerrithub.io/#/c/390652/ > > > > Can somebody please review this change : > > https://review.gerrithub.io/#/c/390652/ > > > > It addresses this issue : > > > > Leak in DRC when client disconnects nfs_dupreq_finish doesn't call > put_drc > > always. It does only if it meets certain criteria (drc_should_retire). > This can leak > > the drc and the dupreq entries within it when the client disconnects. > More > > information can be found here : https://sourceforge.net/p/nfs- > > ganesha/mailman/message/35815930/ > > > > > > > > Main idea behind the change. > > > > Introduced a new drc queue which holds all the active drc objects > (tcp_drc_q in > > drc_st). > > Every new drc is added to tcp_drc_q initially. Eventually it is moved to > > tcp_drc_recycle_q. Drcs are freed from tcp_drc_recycle_q. Every drc is > either in > > the active drc queue or in the recycle queue. > > > > DRC Refcount and transition from active drc to recycle queue : > > > > Drc refcnt is initialized to 2. In dupreq_start, increment the drc > refcount. In > > dupreq_rele, decrement the drc refcnt. Drc refcnt is also decremented in > > nfs_rpc_free_user_data. When drc refcnt goes to 0 and drc is found not > in use > > for 10 minutes, pick it up and free the entries in iterations of 32 > items at at time. > > Once the dupreq entries goes to 0, remove the drc from tcp_drc_q and add > it to > > tcp_drc_recycle_q. Today, entries added to tcp_drc_recycle_q are cleaned > up > > periodically. Same logic should clean up these entries too. > > > > Thanks, > > Satya. > > -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot___ Nfs-ganesha-devel mailing list Nfs-ganesha-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/nfs-ganesha-devel
Re: [Nfs-ganesha-devel] review request https://review.gerrithub.io/#/c/390652/
Matt had called for additional discussion on this, so let's get that discussion going. Could you address Matt's questions? Frank > -Original Message- > From: Satya Prakash GS [mailto:g.satyaprak...@gmail.com] > Sent: Friday, March 9, 2018 4:17 AM > To: nfs-ganesha-devel@lists.sourceforge.net > Cc: Malahal Naineni; Frank Filz > > Subject: review request https://review.gerrithub.io/#/c/390652/ > > Can somebody please review this change : > https://review.gerrithub.io/#/c/390652/ > > It addresses this issue : > > Leak in DRC when client disconnects nfs_dupreq_finish doesn't call put_drc > always. It does only if it meets certain criteria (drc_should_retire). This > can leak > the drc and the dupreq entries within it when the client disconnects. More > information can be found here : https://sourceforge.net/p/nfs- > ganesha/mailman/message/35815930/ > > > > Main idea behind the change. > > Introduced a new drc queue which holds all the active drc objects (tcp_drc_q > in > drc_st). > Every new drc is added to tcp_drc_q initially. Eventually it is moved to > tcp_drc_recycle_q. Drcs are freed from tcp_drc_recycle_q. Every drc is either > in > the active drc queue or in the recycle queue. > > DRC Refcount and transition from active drc to recycle queue : > > Drc refcnt is initialized to 2. In dupreq_start, increment the drc refcount. > In > dupreq_rele, decrement the drc refcnt. Drc refcnt is also decremented in > nfs_rpc_free_user_data. When drc refcnt goes to 0 and drc is found not in use > for 10 minutes, pick it up and free the entries in iterations of 32 items at > at time. > Once the dupreq entries goes to 0, remove the drc from tcp_drc_q and add it to > tcp_drc_recycle_q. Today, entries added to tcp_drc_recycle_q are cleaned up > periodically. Same logic should clean up these entries too. > > Thanks, > Satya. -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ Nfs-ganesha-devel mailing list Nfs-ganesha-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/nfs-ganesha-devel
[Nfs-ganesha-devel] review request https://review.gerrithub.io/#/c/390652/
Can somebody please review this change : https://review.gerrithub.io/#/c/390652/ It addresses this issue : Leak in DRC when client disconnects nfs_dupreq_finish doesn't call put_drc always. It does only if it meets certain criteria (drc_should_retire). This can leak the drc and the dupreq entries within it when the client disconnects. More information can be found here : https://sourceforge.net/p/nfs-ganesha/mailman/message/35815930/ Main idea behind the change. Introduced a new drc queue which holds all the active drc objects (tcp_drc_q in drc_st). Every new drc is added to tcp_drc_q initially. Eventually it is moved to tcp_drc_recycle_q. Drcs are freed from tcp_drc_recycle_q. Every drc is either in the active drc queue or in the recycle queue. DRC Refcount and transition from active drc to recycle queue : Drc refcnt is initialized to 2. In dupreq_start, increment the drc refcount. In dupreq_rele, decrement the drc refcnt. Drc refcnt is also decremented in nfs_rpc_free_user_data. When drc refcnt goes to 0 and drc is found not in use for 10 minutes, pick it up and free the entries in iterations of 32 items at at time. Once the dupreq entries goes to 0, remove the drc from tcp_drc_q and add it to tcp_drc_recycle_q. Today, entries added to tcp_drc_recycle_q are cleaned up periodically. Same logic should clean up these entries too. Thanks, Satya. -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ Nfs-ganesha-devel mailing list Nfs-ganesha-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/nfs-ganesha-devel