AGP fix race condition between unmapping and freeing pages
authorDave Airlie <airlied@redhat.com>
Mon, 15 Oct 2007 00:19:16 +0000 (10:19 +1000)
committerDave Airlie <airlied@optimus.(none)>
Mon, 15 Oct 2007 00:32:15 +0000 (10:32 +1000)
With Andi's clflush fixup, we were getting hangs on server exit, flushing the
mappings after freeing each page helped.

This showed up a race condition where the pages after being freed could be
reused before the agp mappings had been flushed.  Flushing after each single
page is a bad thing for future drm work, so make the page destroy a two pass
unmapping all the pages, flushing the mappings, and then destroying the pages.

Signed-off-by: Dave Airlie <airlied@linux.ie>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>

No differences found