public inbox for igt-dev@lists.freedesktop.org
 help / color / mirror / Atom feed
From: Petri Latvala <petri.latvala@intel.com>
To: "Krzysztofik, Janusz" <janusz.krzysztofik@intel.com>
Cc: "igt-dev@lists.freedesktop.org" <igt-dev@lists.freedesktop.org>,
	"Lee, Simon B" <simon.b.lee@intel.com>,
	Daniel Vetter <daniel@ffwll.ch>
Subject: Re: [igt-dev] [PATCH] tests: Add a new test for driver/device hot remove
Date: Mon, 1 Apr 2019 13:16:02 +0300	[thread overview]
Message-ID: <20190401101602.GD4038@platvala-desk.ger.corp.intel.com> (raw)
In-Reply-To: <13406167.079U4KmZ4F@jkrzyszt-desk.ger.corp.intel.com>

On Mon, Apr 01, 2019 at 08:55:37AM +0000, Krzysztofik, Janusz wrote:
> On Monday, April 1, 2019 9:22:34 AM CEST Daniel Vetter wrote:
> > On Fri, Mar 29, 2019 at 12:47:32PM +0200, Petri Latvala wrote:
> > > On Thu, Mar 28, 2019 at 05:47:19PM +0100, Janusz Krzysztofik wrote:
> > > > Run a dummy load in background to put some workload on a device, then
> > > > try
> > > > to either remove (unplug) the device from its bus, or unbind the
> > > > device's
> > > > driver from it, depending on which subtest has been selected.
> > > > 
> > > > The driver hot unbind / device hot unplug operation is expected to
> > > > succeed
> > > > in a reasonable time, however long timeouts are used to allow kernel
> > > > level timeouts pop up first if any.
> > > > 
> > > > Please note that if running both subtests consecutively, the second one
> > > > is always skipped as the device is no longer available as soon as the
> > > > first subtest is completed.  The most reliable way to run another
> > > > subtest
> > > > is to reboot the system first, then select next subtest to be run.
> > > 
> > > This is a requirement that won't fly for CI use. Is the
> > > rebinding/whatever of the device not possible to do? By the test?
> > > 
> > > Does it also apply to running other test binaries after running the
> > > first subtest? As in, is it just a timing issue?
> > 
> > Yeah like the module reload testcase this testcase needs to restore the
> > driver to working state afterwards. I think there's a corresponding rebind
> > sysfs file too.
> 
> I see your point, however I don't see how that could be done.
> 
> I think we can't say that the module reload test restores the driver to 
> working state.  It only TRIES to to that, and that's the merit of that test to 
> check if module reload succeeds or not.  I think there is no way to implement 
> "restore the driver to working state" that would work under all circumstances, 
> even if there is something wrong (a bug?) that causes it failing.  In other 
> words, I think a user should never assume the driver is in working state after 
> the i915_module_load test is run as that operation may simply fail.  The user 
> should look at the test result to learn about the driver state.
> 

The best scenario is that driver restore is attempted. If it doesn't,
we blacklist this test in CI, or don't merge it. If that works, all is
fine, but we still take the same care with this test as with module
reload tests.

Even the current state of business is that we don't run the module
reloading tests with the sharded runs (Fi.CI.IGT), only as part of BAT
(Fi.CI.BAT), as the last tests to execute. Shards run some of the
selftests, but as a separate shard.

Btw the selftests do _not_ require the machine to be rebooted after
them, or between them. When they succeed, all is fine. FSVO fine. We
run all selftests and then reboot implicitly as they are the last
things to run on a particular kernel. Sometimes we don't. The
requirement for reboot after any selftests that you mentioned in
another mail is due to the particular environment they are run in,
which doesn't cope well with reloading the kernel module.

> How the unplug/unbind test should proceed if it occurs there is something 
> wrong after module reload?  FAIL? SKIP? Or still SUCCESS, assuming unplug 
> itself succeeds? How the test should pass the information on module reload 
> results to a user? If we start asserting results of module reload to ensure 
> the driver is in working state, that will be a different test, not the 
> intended one, I believe.

igt_warn() I'd say.


-- 
Petri Latvala
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

  reply	other threads:[~2019-04-01 10:16 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-03-28 16:47 [igt-dev] [PATCH] tests: Add a new test for driver/device hot remove Janusz Krzysztofik
2019-03-28 17:20 ` [igt-dev] ✓ Fi.CI.BAT: success for " Patchwork
2019-03-29  3:33 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork
2019-03-29 10:47 ` [igt-dev] [PATCH] " Petri Latvala
2019-03-29 12:06   ` Krzysztofik, Janusz
2019-04-01  7:22   ` Daniel Vetter
2019-04-01  7:41     ` Daniel Vetter
2019-04-01  8:55     ` Krzysztofik, Janusz
2019-04-01 10:16       ` Petri Latvala [this message]
2019-04-02  8:47       ` Daniel Vetter

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=20190401101602.GD4038@platvala-desk.ger.corp.intel.com \
    --to=petri.latvala@intel.com \
    --cc=daniel@ffwll.ch \
    --cc=igt-dev@lists.freedesktop.org \
    --cc=janusz.krzysztofik@intel.com \
    --cc=simon.b.lee@intel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox