From: Janusz Krzysztofik <janusz.krzysztofik@linux.intel.com>
To: "Michał Winiarski" <michal@hardline.pl>, igt-dev@lists.freedesktop.org
Cc: intel-gfx@lists.freedesktop.org
Subject: Re: [igt-dev] [Intel-gfx] [RFC PATCH i-g-t v2 8/8] tests/core_hotunplug: Add 'GEM batch' variant
Date: Fri, 26 Jun 2020 10:51:26 +0200 [thread overview]
Message-ID: <b5710b0e9e4fdfe78a2def1e79ac977c936cefdb.camel@linux.intel.com> (raw)
In-Reply-To: <159311533123.202818.8673731295694520597@macragge.hardline.pl>
Hi Michał,
On Thu, 2020-06-25 at 22:02 +0200, Michał Winiarski wrote:
> Quoting Janusz Krzysztofik (2020-06-22 18:44:15)
> > Verify if a device with a GEM batch job still running on a GPU can be
> > hot-unplugged cleanly and released, then recovered.
> >
> > v2: rebase on upstream
> >
> > Signed-off-by: Janusz Krzysztofik <janusz.krzysztofik@linux.intel.com>
> > ---
> > tests/core_hotunplug.c | 34 ++++++++++++++++++++++++++++++++++
> > 1 file changed, 34 insertions(+)
> >
> > diff --git a/tests/core_hotunplug.c b/tests/core_hotunplug.c
> > index 7cb699cc2..672ff661d 100644
> > --- a/tests/core_hotunplug.c
> > +++ b/tests/core_hotunplug.c
> > @@ -33,6 +33,7 @@
> > #include "i915/gem_vm.h"
> > #include "igt.h"
> > #include "igt_device_scan.h"
> > +#include "igt_dummyload.h"
> > #include "igt_kmod.h"
> > #include "igt_sysfs.h"
> >
> > @@ -408,6 +409,32 @@ static void prime_hotunplug_lateclose(void)
> > healthcheck();
> > }
> >
> > +static void batch_hotunplug_lateclose(void)
> > +{
> > + struct hotunplug priv;
> > + igt_spin_t *spin;
> > +
> > + prepare_for_rescan(&priv);
> > +
> > + igt_require_gem(priv.fd.drm);
> > +
> > + local_debug("running dummy load");
> > + spin = __igt_spin_new(priv.fd.drm, .flags = IGT_SPIN_POLL_RUN |
> > + IGT_SPIN_NO_PREEMPTION);
>
> Do we need IGT_SPIN_NO_PREEMPTION here?
Assuming my understanding of IGT_SPIN_NO_PREEMPTION was correct, my
intention was to exercise the driver's ability to cancel persistent GPU
tasks on hotunplug and clean up their associated resources on time in
order to avoid late dma_unmap issues. Please advise if you still think
this this flag not needed.
> We're also leaking spin here... And I don't think we can just call igt_spin_free
> after unplug, can we?
If you mean memory occupied by the spin structure, I know leaking it
looks bad but I think that shouldn't be a problem in a user space
process that is going to exit soon. But ayway, let me try what happens
on late igt_spin_free attempt.
Thanks,
Janusz
>
> -Michał
>
> > + igt_spin_busywait_until_started(spin);
> > +
> > + local_debug("hot unplugging the device");
> > + device_unplug(priv.fd.sysfs_dev);
> > +
> > + local_debug("late closing the removed device instance");
> > + close(priv.fd.drm);
> > +
> > + local_debug("recovering the device");
> > + bus_rescan(priv.fd.sysfs_bus);
> > +
> > + healthcheck();
> > +}
> > +
> > /* Main */
> >
> > igt_main
> > @@ -501,4 +528,11 @@ igt_main
> >
> > igt_fixture
> > igt_abort_on_f(failure, "%s\n", failure);
> > +
> > + igt_describe("Check if a device with a still running batch can be cleanly unplugged, then released and recovered");
> > + igt_subtest("batch-hotunplug-lateclose")
> > + batch_hotunplug_lateclose();
> > +
> > + igt_fixture
> > + igt_abort_on_f(failure, "%s\n", failure);
> > }
> > --
> > 2.21.1
> >
> > _______________________________________________
> > Intel-gfx mailing list
> > Intel-gfx@lists.freedesktop.org
> > https://lists.freedesktop.org/mailman/listinfo/intel-gfx
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
next prev parent reply other threads:[~2020-06-26 8:51 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-06-22 16:44 [igt-dev] [RFC PATCH i-g-t v2 0/8] tests/core_hotunplug: New subtests and enhancements Janusz Krzysztofik
2020-06-22 16:44 ` [igt-dev] [RFC PATCH i-g-t v2 1/8] tests/core_hotunplug: Duplicate debug messages in dmesg Janusz Krzysztofik
2020-06-25 15:27 ` [Intel-gfx] " Michał Winiarski
2020-06-26 10:18 ` [igt-dev] " Janusz Krzysztofik
2020-07-08 12:49 ` Arkadiusz Hiler
2020-06-22 16:44 ` [igt-dev] [RFC PATCH i-g-t v2 2/8] tests/core_hotunplug: Use PCI device sysfs entry, not DRM Janusz Krzysztofik
2020-06-25 19:23 ` [Intel-gfx] " Michał Winiarski
2020-06-26 10:20 ` Janusz Krzysztofik
2020-06-22 16:44 ` [igt-dev] [RFC PATCH i-g-t v2 3/8] tests/core_hotunplug: Add unbind-unplug-rescan variant Janusz Krzysztofik
2020-06-25 19:32 ` Michał Winiarski
2020-06-22 16:44 ` [igt-dev] [RFC PATCH i-g-t v2 4/8] tests/core_hotunplug: Add 'lateclose before recover' variants Janusz Krzysztofik
2020-06-25 19:39 ` [igt-dev] [Intel-gfx] " Michał Winiarski
2020-06-22 16:44 ` [igt-dev] [RFC PATCH i-g-t v2 5/8] tests/core_hotunplug: Add 'GEM address space' variant Janusz Krzysztofik
2020-06-25 19:42 ` [Intel-gfx] " Michał Winiarski
2020-06-26 8:04 ` Janusz Krzysztofik
2020-06-22 16:44 ` [igt-dev] [RFC PATCH i-g-t v2 6/8] tests/core_hotunplug: Add 'GEM object' variant Janusz Krzysztofik
2020-06-25 19:51 ` Michał Winiarski
2020-06-26 8:26 ` Janusz Krzysztofik
2020-06-22 16:44 ` [igt-dev] [RFC PATCH i-g-t v2 7/8] tests/core_hotunplug: Add 'PRIME handle' variant Janusz Krzysztofik
2020-06-25 19:57 ` Michał Winiarski
2020-06-26 10:56 ` Janusz Krzysztofik
2020-06-22 16:44 ` [Intel-gfx] [RFC PATCH i-g-t v2 8/8] tests/core_hotunplug: Add 'GEM batch' variant Janusz Krzysztofik
2020-06-25 20:02 ` [igt-dev] " Michał Winiarski
2020-06-26 8:51 ` Janusz Krzysztofik [this message]
2020-06-22 18:09 ` [igt-dev] ✗ Fi.CI.IGT: failure for tests/core_hotunplug: New subtests and enhancements (rev2) Patchwork
2020-06-23 7:03 ` [igt-dev] ✗ GitLab.Pipeline: warning " Patchwork
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=b5710b0e9e4fdfe78a2def1e79ac977c936cefdb.camel@linux.intel.com \
--to=janusz.krzysztofik@linux.intel.com \
--cc=igt-dev@lists.freedesktop.org \
--cc=intel-gfx@lists.freedesktop.org \
--cc=michal@hardline.pl \
/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