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] [RFC PATCH i-g-t v2 7/8] tests/core_hotunplug: Add 'PRIME handle' variant
Date: Fri, 26 Jun 2020 12:56:48 +0200 [thread overview]
Message-ID: <03623ba15cb02bc6edba5d333a95b51baf59f4cd.camel@linux.intel.com> (raw)
In-Reply-To: <159311502818.202818.9312691111674456282@macragge.hardline.pl>
Hi Michał,
On Thu, 2020-06-25 at 21:57 +0200, Michał Winiarski wrote:
> Quoting Janusz Krzysztofik (2020-06-22 18:44:14)
> > Even if all device file descriptors are closed on device hotunplug,
> > PRIME exported objects may still exists, referenced by still open
> > dma-buf file handles. Add a subtest that keeps such handle open on
> > device hotunplug.
> >
> > v2: rebase on upstream
>
> Would be interesting to see what happens when someone actually imports an
> object from unplugged device (or the device is unplugged after it was imported).
> But perhaps that's something for the future.
Yes, let's keep it relatively simple for now. There seems to be quite
a few possible scenarios to cover. However, I'm going to add a very
basic use-after-hotunplug check, similar to what we have (hopefully)
agreed for context and address space variants.
>
> Also - the naming should probably be kept distinct from the other "lateclose"
> tests, since here we're closing the device FD before the unplug.
> Maybe just "prime-hotunplug"?
Since we are still interested in exercising the driver behaviour on
late closing the prime handle (now this case also explodes inside
intel-iommu), let's keep that namig even if we close the device and
only keep the prime file open.
Thanks,
Janusz
> But that's up to you - either way:
>
> Reviewed-by: Michał Winiarski <michal.winiarski@intel.com>
>
> -Michał
>
> > Signed-off-by: Janusz Krzysztofik <janusz.krzysztofik@linux.intel.com>
> > ---
> > tests/core_hotunplug.c | 36 ++++++++++++++++++++++++++++++++++++
> > 1 file changed, 36 insertions(+)
> >
> > diff --git a/tests/core_hotunplug.c b/tests/core_hotunplug.c
> > index c30d98a69..7cb699cc2 100644
> > --- a/tests/core_hotunplug.c
> > +++ b/tests/core_hotunplug.c
> > @@ -379,6 +379,35 @@ static void gem_hotunplug_lateclose(void)
> > healthcheck();
> > }
> >
> > +static void prime_hotunplug_lateclose(void)
> > +{
> > + struct hotunplug priv;
> > + uint32_t handle;
> > + int dmabuf;
> > +
> > + prepare_for_rescan(&priv);
> > +
> > + igt_require_gem(priv.fd.drm);
> > +
> > + local_debug("creating and PRIME-exporting a GEM object");
> > + handle = gem_create(priv.fd.drm, 4096);
> > + dmabuf = prime_handle_to_fd(priv.fd.drm, handle);
> > +
> > + local_debug("closing the device");
> > + close(priv.fd.drm);
> > +
> > + local_debug("hot unplugging the device");
> > + device_unplug(priv.fd.sysfs_dev);
> > +
> > + local_debug("late closing the PRIME file handle");
> > + close(dmabuf);
> > +
> > + local_debug("recovering the device");
> > + bus_rescan(priv.fd.sysfs_bus);
> > +
> > + healthcheck();
> > +}
> > +
> > /* Main */
> >
> > igt_main
> > @@ -465,4 +494,11 @@ igt_main
> >
> > igt_fixture
> > igt_abort_on_f(failure, "%s\n", failure);
> > +
> > + igt_describe("Check if a device with a still open PRIME-exported object can be cleanly unplugged, then released and recovered");
> > + igt_subtest("prime-hotunplug-lateclose")
> > + prime_hotunplug_lateclose();
> > +
> > + igt_fixture
> > + igt_abort_on_f(failure, "%s\n", failure);
> > }
> > --
> > 2.21.1
> >
> > _______________________________________________
> > igt-dev mailing list
> > igt-dev@lists.freedesktop.org
> > https://lists.freedesktop.org/mailman/listinfo/igt-dev
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
WARNING: multiple messages have this Message-ID (diff)
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: [Intel-gfx] [igt-dev] [RFC PATCH i-g-t v2 7/8] tests/core_hotunplug: Add 'PRIME handle' variant
Date: Fri, 26 Jun 2020 12:56:48 +0200 [thread overview]
Message-ID: <03623ba15cb02bc6edba5d333a95b51baf59f4cd.camel@linux.intel.com> (raw)
In-Reply-To: <159311502818.202818.9312691111674456282@macragge.hardline.pl>
Hi Michał,
On Thu, 2020-06-25 at 21:57 +0200, Michał Winiarski wrote:
> Quoting Janusz Krzysztofik (2020-06-22 18:44:14)
> > Even if all device file descriptors are closed on device hotunplug,
> > PRIME exported objects may still exists, referenced by still open
> > dma-buf file handles. Add a subtest that keeps such handle open on
> > device hotunplug.
> >
> > v2: rebase on upstream
>
> Would be interesting to see what happens when someone actually imports an
> object from unplugged device (or the device is unplugged after it was imported).
> But perhaps that's something for the future.
Yes, let's keep it relatively simple for now. There seems to be quite
a few possible scenarios to cover. However, I'm going to add a very
basic use-after-hotunplug check, similar to what we have (hopefully)
agreed for context and address space variants.
>
> Also - the naming should probably be kept distinct from the other "lateclose"
> tests, since here we're closing the device FD before the unplug.
> Maybe just "prime-hotunplug"?
Since we are still interested in exercising the driver behaviour on
late closing the prime handle (now this case also explodes inside
intel-iommu), let's keep that namig even if we close the device and
only keep the prime file open.
Thanks,
Janusz
> But that's up to you - either way:
>
> Reviewed-by: Michał Winiarski <michal.winiarski@intel.com>
>
> -Michał
>
> > Signed-off-by: Janusz Krzysztofik <janusz.krzysztofik@linux.intel.com>
> > ---
> > tests/core_hotunplug.c | 36 ++++++++++++++++++++++++++++++++++++
> > 1 file changed, 36 insertions(+)
> >
> > diff --git a/tests/core_hotunplug.c b/tests/core_hotunplug.c
> > index c30d98a69..7cb699cc2 100644
> > --- a/tests/core_hotunplug.c
> > +++ b/tests/core_hotunplug.c
> > @@ -379,6 +379,35 @@ static void gem_hotunplug_lateclose(void)
> > healthcheck();
> > }
> >
> > +static void prime_hotunplug_lateclose(void)
> > +{
> > + struct hotunplug priv;
> > + uint32_t handle;
> > + int dmabuf;
> > +
> > + prepare_for_rescan(&priv);
> > +
> > + igt_require_gem(priv.fd.drm);
> > +
> > + local_debug("creating and PRIME-exporting a GEM object");
> > + handle = gem_create(priv.fd.drm, 4096);
> > + dmabuf = prime_handle_to_fd(priv.fd.drm, handle);
> > +
> > + local_debug("closing the device");
> > + close(priv.fd.drm);
> > +
> > + local_debug("hot unplugging the device");
> > + device_unplug(priv.fd.sysfs_dev);
> > +
> > + local_debug("late closing the PRIME file handle");
> > + close(dmabuf);
> > +
> > + local_debug("recovering the device");
> > + bus_rescan(priv.fd.sysfs_bus);
> > +
> > + healthcheck();
> > +}
> > +
> > /* Main */
> >
> > igt_main
> > @@ -465,4 +494,11 @@ igt_main
> >
> > igt_fixture
> > igt_abort_on_f(failure, "%s\n", failure);
> > +
> > + igt_describe("Check if a device with a still open PRIME-exported object can be cleanly unplugged, then released and recovered");
> > + igt_subtest("prime-hotunplug-lateclose")
> > + prime_hotunplug_lateclose();
> > +
> > + igt_fixture
> > + igt_abort_on_f(failure, "%s\n", failure);
> > }
> > --
> > 2.21.1
> >
> > _______________________________________________
> > igt-dev mailing list
> > igt-dev@lists.freedesktop.org
> > https://lists.freedesktop.org/mailman/listinfo/igt-dev
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
next prev parent reply other threads:[~2020-06-26 10:56 UTC|newest]
Thread overview: 46+ 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 ` [Intel-gfx] " 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-22 16:44 ` [Intel-gfx] " Janusz Krzysztofik
2020-06-25 15:27 ` Michał Winiarski
2020-06-26 10:18 ` [igt-dev] " Janusz Krzysztofik
2020-06-26 10:18 ` Janusz Krzysztofik
2020-07-08 12:49 ` [igt-dev] " Arkadiusz Hiler
2020-07-08 12:49 ` [Intel-gfx] [igt-dev] " 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-22 16:44 ` [Intel-gfx] " Janusz Krzysztofik
2020-06-25 19:23 ` [Intel-gfx] [igt-dev] " Michał Winiarski
2020-06-26 10:20 ` Janusz Krzysztofik
2020-06-26 10:20 ` [Intel-gfx] " 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-22 16:44 ` [Intel-gfx] " Janusz Krzysztofik
2020-06-25 19:32 ` [igt-dev] " Michał Winiarski
2020-06-25 19:32 ` [Intel-gfx] " 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-22 16:44 ` [Intel-gfx] " Janusz Krzysztofik
2020-06-25 19:39 ` [igt-dev] " Michał Winiarski
2020-06-25 19:39 ` 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-22 16:44 ` [Intel-gfx] " Janusz Krzysztofik
2020-06-25 19:42 ` [Intel-gfx] [igt-dev] " Michał Winiarski
2020-06-26 8:04 ` Janusz Krzysztofik
2020-06-26 8:04 ` [Intel-gfx] " 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-22 16:44 ` [Intel-gfx] " Janusz Krzysztofik
2020-06-25 19:51 ` [igt-dev] " Michał Winiarski
2020-06-25 19:51 ` [Intel-gfx] " Michał Winiarski
2020-06-26 8:26 ` Janusz Krzysztofik
2020-06-26 8:26 ` [Intel-gfx] " 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-22 16:44 ` [Intel-gfx] " Janusz Krzysztofik
2020-06-25 19:57 ` [igt-dev] " Michał Winiarski
2020-06-25 19:57 ` [Intel-gfx] " Michał Winiarski
2020-06-26 10:56 ` Janusz Krzysztofik [this message]
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-25 20:02 ` Michał Winiarski
2020-06-26 8:51 ` [igt-dev] " Janusz Krzysztofik
2020-06-26 8:51 ` Janusz Krzysztofik
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=03623ba15cb02bc6edba5d333a95b51baf59f4cd.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 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.