All of lore.kernel.org
 help / color / mirror / Atom feed
From: zhoucm1 <david1.zhou-5C7GfCeVMHo@public.gmane.org>
To: "Deucher,
	Alexander" <Alexander.Deucher-5C7GfCeVMHo@public.gmane.org>,
	"Huang, Ray" <Ray.Huang-5C7GfCeVMHo@public.gmane.org>,
	"'amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org'"
	<amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org>,
	"Koenig,
	Christian" <Christian.Koenig-5C7GfCeVMHo@public.gmane.org>
Cc: "Huan, Alvin" <Alvin.Huan-5C7GfCeVMHo@public.gmane.org>,
	"Wang, Ken" <Ken.Wang-5C7GfCeVMHo@public.gmane.org>
Subject: Re: [PATCH 2/2] drm/amdgpu: export test ring debugfs interface
Date: Thu, 11 May 2017 10:50:17 +0800	[thread overview]
Message-ID: <5913D169.6000304@amd.com> (raw)
In-Reply-To: <BN6PR12MB1652A074AABF32DDD7F559F7F7ED0-/b2+HYfkarQqUD6E6FAiowdYzm3356FpvxpqHgZTriW3zl9H0oFU5g@public.gmane.org>


[-- Attachment #1.1: Type: text/plain, Size: 4093 bytes --]



On 2017年05月11日 10:41, Deucher, Alexander wrote:
> > -----Original Message-----
> > From: Deucher, Alexander
> > Sent: Wednesday, May 10, 2017 10:38 PM
> > To: Huang, Ray; amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org; Koenig, Christian
> > Cc: Zhou, David(ChunMing); Wang, Ken; Huan, Alvin; Huang, Ray
> > Subject: RE: [PATCH 2/2] drm/amdgpu: export test ring debugfs interface
> >
> > > -----Original Message-----
> > > From: Huang Rui [mailto:ray.huang-5C7GfCeVMHo@public.gmane.org]
> > > Sent: Wednesday, May 10, 2017 10:29 PM
> > > To: amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org; Deucher, Alexander; Koenig, 
> Christian
> > > Cc: Zhou, David(ChunMing); Wang, Ken; Huan, Alvin; Huang, Ray
> > > Subject: [PATCH 2/2] drm/amdgpu: export test ring debugfs interface
> > >
> > > Signed-off-by: Huang Rui <ray.huang-5C7GfCeVMHo@public.gmane.org>
> >
> > Reviewed-by: Alex Deucher <alexander.deucher-5C7GfCeVMHo@public.gmane.org>
>
> Not sure if it's important for this since it's debugfs, but we don't 
> have any sort of ring locks anymore (since everything should go 
> through the scheduler once it's started) so we could theoretically get 
> collisions if there are active apps using the GPU and you run these tests.
Yes, agree. So patch#1 for ib test should use scheduler, but which could 
be a big change and Christian doesn't like to use scheduler for ib test 
case, consider this is only for test case, the problem isn't big:).

btw: I think patch#2 isn't need if patch#1 is landed, since when you use 
this sys interface, the amdgpu driver must be loaded successfully, ring 
test is meaningless.

Regards,
David Zhou
>
> Alex
>
> >
> > > ---
> > >  drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 44
> > > ++++++++++++++++++++++++++++--
> > >  1 file changed, 42 insertions(+), 2 deletions(-)
> > >
> > > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> > > b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> > > index 7becf11..3637396 100644
> > > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> > > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> > > @@ -3625,14 +3625,54 @@ static int amdgpu_debugfs_test_ib(struct
> > > seq_file *m, void *data)
> > >      return 0;
> > >  }
> > >
> > > +static int amdgpu_ring_tests(struct amdgpu_device *adev)
> > > +{
> > > +   unsigned i;
> > > +   int r = 0;
> > > +
> > > +   for (i = 0; i < AMDGPU_MAX_RINGS; ++i) {
> > > +           struct amdgpu_ring *ring = adev->rings[i];
> > > +
> > > +           if (!ring || !ring->ready)
> > > +                   continue;
> > > +
> > > +           r = amdgpu_ring_test_ring(ring);
> > > +           if (r) {
> > > +                   ring->ready = false;
> > > +                   DRM_ERROR("amdgpu: failed to test ring %d
> > > (%d).\n",
> > > +                             i, r);
> > > +           }
> > > +   }
> > > +
> > > +   return r;
> > > +}
> > > +
> > > +static int amdgpu_debugfs_test_ring(struct seq_file *m, void *data)
> > > +{
> > > +   struct drm_info_node *node = (struct drm_info_node *) m-
> > > >private;
> > > +   struct drm_device *dev = node->minor->dev;
> > > +   struct amdgpu_device *adev = dev->dev_private;
> > > +   int r = 0;
> > > +
> > > +   seq_printf(m, "run ring test:\n");
> > > +   r = amdgpu_ring_tests(adev);
> > > +   if (r)
> > > +           seq_printf(m, "ring tests failed (%d).\n", r);
> > > +   else
> > > +           seq_printf(m, "ring tests passed.\n");
> > > +
> > > +   return 0;
> > > +}
> > > +
> > >  static const struct drm_info_list 
> amdgpu_debugfs_test_ib_ring_list[] = {
> > > -   {"amdgpu_test_ib", &amdgpu_debugfs_test_ib}
> > > +   {"amdgpu_test_ib", &amdgpu_debugfs_test_ib},
> > > +   {"amdgpu_test_ring", &amdgpu_debugfs_test_ring}
> > >  };
> > >
> > >  static int amdgpu_debugfs_test_ib_ring_init(struct amdgpu_device
> > *adev)
> > >  {
> > >      return amdgpu_debugfs_add_files(adev,
> > > - amdgpu_debugfs_test_ib_ring_list,
> > > 1);
> > > + amdgpu_debugfs_test_ib_ring_list,
> > > 2);
> > >  }
> > >
> > >  int amdgpu_debugfs_init(struct drm_minor *minor)
> > > --
> > > 2.7.4
>


