<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/drivers/gpu/drm/amd/amdgpu/amdgpu_sched.c, branch v4.4</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/
</subtitle>
<id>https://git.shady.money/linux/atom?h=v4.4</id>
<link rel='self' href='https://git.shady.money/linux/atom?h=v4.4'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/'/>
<updated>2015-11-16T16:05:58Z</updated>
<entry>
<title>drm/amdgpu: fix incorrect mutex usage v3</title>
<updated>2015-11-16T16:05:58Z</updated>
<author>
<name>Christian König</name>
<email>christian.koenig@amd.com</email>
</author>
<published>2015-11-05T18:49:48Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=e284022163716ecf11c37fd1057c35d689ef2c11'/>
<id>urn:sha1:e284022163716ecf11c37fd1057c35d689ef2c11</id>
<content type='text'>
Before this patch the scheduler fence was created when we push the job
into the queue, so we could only get the fence after pushing it.

The mutex now was necessary to prevent the thread pushing the jobs to
the hardware from running faster than the thread pushing the jobs into
the queue.

Otherwise the thread pushing jobs into the queue would have accessed
possible freed up memory when it tries to get a reference to the fence.

So what you get in the end is thread A:
mutex_lock(&amp;job-&gt;lock);
...
Kick of thread B.
...
mutex_unlock(&amp;job-&gt;lock);

And thread B:
mutex_lock(&amp;job-&gt;lock);
....
mutex_unlock(&amp;job-&gt;lock);
kfree(job);

I'm actually not sure if I'm still up to date on this, but this usage
pattern used to be not allowed with mutexes. See here as well
https://lwn.net/Articles/575460/.

v2: remove unrelated changes, fix missing owner
v3: rebased, add more commit message

Signed-off-by: Christian König &lt;christian.koenig@amd.com&gt;
Reviewed-by: Alex Deucher &lt;alexander.deucher@amd.com&gt;
</content>
</entry>
<entry>
<title>drm/amdgpu: cleanup scheduler fence get/put dance</title>
<updated>2015-11-16T16:05:58Z</updated>
<author>
<name>Christian König</name>
<email>christian.koenig@amd.com</email>
</author>
<published>2015-11-06T13:09:21Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=4a562283376197722b295d27633134401bbc80f5'/>
<id>urn:sha1:4a562283376197722b295d27633134401bbc80f5</id>
<content type='text'>
The code was correct, but getting two references when the ownership
is linearly moved on is a bit awkward and just overhead.

Signed: Christian König &lt;christian.koenig@amd.com&gt;
Reviewed-by: Alex Deucher &lt;alexander.deucher@amd.com&gt;
</content>
</entry>
<entry>
<title>drm/amdgpu: add command submission workflow tracepoint</title>
<updated>2015-11-16T16:05:57Z</updated>
<author>
<name>Chunming Zhou</name>
<email>David1.Zhou@amd.com</email>
</author>
<published>2015-11-11T06:56:00Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=7034decf6a5b1ff778d83ff9d7ce1f0b404804e4'/>
<id>urn:sha1:7034decf6a5b1ff778d83ff9d7ce1f0b404804e4</id>
<content type='text'>
OGL needs these tracepoints to investigate performance issue.

Change-Id: I5e58187d061253f7d665dfce8e4e163ba91d3e2b
Signed-off-by: Chunming Zhou &lt;David1.Zhou@amd.com&gt;
</content>
</entry>
<entry>
<title>drm/amdgpu: remove amdgpu_fence_ref/unref</title>
<updated>2015-10-30T05:58:22Z</updated>
<author>
<name>Christian König</name>
<email>christian.koenig@amd.com</email>
</author>
<published>2015-10-22T13:16:22Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=6ef68c17d40e1e7e291ca513627a0d2a13ae095f'/>
<id>urn:sha1:6ef68c17d40e1e7e291ca513627a0d2a13ae095f</id>
<content type='text'>
Just move the remaining users to fence_put/get.

Signed-off-by: Christian König &lt;christian.koenig@amd.com&gt;
Reviewed-by: Alex Deucher &lt;alexander.deucher@amd.com&gt;
</content>
</entry>
<entry>
<title>drm/amdgpu: more scheduler cleanups v2</title>
<updated>2015-09-23T21:23:39Z</updated>
<author>
<name>Christian König</name>
<email>christian.koenig@amd.com</email>
</author>
<published>2015-09-08T18:22:31Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=4f839a243d3b0d8b1a14f4778a87ec4d8ddbf15f'/>
<id>urn:sha1:4f839a243d3b0d8b1a14f4778a87ec4d8ddbf15f</id>
<content type='text'>
Embed the scheduler into the ring structure instead of allocating it.
Use the ring name directly instead of the id.

