From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933143AbcFOWYm (ORCPT ); Wed, 15 Jun 2016 18:24:42 -0400 Received: from mga01.intel.com ([192.55.52.88]:16653 "EHLO mga01.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932946AbcFOWYi (ORCPT ); Wed, 15 Jun 2016 18:24:38 -0400 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.26,477,1459839600"; d="scan'208";a="976564183" From: "Jiang, Dave" To: "Allen.Hubbe@emc.com" , "logang@deltatee.com" , "jdmason@kudzu.us" 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" Subject: Re: [PATCH v3 10/10] ntb_perf: clear link_is_up flag when the link goes down. Thread-Topic: [PATCH v3 10/10] ntb_perf: clear link_is_up flag when the link goes down. Thread-Index: AQHRx0yreFHaugVqjUOT/s57Otd2Wp/rgeUAgAANNoCAAAD1gA== Date: Wed, 15 Jun 2016 22:24:36 +0000 Message-ID: <1466029459.16234.263.camel@intel.com> References: <1466026416.16234.262.camel@intel.com> <5761D4C5.8090208@deltatee.com> In-Reply-To: <5761D4C5.8090208@deltatee.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [143.182.137.38] Content-Type: text/plain; charset="utf-8" Content-ID: <89D7955BD9F78645919C3AA15900F551@intel.com> MIME-Version: 1.0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from base64 to 8bit by mail.home.local id u5FMOkHJ029755 On Wed, 2016-06-15 at 16:20 -0600, Logan Gunthorpe wrote: > 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. I'm ok with that. This is not an issue with ntb_transport? > > 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