[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1466029459.16234.263.camel@intel.com>
Date: Wed, 15 Jun 2016 22:24:36 +0000
From: "Jiang, Dave" <dave.jiang@...el.com>
To: "Allen.Hubbe@....com" <Allen.Hubbe@....com>,
"logang@...tatee.com" <logang@...tatee.com>,
"jdmason@...zu.us" <jdmason@...zu.us>
CC: "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"shuahkh@....samsung.com" <shuahkh@....samsung.com>,
"sudipm.mukherjee@...il.com" <sudipm.mukherjee@...il.com>,
"linux-kselftest@...r.kernel.org" <linux-kselftest@...r.kernel.org>,
"arnd@...db.de" <arnd@...db.de>,
"linux-ntb@...glegroups.com" <linux-ntb@...glegroups.com>
Subject: Re: [PATCH v3 10/10] ntb_perf: clear link_is_up flag when the link
goes down.
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 <logang@...tatee.com>
> > Acked-by: Dave Jiang <dave.jiang@...el.com>
> >
> > 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
Powered by blists - more mailing lists