v2: rebased, whitespace cleanup

Signed-off-by: Christian König &lt;christian.koenig@amd.com&gt;
Reviewed-by: Junwei Zhang &lt;Jerry.Zhang@amd.com&gt;
Reviewed-by: Chunming Zhou&lt;david1.zhou@amd.com&gt;
</content>
</entry>
<entry>
<title>drm/amdgpu: rename fence-&gt;scheduler to sched v2</title>
<updated>2015-09-23T21:23:37Z</updated>
<author>
<name>Christian König</name>
<email>christian.koenig@amd.com</email>
</author>
<published>2015-09-07T16:16:49Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=9b398fa5c24eb05fc60fafd8543cc03e9170f054'/>
<id>urn:sha1:9b398fa5c24eb05fc60fafd8543cc03e9170f054</id>
<content type='text'>
Just to be consistent with the other members.

v2: rename the ring member as well.

Signed-off-by: Christian König &lt;christian.koenig@amd.com&gt;
Reviewed-by: Junwei Zhang &lt;Jerry.Zhang@amd.com&gt; (v1)
Reviewed-by: Chunming Zhou&lt;david1.zhou@amd.com&gt;
</content>
</entry>
<entry>
<title>drm/amdgpu: refine the scheduler job type conversion</title>
<updated>2015-09-23T21:23:36Z</updated>
<author>
<name>Junwei Zhang</name>
<email>Jerry.Zhang@amd.com</email>
</author>
<published>2015-09-09T01:21:19Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=a6db8a33e164ae72fb5429ab637e8cfee057a722'/>
<id>urn:sha1:a6db8a33e164ae72fb5429ab637e8cfee057a722</id>
<content type='text'>
Use container_of rather than casting.

Reviewed-by: Christian König &lt;christian.koenig@amd.com&gt;
Reviewed-by: David Zhou &lt;david1.zhou@amd.com&gt;
Signed-off-by: Junwei Zhang &lt;Jerry.Zhang@amd.com&gt;
</content>
</entry>
<entry>
<title>drm/amdgpu: refine the job naming for amdgpu_job and amdgpu_sched_job</title>
<updated>2015-09-23T21:23:36Z</updated>
<author>
<name>Junwei Zhang</name>
<email>Jerry.Zhang@amd.com</email>
</author>
<published>2015-09-09T01:05:55Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=4c7eb91cae88fd2aa101750d6825b4176f85ffb2'/>
<id>urn:sha1:4c7eb91cae88fd2aa101750d6825b4176f85ffb2</id>
<content type='text'>
Use consistent naming across functions.

Reviewed-by: Christian König &lt;christian.koenig@amd.com&gt;
Reviewed-by: David Zhou &lt;david1.zhou@amd.com&gt;
Signed-off-by: Junwei Zhang &lt;Jerry.Zhang@amd.com&gt;
</content>
</entry>
<entry>
<title>drm/amdgpu: remove process_job callback from the scheduler</title>
<updated>2015-09-23T21:23:33Z</updated>
<author>
<name>Christian König</name>
<email>christian.koenig@amd.com</email>
</author>
<published>2015-08-31T15:28:28Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=1886d1a9caed20f457dd69a926c7f8b54c2d5f48'/>
<id>urn:sha1:1886d1a9caed20f457dd69a926c7f8b54c2d5f48</id>
<content type='text'>
Just free the resources immediately after submitting the job.

Signed-off-by: Christian König &lt;christian.koenig@amd.com&gt;
Reviewed-by: Chunming Zhou &lt;david1.zhou@amd.com&gt;
Reviewed-by: Junwei Zhang &lt;Jerry.Zhang@amd.com&gt;
Reviewed-by: Jammy Zhou &lt;Jammy.Zhou@amd.com&gt;
</content>
</entry>
<entry>
<title>drm/amdgpu: add scheduler dependency callback v2</title>
<updated>2015-08-28T19:04:17Z</updated>
<author>
<name>Christian König</name>
<email>christian.koenig@amd.com</email>
</author>
<published>2015-08-25T09:05:36Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=e61235db62c5e68e56e59bea62b88f9f3d7a3cf5'/>
<id>urn:sha1:e61235db62c5e68e56e59bea62b88f9f3d7a3cf5</id>
<content type='text'>
This way the scheduler doesn't wait in it's work thread any more.

v2: fix race conditions

Signed-off-by: Christian König &lt;christian.koenig@amd.com&gt;
Reviewed-by: Chunming Zhou &lt;david1.zhou@amd.com&gt;
Reviewed-by: Jammy Zhou &lt;Jammy.Zhou@amd.com&gt;
</content>
</entry>
</feed>
