From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753761AbcFOWVR (ORCPT ); Wed, 15 Jun 2016 18:21:17 -0400 Received: from ale.deltatee.com ([207.54.116.67]:43030 "EHLO ale.deltatee.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752137AbcFOWVO (ORCPT ); Wed, 15 Jun 2016 18:21:14 -0400 To: "Jiang, Dave" , "Allen.Hubbe@emc.com" , "jdmason@kudzu.us" References: <1466026416.16234.262.camel@intel.com> Cc: "linux-kernel@vger.kernel.org" , "shuahkh@osg.samsung.com" , "sudipm.mukherjee@gmail.com" , "linux-kselftest@vger.kernel.org" , "arnd@arndb.de" , "linux-ntb@googlegroups.com" From: Logan Gunthorpe Message-ID: <5761D4C5.8090208@deltatee.com> Date: Wed, 15 Jun 2016 16:20:53 -0600 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Icedove/38.8.0 MIME-Version: 1.0 In-Reply-To: <1466026416.16234.262.camel@intel.com> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-SA-Exim-Connect-IP: 172.16.1.111 X-SA-Exim-Rcpt-To: linux-ntb@googlegroups.com, arnd@arndb.de, linux-kselftest@vger.kernel.org, sudipm.mukherjee@gmail.com, shuahkh@osg.samsung.com, linux-kernel@vger.kernel.org, jdmason@kudzu.us, Allen.Hubbe@emc.com, dave.jiang@intel.com X-SA-Exim-Mail-From: logang@deltatee.com Subject: Re: [PATCH v3 10/10] ntb_perf: clear link_is_up flag when the link goes down. X-SA-Exim-Version: 4.2.1 (built Mon, 26 Dec 2011 16:24:06 +0000) X-SA-Exim-Scanned: Yes (on ale.deltatee.com) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hey, Actually, I have to retract this patch. After some more thorough testing I'm finding an issue: When you remove and re-install the ntb_perf module very quickly, ntb_perf will occasionally miss the link up event. This is because the link_cleanup work gets delayed long enough that it gets scheduled after the link up event gets sent. It then cancels the link work that should have occurred. Without this patch, it never happens because link_is_up never returns to false. I think the correct solution is to just remove the link_cleanup work and do those actions immediately on receipt of the event. If there's agreement on this I can re-spin it again. Thanks, Logan On 15/06/16 03:33 PM, Jiang, Dave wrote: > On Wed, 2016-06-15 at 15:26 -0600, Logan Gunthorpe wrote: >> When the link goes down, the link_is_up flag did not return to >> false. This could have caused some subtle corner case bugs >> when the link goes up and down quickly. >> >> Signed-off-by: Logan Gunthorpe > > Acked-by: Dave Jiang > > And all the other ntb_perf patches since there were no additional > changes. > >> --- >> drivers/ntb/test/ntb_perf.c | 2 ++ >> 1 file changed, 2 insertions(+) >> >> diff --git a/drivers/ntb/test/ntb_perf.c >> b/drivers/ntb/test/ntb_perf.c >> index f0784e5..ae9d1b2 100644 >> --- a/drivers/ntb/test/ntb_perf.c >> +++ b/drivers/ntb/test/ntb_perf.c >> @@ -557,6 +557,8 @@ static void perf_link_cleanup(struct work_struct >> *work) >> >> if (!perf->link_is_up) >> cancel_delayed_work_sync(&perf->link_work); >> + >> + perf->link_is_up = false; >> } >> >> static int perf_setup_mw(struct ntb_dev *ntb, struct perf_ctx *perf) >> -- >> 2.1.4