From: Zhenyu Wang <zhenyuw@linux.intel.com> To: Luis Chamberlain <mcgrof@kernel.org> Cc: Christoph Hellwig <hch@lst.de>, Jason Gunthorpe <jgg@nvidia.com>, "dri-devel@lists.freedesktop.org" <dri-devel@lists.freedesktop.org>, Greg KH <gregkh@linuxfoundation.org>, "intel-gfx@lists.freedesktop.org" <intel-gfx@lists.freedesktop.org>, Joonas Lahtinen <joonas.lahtinen@linux.intel.com>, "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>, Jani Nikula <jani.nikula@linux.intel.com>, Gerd Hoffmann <kraxel@redhat.com>, "Vivi, Rodrigo" <rodrigo.vivi@intel.com>, "intel-gvt-dev@lists.freedesktop.org" <intel-gvt-dev@lists.freedesktop.org>, "Wang, Zhi A" <zhi.a.wang@intel.com>, Jani Nikula <jani.nikula@intel.com> Subject: Re: refactor the i915 GVT support Date: Thu, 26 Aug 2021 14:12:19 +0800 [thread overview] Message-ID: <20210826061219.GD9942@zhen-hp.sh.intel.com> (raw) In-Reply-To: <YSAI8pKAvvW/8S2O@bombadil.infradead.org> [-- Attachment #1: Type: text/plain, Size: 1814 bytes --] On 2021.08.20 12:56:34 -0700, Luis Chamberlain wrote: > On Fri, Aug 20, 2021 at 04:17:24PM +0200, Christoph Hellwig wrote: > > On Thu, Aug 19, 2021 at 04:29:29PM +0800, Zhenyu Wang wrote: > > > I'm working on below patch to resolve this. But I met a weird issue in > > > case when building i915 as module and also kvmgt module, it caused > > > busy wait on request_module("kvmgt") when boot, it doesn't happen if > > > building i915 into kernel. I'm not sure what could be the reason? > > > > Luis, do you know if there is a problem with a request_module from > > a driver ->probe routine that is probably called by a module_init > > function itself? > > Generally no, but you can easily foot yourself in the feet by creating > cross dependencies and not dealing with them properly. I'd make sure > to keep module initialization as simple as possible, and run whatever > takes more time asynchronously, then use a state machine to allow > you to verify where you are in the initialization phase or query it > or wait for a completion with a timeout. > > It seems the code in question is getting some spring cleaning, and its > unclear where the code is I can inspect. If there's a tree somewhere I > can take a peak I'd be happy to review possible oddities that may stick > out. I tried to put current patches under test here: https://github.com/intel/gvt-linux/tree/gvt-staging The issue can be produced with CONFIG_DRM_I915=m and CONFIG_DRM_I915_GVT_KVMGT=m. > > My goto model for these sorts of problems is to abstract the issue > *outside* of the driver in question and implement new selftests to > try to reproduce. This serves two purposes, 1) helps with testing > 2) may allow you to see the problem more clearly. > I'll see if can abstract that. Thanks, Luis. [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 195 bytes --]
WARNING: multiple messages have this Message-ID (diff)
From: Zhenyu Wang <zhenyuw@linux.intel.com> To: Luis Chamberlain <mcgrof@kernel.org> Cc: Christoph Hellwig <hch@lst.de>, Jason Gunthorpe <jgg@nvidia.com>, "dri-devel@lists.freedesktop.org" <dri-devel@lists.freedesktop.org>, Greg KH <gregkh@linuxfoundation.org>, "intel-gfx@lists.freedesktop.org" <intel-gfx@lists.freedesktop.org>, Joonas Lahtinen <joonas.lahtinen@linux.intel.com>, "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>, Jani Nikula <jani.nikula@linux.intel.com>, Gerd Hoffmann <kraxel@redhat.com>, "Vivi, Rodrigo" <rodrigo.vivi@intel.com>, "intel-gvt-dev@lists.freedesktop.org" <intel-gvt-dev@lists.freedesktop.org>, "Wang, Zhi A" <zhi.a.wang@intel.com>, Jani Nikula <jani.nikula@intel.com> Subject: Re: [Intel-gfx] refactor the i915 GVT support Date: Thu, 26 Aug 2021 14:12:19 +0800 [thread overview] Message-ID: <20210826061219.GD9942@zhen-hp.sh.intel.com> (raw) In-Reply-To: <YSAI8pKAvvW/8S2O@bombadil.infradead.org> [-- Attachment #1: Type: text/plain, Size: 1814 bytes --] On 2021.08.20 12:56:34 -0700, Luis Chamberlain wrote: > On Fri, Aug 20, 2021 at 04:17:24PM +0200, Christoph Hellwig wrote: > > On Thu, Aug 19, 2021 at 04:29:29PM +0800, Zhenyu Wang wrote: > > > I'm working on below patch to resolve this. But I met a weird issue in > > > case when building i915 as module and also kvmgt module, it caused > > > busy wait on request_module("kvmgt") when boot, it doesn't happen if > > > building i915 into kernel. I'm not sure what could be the reason? > > > > Luis, do you know if there is a problem with a request_module from > > a driver ->probe routine that is probably called by a module_init > > function itself? > > Generally no, but you can easily foot yourself in the feet by creating > cross dependencies and not dealing with them properly. I'd make sure > to keep module initialization as simple as possible, and run whatever > takes more time asynchronously, then use a state machine to allow > you to verify where you are in the initialization phase or query it > or wait for a completion with a timeout. > > It seems the code in question is getting some spring cleaning, and its > unclear where the code is I can inspect. If there's a tree somewhere I > can take a peak I'd be happy to review possible oddities that may stick > out. I tried to put current patches under test here: https://github.com/intel/gvt-linux/tree/gvt-staging The issue can be produced with CONFIG_DRM_I915=m and CONFIG_DRM_I915_GVT_KVMGT=m. > > My goto model for these sorts of problems is to abstract the issue > *outside* of the driver in question and implement new selftests to > try to reproduce. This serves two purposes, 1) helps with testing > 2) may allow you to see the problem more clearly. > I'll see if can abstract that. Thanks, Luis. [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 195 bytes --]
next prev parent reply other threads:[~2021-08-26 6:35 UTC|newest] Thread overview: 156+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-07-21 15:53 refactor the i915 GVT support Christoph Hellwig 2021-07-21 15:53 ` [Intel-gfx] " Christoph Hellwig 2021-07-21 15:53 ` [PATCH 01/21] drm/i915/gvt: integrate into the main Makefile Christoph Hellwig 2021-07-21 15:53 ` [Intel-gfx] " Christoph Hellwig 2021-08-03 9:27 ` Zhenyu Wang 2021-08-03 9:27 ` [Intel-gfx] " Zhenyu Wang 2021-07-21 15:53 ` [PATCH 02/21] drm/i915/gvt: remove module refcounting in intel_gvt_{,un}register_hypervisor Christoph Hellwig 2021-07-21 15:53 ` [Intel-gfx] [PATCH 02/21] drm/i915/gvt: remove module refcounting in intel_gvt_{, un}register_hypervisor Christoph Hellwig 2021-07-21 15:53 ` [PATCH 03/21] drm/i915/gvt: remove enum hypervisor_type Christoph Hellwig 2021-07-21 15:53 ` [Intel-gfx] " Christoph Hellwig 2021-07-21 15:53 ` [PATCH 04/21] drm/i915/gvt: move the gvt code into kvmgt.ko Christoph Hellwig 2021-07-21 15:53 ` [Intel-gfx] " Christoph Hellwig 2021-08-09 11:29 ` Joonas Lahtinen 2021-08-09 11:29 ` [Intel-gfx] " Joonas Lahtinen 2021-08-09 14:29 ` Christoph Hellwig 2021-08-09 14:29 ` [Intel-gfx] " Christoph Hellwig 2021-07-21 15:53 ` [PATCH 05/21] drm/i915/gvt: remove intel_gvt_ops Christoph Hellwig 2021-07-21 15:53 ` [Intel-gfx] " Christoph Hellwig 2021-07-21 15:53 ` [PATCH 06/21] drm/i915/gvt: remove the map_gfn_to_mfn and set_trap_area ops Christoph Hellwig 2021-07-21 15:53 ` [Intel-gfx] " Christoph Hellwig 2021-07-21 15:53 ` [PATCH 07/21] drm/i915/gvt: remove the unused from_virt_to_mfn op Christoph Hellwig 2021-07-21 15:53 ` [Intel-gfx] " Christoph Hellwig 2021-07-21 15:53 ` [PATCH 08/21] drm/i915/gvt: merge struct kvmgt_vdev into struct intel_vgpu Christoph Hellwig 2021-07-21 15:53 ` [Intel-gfx] " Christoph Hellwig 2021-07-21 15:53 ` [PATCH 09/21] drm/i915/gvt: merge struct kvmgt_guest_info into strut intel_vgpu Christoph Hellwig 2021-07-21 15:53 ` [Intel-gfx] " Christoph Hellwig 2021-07-21 15:53 ` [PATCH 10/21] drm/i915/gvt: remove vgpu->handle Christoph Hellwig 2021-07-21 15:53 ` [Intel-gfx] " Christoph Hellwig 2021-07-21 15:53 ` [PATCH 11/21] drm/i915/gvt: devirtualize ->{read,write}_gpa Christoph Hellwig 2021-07-21 15:53 ` [Intel-gfx] [PATCH 11/21] drm/i915/gvt: devirtualize ->{read, write}_gpa Christoph Hellwig 2021-07-21 15:53 ` [PATCH 12/21] drm/i915/gvt: devirtualize ->{get,put}_vfio_device Christoph Hellwig 2021-07-21 15:53 ` [Intel-gfx] [PATCH 12/21] drm/i915/gvt: devirtualize ->{get, put}_vfio_device Christoph Hellwig 2021-07-21 15:53 ` [PATCH 13/21] drm/i915/gvt: devirtualize ->set_edid and ->set_opregion Christoph Hellwig 2021-07-21 15:53 ` [Intel-gfx] " Christoph Hellwig 2021-07-21 15:53 ` [PATCH 14/21] drm/i915/gvt: devirtualize ->detach_vgpu Christoph Hellwig 2021-07-21 15:53 ` [Intel-gfx] " Christoph Hellwig 2021-07-21 15:53 ` [PATCH 15/21] drm/i915/gvt: devirtualize ->inject_msi Christoph Hellwig 2021-07-21 15:53 ` [Intel-gfx] " Christoph Hellwig 2021-07-21 15:53 ` [PATCH 16/21] drm/i915/gvt: devirtualize ->is_valid_gfn Christoph Hellwig 2021-07-21 15:53 ` [Intel-gfx] " Christoph Hellwig 2021-07-21 15:53 ` [PATCH 17/21] drm/i915/gvt: devirtualize ->gfn_to_mfn Christoph Hellwig 2021-07-21 15:53 ` [Intel-gfx] " Christoph Hellwig 2021-07-21 15:53 ` [PATCH 18/21] drm/i915/gvt: devirtualize ->{enable,disable}_page_track Christoph Hellwig 2021-07-21 15:53 ` [Intel-gfx] [PATCH 18/21] drm/i915/gvt: devirtualize ->{enable, disable}_page_track Christoph Hellwig 2021-07-21 15:53 ` [PATCH 19/21] drm/i915/gvt: devirtualize ->dma_{,un}map_guest_page Christoph Hellwig 2021-07-21 15:53 ` [Intel-gfx] [PATCH 19/21] drm/i915/gvt: devirtualize ->dma_{, un}map_guest_page Christoph Hellwig 2021-07-21 15:53 ` [PATCH 20/21] drm/i915/gvt: devirtualize dma_pin_guest_page Christoph Hellwig 2021-07-21 15:53 ` [Intel-gfx] " Christoph Hellwig 2021-07-21 15:53 ` [PATCH 21/21] drm/i915/gvt: remove struct intel_gvt_mpt Christoph Hellwig 2021-07-21 15:53 ` [Intel-gfx] " Christoph Hellwig 2021-07-21 17:42 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for series starting with [01/21] drm/i915/gvt: integrate into the main Makefile Patchwork 2021-07-21 17:43 ` [Intel-gfx] ✗ Fi.CI.SPARSE: " Patchwork 2021-07-21 18:12 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork 2021-07-21 21:14 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork 2021-07-22 9:45 ` refactor the i915 GVT support Zhenyu Wang 2021-07-22 9:45 ` [Intel-gfx] " Zhenyu Wang 2021-07-22 9:45 ` Zhenyu Wang 2021-07-22 12:55 ` Christoph Hellwig 2021-07-22 12:55 ` [Intel-gfx] " Christoph Hellwig 2021-07-22 10:49 ` Wang, Zhi A 2021-07-22 10:49 ` [Intel-gfx] " Wang, Zhi A 2021-07-22 10:49 ` Wang, Zhi A 2021-07-22 11:26 ` Gerd Hoffmann 2021-07-22 11:26 ` [Intel-gfx] " Gerd Hoffmann 2021-07-22 11:26 ` Gerd Hoffmann 2021-07-27 12:12 ` Jason Gunthorpe 2021-07-27 12:12 ` [Intel-gfx] " Jason Gunthorpe 2021-07-27 12:12 ` Jason Gunthorpe 2021-07-28 13:38 ` Wang, Zhi A 2021-07-28 13:38 ` [Intel-gfx] " Wang, Zhi A 2021-07-28 13:38 ` Wang, Zhi A 2021-07-28 13:43 ` Greg KH 2021-07-28 13:43 ` [Intel-gfx] " Greg KH 2021-07-28 13:43 ` Greg KH 2021-07-28 17:59 ` Jason Gunthorpe 2021-07-28 17:59 ` [Intel-gfx] " Jason Gunthorpe 2021-07-28 17:59 ` Jason Gunthorpe 2021-07-29 7:20 ` Christoph Hellwig 2021-07-29 7:20 ` [Intel-gfx] " Christoph Hellwig 2021-07-29 7:30 ` Daniel Vetter 2021-07-29 7:30 ` Daniel Vetter 2021-07-29 7:30 ` Daniel Vetter 2021-08-03 9:43 ` Zhenyu Wang 2021-08-03 9:43 ` [Intel-gfx] " Zhenyu Wang 2021-08-03 9:43 ` Zhenyu Wang 2021-08-03 14:30 ` Jason Gunthorpe 2021-08-03 14:30 ` [Intel-gfx] " Jason Gunthorpe 2021-08-03 14:30 ` Jason Gunthorpe 2021-08-04 5:26 ` Zhenyu Wang 2021-08-04 5:26 ` [Intel-gfx] " Zhenyu Wang 2021-08-04 5:26 ` Zhenyu Wang 2021-08-16 17:34 ` Christoph Hellwig 2021-08-16 17:34 ` [Intel-gfx] " Christoph Hellwig 2021-08-17 1:08 ` Zhenyu Wang 2021-08-17 1:08 ` [Intel-gfx] " Zhenyu Wang 2021-08-17 1:08 ` Zhenyu Wang 2021-08-17 5:22 ` Zhenyu Wang 2021-08-17 5:22 ` [Intel-gfx] " Zhenyu Wang 2021-08-17 5:22 ` Zhenyu Wang 2021-08-19 8:29 ` Zhenyu Wang 2021-08-19 8:29 ` [Intel-gfx] " Zhenyu Wang 2021-08-19 8:29 ` Zhenyu Wang 2021-08-19 14:43 ` Joonas Lahtinen 2021-08-19 14:43 ` [Intel-gfx] " Joonas Lahtinen 2021-08-19 14:43 ` Joonas Lahtinen 2021-08-26 6:04 ` Zhenyu Wang 2021-08-26 6:04 ` [Intel-gfx] " Zhenyu Wang 2021-08-26 6:04 ` Zhenyu Wang 2021-08-20 14:17 ` Christoph Hellwig 2021-08-20 14:17 ` [Intel-gfx] " Christoph Hellwig 2021-08-20 19:56 ` Luis Chamberlain 2021-08-20 19:56 ` [Intel-gfx] " Luis Chamberlain 2021-08-20 19:56 ` Luis Chamberlain 2021-08-26 6:12 ` Zhenyu Wang [this message] 2021-08-26 6:12 ` [Intel-gfx] " Zhenyu Wang 2021-08-26 6:12 ` Zhenyu Wang 2021-09-28 7:41 ` Wang, Zhi A 2021-09-28 7:41 ` [Intel-gfx] " Wang, Zhi A 2021-09-28 7:41 ` Wang, Zhi A 2021-09-28 14:00 ` Luis Chamberlain 2021-09-28 14:00 ` [Intel-gfx] " Luis Chamberlain 2021-09-28 14:00 ` Luis Chamberlain 2021-09-28 14:35 ` Wang, Zhi A 2021-09-28 14:35 ` [Intel-gfx] " Wang, Zhi A 2021-09-28 14:35 ` Wang, Zhi A 2021-09-28 15:05 ` Jason Gunthorpe 2021-09-28 15:05 ` [Intel-gfx] " Jason Gunthorpe 2021-09-28 15:05 ` Jason Gunthorpe 2021-09-29 18:27 ` Wang, Zhi A 2021-09-29 18:27 ` [Intel-gfx] " Wang, Zhi A 2021-09-29 18:27 ` Wang, Zhi A 2021-09-29 18:55 ` Jason Gunthorpe 2021-09-29 18:55 ` [Intel-gfx] " Jason Gunthorpe 2021-09-29 18:55 ` Jason Gunthorpe 2021-10-01 13:01 ` Wang, Zhi A 2021-10-01 13:01 ` Wang, Zhi A 2021-10-01 13:01 ` [Intel-gfx] " Wang, Zhi A 2021-10-05 7:33 ` Wang, Zhi A 2021-10-05 7:33 ` [Intel-gfx] " Wang, Zhi A 2021-09-30 5:24 ` Christoph Hellwig 2021-09-30 5:24 ` [Intel-gfx] " Christoph Hellwig 2021-08-26 6:08 ` Zhenyu Wang 2021-08-26 6:08 ` [Intel-gfx] " Zhenyu Wang 2021-08-26 6:08 ` Zhenyu Wang 2021-08-04 5:40 ` Christoph Hellwig 2021-08-04 5:40 ` [Intel-gfx] " Christoph Hellwig 2021-09-28 14:24 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for refactor the i915 GVT support (rev2) Patchwork 2021-09-28 14:54 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork 2021-09-28 16:12 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork 2021-07-29 8:19 ` refactor the i915 GVT support Wang, Zhi A 2021-07-29 8:19 ` [Intel-gfx] " Wang, Zhi A 2021-07-29 8:19 ` Wang, Zhi A 2021-08-19 9:41 ` [Intel-gfx] ✗ Fi.CI.BUILD: failure for " Patchwork 2021-07-22 13:16 ` Greg KH 2021-07-22 13:16 ` [Intel-gfx] " Greg KH 2021-07-22 13:16 ` Greg KH
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=20210826061219.GD9942@zhen-hp.sh.intel.com \ --to=zhenyuw@linux.intel.com \ --cc=dri-devel@lists.freedesktop.org \ --cc=gregkh@linuxfoundation.org \ --cc=hch@lst.de \ --cc=intel-gfx@lists.freedesktop.org \ --cc=intel-gvt-dev@lists.freedesktop.org \ --cc=jani.nikula@intel.com \ --cc=jani.nikula@linux.intel.com \ --cc=jgg@nvidia.com \ --cc=joonas.lahtinen@linux.intel.com \ --cc=kraxel@redhat.com \ --cc=linux-kernel@vger.kernel.org \ --cc=mcgrof@kernel.org \ --cc=rodrigo.vivi@intel.com \ --cc=zhi.a.wang@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: linkBe 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.