<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/gpu/drm/drm_mm.c, branch linux-2.6.38.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.38.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.38.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2010-10-27T22:31:04Z</updated>
<entry>
<title>drm_mm: add support for range-restricted fair-lru scans</title>
<updated>2010-10-27T22:31:04Z</updated>
<author>
<name>Daniel Vetter</name>
</author>
<published>2010-09-16T13:13:11Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d935cc61d466f6cc7514032835f4fc379cb7e2ca'/>
<id>urn:sha1:d935cc61d466f6cc7514032835f4fc379cb7e2ca</id>
<content type='text'>
Signed-off-by: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
Signed-off-by: Chris Wilson &lt;chris@chris-wilson.co.uk&gt;
</content>
</entry>
<entry>
<title>drm: mm: fix range restricted allocations</title>
<updated>2010-08-26T23:10:16Z</updated>
<author>
<name>Daniel Vetter</name>
</author>
<published>2010-08-26T19:44:17Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=7521473305f1379403b893a30ac09a2132dc1e25'/>
<id>urn:sha1:7521473305f1379403b893a30ac09a2132dc1e25</id>
<content type='text'>
With the code cleanup in

7a6b2896f261894dde287d3faefa4b432cddca53 is the first bad commit
commit 7a6b2896f261894dde287d3faefa4b432cddca53
Author: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
Date:   Fri Jul 2 15:02:15 2010 +0100

    drm_mm: extract check_free_mm_node

I've botched up the range-restriction checks. The result is usually
an X server dying with SIGBUS in libpixman (software fallback rendering).
Change the code to adjust the start and end for range restricted
allocations. IMHO this even makes the code a bit clearer.

Fixes regression bug: https://bugs.freedesktop.org/show_bug.cgi?id=29738

Reported-by-Tested-by: Till MAtthiesen &lt;entropy@everymail.net&gt;
Acked-by: Alex Deucher &lt;alexdeucher@gmail.com&gt;
Signed-off-by: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
</content>
</entry>
<entry>
<title>drm: implement helper functions for scanning lru list</title>
<updated>2010-07-07T02:29:51Z</updated>
<author>
<name>Daniel Vetter</name>
</author>
<published>2010-07-02T14:02:16Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=709ea97145c125b3811ff70429e90ebdb0e832e5'/>
<id>urn:sha1:709ea97145c125b3811ff70429e90ebdb0e832e5</id>
<content type='text'>
These helper functions can be used to efficiently scan lru list
for eviction. Eviction becomes a three stage process:
1. Scanning through the lru list until a suitable hole has been found.
2. Scan backwards to restore drm_mm consistency and find out which
   objects fall into the hole.
3. Evict the objects that fall into the hole.

These helper functions don't allocate any memory (at the price of
not allowing any other concurrent operations). Hence this can also be
used for ttm (which does lru scanning under a spinlock).

Evicting objects in this fashion should be more fair than the current
approach by i915 (scan the lru for a object large enough to contain
the new object). It's also more efficient than the current approach used
by ttm (uncoditionally evict objects from the lru until there's enough
free space).

Signed-Off-by: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
Acked-by: Thomas Hellstrom &lt;thellstrom@vmwgfx.com&gt;
Signed-off-by: Chris Wilson &lt;chris@chris-wilson.co.uk&gt;
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
</content>
</entry>
<entry>
<title>drm_mm: extract check_free_mm_node</title>
<updated>2010-07-07T02:28:35Z</updated>
<author>
<name>Daniel Vetter</name>
</author>
<published>2010-07-02T14:02:15Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=7a6b2896f261894dde287d3faefa4b432cddca53'/>
<id>urn:sha1:7a6b2896f261894dde287d3faefa4b432cddca53</id>
<content type='text'>
There are already two copies of this logic. And the new scanning
stuff will add some more. So extract it into a small helper
function.