[-- Attachment #1.2: Type: text/html, Size: 8444 bytes --]

[-- Attachment #2: Type: text/plain, Size: 154 bytes --]

_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

  parent reply	other threads:[~2017-05-11  2:50 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-05-11  2:29 [PATCH 1/2] drm/amdgpu: export test ib debugfs interface Huang Rui
     [not found] ` <1494469757-25784-1-git-send-email-ray.huang-5C7GfCeVMHo@public.gmane.org>
2017-05-11  2:29   ` [PATCH 2/2] drm/amdgpu: export test ring " Huang Rui
     [not found]     ` <1494469757-25784-2-git-send-email-ray.huang-5C7GfCeVMHo@public.gmane.org>
2017-05-11  2:38       ` Deucher, Alexander
     [not found]         ` <BN6PR12MB16521EA7A33D9718734FD83EF7ED0-/b2+HYfkarQqUD6E6FAiowdYzm3356FpvxpqHgZTriW3zl9H0oFU5g@public.gmane.org>
2017-05-11  2:41           ` Deucher, Alexander
     [not found]             ` <BN6PR12MB1652A074AABF32DDD7F559F7F7ED0-/b2+HYfkarQqUD6E6FAiowdYzm3356FpvxpqHgZTriW3zl9H0oFU5g@public.gmane.org>
2017-05-11  2:50               ` zhoucm1 [this message]
     [not found]                 ` <5913D169.6000304-5C7GfCeVMHo@public.gmane.org>
2017-05-11  3:03                   ` Huang Rui
2017-05-11  3:02                     ` zhoucm1
2017-05-11  2:56               ` Huang Rui
2017-05-11  3:00                 ` Alex Deucher
2017-05-11  2:33   ` [PATCH 1/2] drm/amdgpu: export test ib " Deucher, Alexander

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=5913D169.6000304@amd.com \
    --to=david1.zhou-5c7gfcevmho@public.gmane.org \
    --cc=Alexander.Deucher-5C7GfCeVMHo@public.gmane.org \
    --cc=Alvin.Huan-5C7GfCeVMHo@public.gmane.org \
    --cc=Christian.Koenig-5C7GfCeVMHo@public.gmane.org \
    --cc=Ken.Wang-5C7GfCeVMHo@public.gmane.org \
    --cc=Ray.Huang-5C7GfCeVMHo@public.gmane.org \
    --cc=amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org \
    /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.