There is no need to keep the dentry around for the debugfs kvmgt cache file, as we can just look it up when we want to remove it later on. Simplify the structure by removing the dentry and relying on debugfs to find the dentry to remove when we want to.
By doing this change, we remove the last in-kernel user that was storing the result of debugfs_create_long(), so that api can be cleaned up.
Cc: Zhenyu Wang zhenyuw@linux.intel.com Cc: Zhi Wang zhi.a.wang@intel.com Cc: Jani Nikula jani.nikula@linux.intel.com Cc: Joonas Lahtinen joonas.lahtinen@linux.intel.com Cc: Rodrigo Vivi rodrigo.vivi@intel.com Cc: David Airlie airlied@linux.ie Cc: Daniel Vetter daniel@ffwll.ch Cc: intel-gvt-dev@lists.freedesktop.org Cc: intel-gfx@lists.freedesktop.org Cc: dri-devel@lists.freedesktop.org Signed-off-by: Greg Kroah-Hartman gregkh@linuxfoundation.org --- drivers/gpu/drm/i915/gvt/kvmgt.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-)
diff --git a/drivers/gpu/drm/i915/gvt/kvmgt.c b/drivers/gpu/drm/i915/gvt/kvmgt.c index 65ff43cfc0f7..433c2a448f2d 100644 --- a/drivers/gpu/drm/i915/gvt/kvmgt.c +++ b/drivers/gpu/drm/i915/gvt/kvmgt.c @@ -88,6 +88,7 @@ struct kvmgt_pgfn { struct hlist_node hnode; };
+#define KVMGT_DEBUGFS_FILENAME "kvmgt_nr_cache_entries" struct kvmgt_guest_info { struct kvm *kvm; struct intel_vgpu *vgpu; @@ -95,7 +96,6 @@ struct kvmgt_guest_info { #define NR_BKT (1 << 18) struct hlist_head ptable[NR_BKT]; #undef NR_BKT - struct dentry *debugfs_cache_entries; };
struct gvt_dma { @@ -1843,16 +1843,15 @@ static int kvmgt_guest_init(struct mdev_device *mdev) info->track_node.track_flush_slot = kvmgt_page_track_flush_slot; kvm_page_track_register_notifier(kvm, &info->track_node);
- info->debugfs_cache_entries = debugfs_create_ulong( - "kvmgt_nr_cache_entries", - 0444, vgpu->debugfs, - &vdev->nr_cache_entries); + debugfs_create_ulong(KVMGT_DEBUGFS_FILENAME, 0444, vgpu->debugfs, + &vdev->nr_cache_entries); return 0; }
static bool kvmgt_guest_exit(struct kvmgt_guest_info *info) { - debugfs_remove(info->debugfs_cache_entries); + debugfs_remove(debugfs_lookup(KVMGT_DEBUGFS_FILENAME, + info->vgpu->debugfs));
kvm_page_track_unregister_notifier(info->kvm, &info->track_node); kvm_put_kvm(info->kvm);
On Tue, May 18, 2021 at 06:17:05PM +0200, Greg Kroah-Hartman wrote:
There is no need to keep the dentry around for the debugfs kvmgt cache file, as we can just look it up when we want to remove it later on. Simplify the structure by removing the dentry and relying on debugfs to find the dentry to remove when we want to.
By doing this change, we remove the last in-kernel user that was storing the result of debugfs_create_long(), so that api can be cleaned up.
Cc: Zhenyu Wang zhenyuw@linux.intel.com Cc: Zhi Wang zhi.a.wang@intel.com Cc: Jani Nikula jani.nikula@linux.intel.com Cc: Joonas Lahtinen joonas.lahtinen@linux.intel.com Cc: Rodrigo Vivi rodrigo.vivi@intel.com Cc: David Airlie airlied@linux.ie Cc: Daniel Vetter daniel@ffwll.ch Cc: intel-gvt-dev@lists.freedesktop.org Cc: intel-gfx@lists.freedesktop.org Cc: dri-devel@lists.freedesktop.org Signed-off-by: Greg Kroah-Hartman gregkh@linuxfoundation.org
drivers/gpu/drm/i915/gvt/kvmgt.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-)
Note, I can take this through my debugfs tree if wanted, that way I can clean up the debugfs_create_long() api at the same time. Otherwise it's fine, I can wait until next -rc1 for that to happen.
thanks,
greg k-h
On 2021.05.18 18:28:53 +0200, Greg Kroah-Hartman wrote:
On Tue, May 18, 2021 at 06:17:05PM +0200, Greg Kroah-Hartman wrote:
There is no need to keep the dentry around for the debugfs kvmgt cache file, as we can just look it up when we want to remove it later on. Simplify the structure by removing the dentry and relying on debugfs to find the dentry to remove when we want to.
By doing this change, we remove the last in-kernel user that was storing the result of debugfs_create_long(), so that api can be cleaned up.
Cc: Zhenyu Wang zhenyuw@linux.intel.com Cc: Zhi Wang zhi.a.wang@intel.com Cc: Jani Nikula jani.nikula@linux.intel.com Cc: Joonas Lahtinen joonas.lahtinen@linux.intel.com Cc: Rodrigo Vivi rodrigo.vivi@intel.com Cc: David Airlie airlied@linux.ie Cc: Daniel Vetter daniel@ffwll.ch Cc: intel-gvt-dev@lists.freedesktop.org Cc: intel-gfx@lists.freedesktop.org Cc: dri-devel@lists.freedesktop.org Signed-off-by: Greg Kroah-Hartman gregkh@linuxfoundation.org
drivers/gpu/drm/i915/gvt/kvmgt.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-)
Note, I can take this through my debugfs tree if wanted, that way I can clean up the debugfs_create_long() api at the same time. Otherwise it's fine, I can wait until next -rc1 for that to happen.
It's fine with me to go through debugfs tree. Just double check that recent kvmgt change would not cause conflict with this as well.
Thanks
On Wed, May 19, 2021 at 04:03:13PM +0800, Zhenyu Wang wrote:
On 2021.05.18 18:28:53 +0200, Greg Kroah-Hartman wrote:
On Tue, May 18, 2021 at 06:17:05PM +0200, Greg Kroah-Hartman wrote:
There is no need to keep the dentry around for the debugfs kvmgt cache file, as we can just look it up when we want to remove it later on. Simplify the structure by removing the dentry and relying on debugfs to find the dentry to remove when we want to.
By doing this change, we remove the last in-kernel user that was storing the result of debugfs_create_long(), so that api can be cleaned up.
Cc: Zhenyu Wang zhenyuw@linux.intel.com Cc: Zhi Wang zhi.a.wang@intel.com Cc: Jani Nikula jani.nikula@linux.intel.com Cc: Joonas Lahtinen joonas.lahtinen@linux.intel.com Cc: Rodrigo Vivi rodrigo.vivi@intel.com Cc: David Airlie airlied@linux.ie Cc: Daniel Vetter daniel@ffwll.ch Cc: intel-gvt-dev@lists.freedesktop.org Cc: intel-gfx@lists.freedesktop.org Cc: dri-devel@lists.freedesktop.org Signed-off-by: Greg Kroah-Hartman gregkh@linuxfoundation.org
drivers/gpu/drm/i915/gvt/kvmgt.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-)
Note, I can take this through my debugfs tree if wanted, that way I can clean up the debugfs_create_long() api at the same time. Otherwise it's fine, I can wait until next -rc1 for that to happen.
It's fine with me to go through debugfs tree. Just double check that recent kvmgt change would not cause conflict with this as well.
How can I check that? I'll be glad to take this through my tree, we can handle the merge issues later for 5.14-rc1 :)
thanks,
greg k-h
On 2021.05.19 10:31:18 +0200, Greg Kroah-Hartman wrote:
On Wed, May 19, 2021 at 04:03:13PM +0800, Zhenyu Wang wrote:
On 2021.05.18 18:28:53 +0200, Greg Kroah-Hartman wrote:
On Tue, May 18, 2021 at 06:17:05PM +0200, Greg Kroah-Hartman wrote:
There is no need to keep the dentry around for the debugfs kvmgt cache file, as we can just look it up when we want to remove it later on. Simplify the structure by removing the dentry and relying on debugfs to find the dentry to remove when we want to.
By doing this change, we remove the last in-kernel user that was storing the result of debugfs_create_long(), so that api can be cleaned up.
Cc: Zhenyu Wang zhenyuw@linux.intel.com Cc: Zhi Wang zhi.a.wang@intel.com Cc: Jani Nikula jani.nikula@linux.intel.com Cc: Joonas Lahtinen joonas.lahtinen@linux.intel.com Cc: Rodrigo Vivi rodrigo.vivi@intel.com Cc: David Airlie airlied@linux.ie Cc: Daniel Vetter daniel@ffwll.ch Cc: intel-gvt-dev@lists.freedesktop.org Cc: intel-gfx@lists.freedesktop.org Cc: dri-devel@lists.freedesktop.org Signed-off-by: Greg Kroah-Hartman gregkh@linuxfoundation.org
drivers/gpu/drm/i915/gvt/kvmgt.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-)
Note, I can take this through my debugfs tree if wanted, that way I can clean up the debugfs_create_long() api at the same time. Otherwise it's fine, I can wait until next -rc1 for that to happen.
It's fine with me to go through debugfs tree. Just double check that recent kvmgt change would not cause conflict with this as well.
How can I check that? I'll be glad to take this through my tree, we can handle the merge issues later for 5.14-rc1 :)
Current kvmgt change in merge queue is just https://patchwork.freedesktop.org/patch/433536/?series=89995&rev=2 It applies fine with debugfs change.
On Wed, May 19, 2021 at 04:21:23PM +0800, Zhenyu Wang wrote:
On 2021.05.19 10:31:18 +0200, Greg Kroah-Hartman wrote:
On Wed, May 19, 2021 at 04:03:13PM +0800, Zhenyu Wang wrote:
On 2021.05.18 18:28:53 +0200, Greg Kroah-Hartman wrote:
On Tue, May 18, 2021 at 06:17:05PM +0200, Greg Kroah-Hartman wrote:
There is no need to keep the dentry around for the debugfs kvmgt cache file, as we can just look it up when we want to remove it later on. Simplify the structure by removing the dentry and relying on debugfs to find the dentry to remove when we want to.
By doing this change, we remove the last in-kernel user that was storing the result of debugfs_create_long(), so that api can be cleaned up.
Cc: Zhenyu Wang zhenyuw@linux.intel.com Cc: Zhi Wang zhi.a.wang@intel.com Cc: Jani Nikula jani.nikula@linux.intel.com Cc: Joonas Lahtinen joonas.lahtinen@linux.intel.com Cc: Rodrigo Vivi rodrigo.vivi@intel.com Cc: David Airlie airlied@linux.ie Cc: Daniel Vetter daniel@ffwll.ch Cc: intel-gvt-dev@lists.freedesktop.org Cc: intel-gfx@lists.freedesktop.org Cc: dri-devel@lists.freedesktop.org Signed-off-by: Greg Kroah-Hartman gregkh@linuxfoundation.org
drivers/gpu/drm/i915/gvt/kvmgt.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-)
Note, I can take this through my debugfs tree if wanted, that way I can clean up the debugfs_create_long() api at the same time. Otherwise it's fine, I can wait until next -rc1 for that to happen.
It's fine with me to go through debugfs tree. Just double check that recent kvmgt change would not cause conflict with this as well.
How can I check that? I'll be glad to take this through my tree, we can handle the merge issues later for 5.14-rc1 :)
Current kvmgt change in merge queue is just https://patchwork.freedesktop.org/patch/433536/?series=89995&rev=2 It applies fine with debugfs change.
Thanks, I'll go take this through my tree now.
greg k-h
On 2021.05.18 18:17:05 +0200, Greg Kroah-Hartman wrote:
There is no need to keep the dentry around for the debugfs kvmgt cache file, as we can just look it up when we want to remove it later on. Simplify the structure by removing the dentry and relying on debugfs to find the dentry to remove when we want to.
By doing this change, we remove the last in-kernel user that was storing the result of debugfs_create_long(), so that api can be cleaned up.
Cc: Zhenyu Wang zhenyuw@linux.intel.com Cc: Zhi Wang zhi.a.wang@intel.com Cc: Jani Nikula jani.nikula@linux.intel.com Cc: Joonas Lahtinen joonas.lahtinen@linux.intel.com Cc: Rodrigo Vivi rodrigo.vivi@intel.com Cc: David Airlie airlied@linux.ie Cc: Daniel Vetter daniel@ffwll.ch Cc: intel-gvt-dev@lists.freedesktop.org Cc: intel-gfx@lists.freedesktop.org Cc: dri-devel@lists.freedesktop.org Signed-off-by: Greg Kroah-Hartman gregkh@linuxfoundation.org
drivers/gpu/drm/i915/gvt/kvmgt.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-)
diff --git a/drivers/gpu/drm/i915/gvt/kvmgt.c b/drivers/gpu/drm/i915/gvt/kvmgt.c index 65ff43cfc0f7..433c2a448f2d 100644 --- a/drivers/gpu/drm/i915/gvt/kvmgt.c +++ b/drivers/gpu/drm/i915/gvt/kvmgt.c @@ -88,6 +88,7 @@ struct kvmgt_pgfn { struct hlist_node hnode; };
+#define KVMGT_DEBUGFS_FILENAME "kvmgt_nr_cache_entries" struct kvmgt_guest_info { struct kvm *kvm; struct intel_vgpu *vgpu; @@ -95,7 +96,6 @@ struct kvmgt_guest_info { #define NR_BKT (1 << 18) struct hlist_head ptable[NR_BKT]; #undef NR_BKT
- struct dentry *debugfs_cache_entries;
};
struct gvt_dma { @@ -1843,16 +1843,15 @@ static int kvmgt_guest_init(struct mdev_device *mdev) info->track_node.track_flush_slot = kvmgt_page_track_flush_slot; kvm_page_track_register_notifier(kvm, &info->track_node);
- info->debugfs_cache_entries = debugfs_create_ulong(
"kvmgt_nr_cache_entries",
0444, vgpu->debugfs,
&vdev->nr_cache_entries);
- debugfs_create_ulong(KVMGT_DEBUGFS_FILENAME, 0444, vgpu->debugfs,
return 0;&vdev->nr_cache_entries);
}
static bool kvmgt_guest_exit(struct kvmgt_guest_info *info) {
- debugfs_remove(info->debugfs_cache_entries);
debugfs_remove(debugfs_lookup(KVMGT_DEBUGFS_FILENAME,
info->vgpu->debugfs));
kvm_page_track_unregister_notifier(info->kvm, &info->track_node); kvm_put_kvm(info->kvm);
--
Reviewed-by: Zhenyu Wang zhenyuw@linux.intel.com
Thanks!
On Wed, 19 May 2021, Zhenyu Wang zhenyuw@linux.intel.com wrote:
Reviewed-by: Zhenyu Wang zhenyuw@linux.intel.com
Thanks!
Thanks for the review. Please also let Greg know whether he can pick this up via the debugfs tree; I don't care either way.
BR, Jani.
dri-devel@lists.freedesktop.org