Signed-off-by: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
Acked-by: Thomas Hellstrom &lt;thellstrom@vmwgfx.com&gt;
Signed-off-by: Chris Wilson &lt;chris@chris-wilson.co.uk&gt;
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
</content>
</entry>
<entry>
<title>drm: sane naming for drm_mm.c</title>
<updated>2010-07-07T02:27:53Z</updated>
<author>
<name>Daniel Vetter</name>
</author>
<published>2010-07-02T14:02:14Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d1024ce91ff4c2c4ccbf692d204c71cbf215157a'/>
<id>urn:sha1:d1024ce91ff4c2c4ccbf692d204c71cbf215157a</id>
<content type='text'>
Yeah, I've kinda noticed that fl_entry is the free stack. Still
give it (and the memory node list ml_entry) decent names.

Signed-off-by: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
Acked-by: Thomas Hellstrom &lt;thellstrom@vmwgfx.com&gt;
Signed-off-by: Chris Wilson &lt;chris@chris-wilson.co.uk&gt;
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
</content>
</entry>
<entry>
<title>drm: kill dead code in drm_mm.c</title>
<updated>2010-07-07T02:27:20Z</updated>
<author>
<name>Daniel Vetter</name>
</author>
<published>2010-07-02T14:02:13Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ca31efa89ae16c66966b8d5a5df3ae5cbffa61de'/>
<id>urn:sha1:ca31efa89ae16c66966b8d5a5df3ae5cbffa61de</id>
<content type='text'>
Signed-off-by: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
Acked-by: Thomas Hellstrom &lt;thellstrom@vmwgfx.com&gt;
Signed-off-by: Chris Wilson &lt;chris@chris-wilson.co.uk&gt;
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
</content>
</entry>
<entry>
<title>drm: use list_for_each_entry in drm_mm.c</title>
<updated>2010-07-07T02:25:49Z</updated>
<author>
<name>Daniel Vetter</name>
</author>
<published>2010-07-02T14:02:11Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=26f3751eb47c757c656333e74bdceccd8d286d76'/>
<id>urn:sha1:26f3751eb47c757c656333e74bdceccd8d286d76</id>
<content type='text'>
Signed-off-by: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
Signed-off-by: Chris Wilson &lt;chris@chris-wilson.co.uk&gt;
Acked-by: Thomas Hellstrom &lt;thellstrom@vmwgfx.com&gt;
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
</content>
</entry>
<entry>
<title>drm: Fix a bug in the range manager.</title>
<updated>2010-02-15T01:19:14Z</updated>
<author>
<name>Thomas Hellstrom</name>
</author>
<published>2010-02-11T23:17:59Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=775c67090c98780b44c4f95d5c05565df715b8bd'/>
<id>urn:sha1:775c67090c98780b44c4f95d5c05565df715b8bd</id>
<content type='text'>
When searching for free space in a range, the function could return a node extending outside of the given range.

Signed-off-by: Thomas Hellstrom &lt;thellstrom@vmware.com&gt;
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
</content>
</entry>
<entry>
<title>drm/mm: fix logic for selection of best fit block</title>
<updated>2009-12-23T00:08:08Z</updated>
<author>
<name>Bob Gleitsmann</name>
</author>
<published>2009-12-21T03:52:09Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e2108eb1f66d77b4af77caf282cab1d47e3f4831'/>
<id>urn:sha1:e2108eb1f66d77b4af77caf282cab1d47e3f4831</id>
<content type='text'>
This is from bug 25728.

[airlied: I'm just forwarding the patch for review, Thomas, ickle?]

Acked-by: Jerome Glisse &lt;jglisse@redhat.com&gt;
Acked-by: Thomas Hellstrom &lt;thellstrom@vmware.com&gt;
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
</content>
</entry>
<entry>
<title>drm: Add memory manager debug function</title>
<updated>2009-12-10T05:28:06Z</updated>
<author>
<name>Jerome Glisse</name>
</author>
<published>2009-12-09T20:55:09Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=99d7e48e8cb867f303439ad40e995e203841bd94'/>
<id>urn:sha1:99d7e48e8cb867f303439ad40e995e203841bd94</id>
<content type='text'>
drm_mm_debug_table will print the memory manager state
in table allowing to give a snapshot of the manager at
given point in time. Usefull for debugging.

Signed-off-by: Jerome Glisse &lt;jglisse@redhat.com&gt;
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
</content>
</entry>
</feed>
