All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Allen Hubbe" <Allen.Hubbe@emc.com>
To: 'Logan Gunthorpe' <logang@deltatee.com>,
	'Jon Mason' <jdmason@kudzu.us>,
	'Dave Jiang' <dave.jiang@intel.com>
Cc: 'Shuah Khan' <shuahkh@osg.samsung.com>,
	'Sudip Mukherjee' <sudipm.mukherjee@gmail.com>,
	'Arnd Bergmann' <arnd@arndb.de>,
	linux-kernel@vger.kernel.org, linux-ntb@googlegroups.com,
	linux-kselftest@vger.kernel.org
Subject: RE: [PATCH v3 09/10] ntb_test: Add a selftest script for the NTB subsystem
Date: Wed, 15 Jun 2016 18:17:36 -0400	[thread overview]
Message-ID: <007b01d1c753$b9b6e840$2d24b8c0$@emc.com> (raw)
In-Reply-To: <5761CE79.8090703@deltatee.com>

From: Logan Gunthorpe
> On 15/06/16 03:49 PM, Allen Hubbe wrote:
> >> +function link_test()
> >> +{
> >> +	LOC=$1
> >> +	REM=$2
> >> +	EXP=0
> >> +
> >> +	echo "Running link tests on: $(basename $LOC) / $(basename $REM)"
> >> +
> >> +	write_file "N" "$LOC/link"
> >> +	write_file "N" "$LOC/link_event"
> >
> > If it fails to bring down the link, won't it just block waiting on link_event and never
> make it to the next step of the test?
> >
> >> +	if [[ $(read_file "$REM/link") != "N" ]]; then
> >> +		echo "Expected remote link to be down in $REM/link" >&2
> >> +		exit -1
> >> +	fi
> >> +
> >> +	write_file "Y" "$LOC/link"
> >> +	write_file "Y" "$LOC/link_event"
> >> +
> >> +	echo "  Passed"
> >> +}
> 
> Well, the test is really intended to ensure both sides of the link see
> changes to the link status. If the driver is somehow buggy and the link
> never goes down/up when requested there's little I can do here except
> block forever. Unless we want to add a timeout to the link_event file
> (which I'd rather not).
> 
> You'd have the same issue if, when bringing the link up for the first
> time, the link does not come back.

The link might come up, but this test checks if the link can be forced down.

This test should fail on Intel RP/TB topology (two cpu sharing one ntb).  The link state is the link state of the secondary side pcie bus connected to the secondary side cpu.  The link must be up in order for the secondary side cpu to discover the ntb device, so the driver does not allow the link to be disabled in such topology.

A simple thing to do here might be:

write_file "N" "$LOC/link"
sleep 1
read_file "$REM/link"

You already have my Ack.  This minor issue can be fixed later if anyone cares.  I don't think it is a big deal, just worth pointing out that the script will hang here instead of report a failure.  If it is worth fixing later, at that point we might also want to change this script to continue with other tests instead of exit on the first failure.


WARNING: multiple messages have this Message-ID (diff)
From: "Allen Hubbe" <Allen.Hubbe@emc.com>
To: "'Logan Gunthorpe'" <logang@deltatee.com>,
	"'Jon Mason'" <jdmason@kudzu.us>,
	"'Dave Jiang'" <dave.jiang@intel.com>
Cc: "'Shuah Khan'" <shuahkh@osg.samsung.com>,
	"'Sudip Mukherjee'" <sudipm.mukherjee@gmail.com>,
	"'Arnd Bergmann'" <arnd@arndb.de>, <linux-kernel@vger.kernel.org>,
	<linux-ntb@googlegroups.com>, <linux-kselftest@vger.kernel.org>
Subject: RE: [PATCH v3 09/10] ntb_test: Add a selftest script for the NTB subsystem
Date: Wed, 15 Jun 2016 18:17:36 -0400	[thread overview]
Message-ID: <007b01d1c753$b9b6e840$2d24b8c0$@emc.com> (raw)
In-Reply-To: <5761CE79.8090703@deltatee.com>

From: Logan Gunthorpe
> On 15/06/16 03:49 PM, Allen Hubbe wrote:
> >> +function link_test()
> >> +{
> >> +	LOC=$1
> >> +	REM=$2
> >> +	EXP=0
> >> +
> >> +	echo "Running link tests on: $(basename $LOC) / $(basename $REM)"
> >> +
> >> +	write_file "N" "$LOC/link"
> >> +	write_file "N" "$LOC/link_event"
> >
> > If it fails to bring down the link, won't it just block waiting on link_event and never
> make it to the next step of the test?
> >
> >> +	if [[ $(read_file "$REM/link") != "N" ]]; then
> >> +		echo "Expected remote link to be down in $REM/link" >&2
> >> +		exit -1
> >> +	fi
> >> +
> >> +	write_file "Y" "$LOC/link"
> >> +	write_file "Y" "$LOC/link_event"
> >> +
> >> +	echo "  Passed"
> >> +}
> 
> Well, the test is really intended to ensure both sides of the link see
> changes to the link status. If the driver is somehow buggy and the link
> never goes down/up when requested there's little I can do here except
> block forever. Unless we want to add a timeout to the link_event file
> (which I'd rather not).
> 
> You'd have the same issue if, when bringing the link up for the first
> time, the link does not come back.

The link might come up, but this test checks if the link can be forced down.

This test should fail on Intel RP/TB topology (two cpu sharing one ntb).  The link state is the link state of the secondary side pcie bus connected to the secondary side cpu.  The link must be up in order for the secondary side cpu to discover the ntb device, so the driver does not allow the link to be disabled in such topology.

A simple thing to do here might be:

write_file "N" "$LOC/link"
sleep 1
read_file "$REM/link"

You already have my Ack.  This minor issue can be fixed later if anyone cares.  I don't think it is a big deal, just worth pointing out that the script will hang here instead of report a failure.  If it is worth fixing later, at that point we might also want to change this script to continue with other tests instead of exit on the first failure.

  reply	other threads:[~2016-06-15 22:18 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-06-15 21:26 [PATCH v3 00/10] NTB Selftest Script Logan Gunthorpe
2016-06-15 21:26 ` [PATCH v3 01/10] ntb_perf: Schedule based on time not on performance Logan Gunthorpe
2016-06-15 21:26 ` [PATCH v3 02/10] ntb_perf: Improve thread handling to increase robustness Logan Gunthorpe
2016-06-15 21:26 ` [PATCH v3 03/10] ntb_perf: Return results by reading the run file Logan Gunthorpe
2016-06-15 21:26 ` [PATCH v3 04/10] ntb_perf: Wait for link before running test Logan Gunthorpe
2016-06-15 21:26 ` [PATCH v3 05/10] ntb_tool: BUG: Ensure the buffer size is large enough to return all spads Logan Gunthorpe
2016-06-15 21:26 ` [PATCH v3 06/10] ntb_tool: Postpone memory window initialization for the user Logan Gunthorpe
2016-06-15 21:53   ` Allen Hubbe
2016-06-15 21:53     ` Allen Hubbe
2016-06-15 21:26 ` [PATCH v3 07/10] ntb_tool: Add link status and files to debugfs Logan Gunthorpe
2016-06-15 21:48   ` Allen Hubbe
2016-06-15 21:48     ` Allen Hubbe
2016-06-15 21:26 ` [PATCH v3 08/10] ntb_pingpong: Add a debugfs file to get the ping count Logan Gunthorpe
2016-06-15 21:48   ` Allen Hubbe
2016-06-15 21:48     ` Allen Hubbe
2016-06-15 21:26 ` [PATCH v3 09/10] ntb_test: Add a selftest script for the NTB subsystem Logan Gunthorpe
2016-06-15 21:49   ` Allen Hubbe
2016-06-15 21:49     ` Allen Hubbe
2016-06-15 21:54     ` Logan Gunthorpe
2016-06-15 22:17       ` Allen Hubbe [this message]
2016-06-15 22:17         ` Allen Hubbe
2016-06-15 22:30         ` Logan Gunthorpe
2016-06-15 21:26 ` [PATCH v3 10/10] ntb_perf: clear link_is_up flag when the link goes down Logan Gunthorpe
2016-06-15 21:33   ` Jiang, Dave
2016-06-15 22:20     ` Logan Gunthorpe
2016-06-15 22:24       ` Jiang, Dave
2016-06-15 23:11         ` Logan Gunthorpe

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='007b01d1c753$b9b6e840$2d24b8c0$@emc.com' \
    --to=allen.hubbe@emc.com \
    --cc=arnd@arndb.de \
    --cc=dave.jiang@intel.com \
    --cc=jdmason@kudzu.us \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-kselftest@vger.kernel.org \
    --cc=linux-ntb@googlegroups.com \
    --cc=logang@deltatee.com \
    --cc=shuahkh@osg.samsung.com \
    --cc=sudipm.mukherjee@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.