summaryrefslogtreecommitdiffstats
path: root/share/misc/committers-src.dot
diff options
context:
space:
mode:
authorjhb <jhb@FreeBSD.org>2015-10-21 20:49:45 +0000
committerjhb <jhb@FreeBSD.org>2015-10-21 20:49:45 +0000
commit12fab8dca45603d1bf88fa63bd2edcb7ab8bceb2 (patch)
treecad4427d0a1fe46b3ceb556d9d229779ca3038f8 /share/misc/committers-src.dot
parent51b2e7fecb6b859d2bf791069fadf25de230514b (diff)
downloadFreeBSD-src-12fab8dca45603d1bf88fa63bd2edcb7ab8bceb2.zip
FreeBSD-src-12fab8dca45603d1bf88fa63bd2edcb7ab8bceb2.tar.gz
i915_gem_do_execbuffer() holds the pages backing each relocation region for
various reasons while executing user commands. After these commands are completed, the pages backing the relocation regions are unheld. Since relocation regions do not have to be page aligned, the code in validate_exec_list() allocates 2 extra page pointers in the array of held pages populated by vm_fault_quick_hold_pages(). However, the cleanup code that unheld the pages always assumed that only the buffer size / PAGE_SIZE pages were used. This meant that non-page aligned buffers would not unheld the last 1 or 2 pages in the list. Fix this by saving the number of held pages returned by vm_fault_quick_hold_pages() for each relocation region and using this count during cleanup. Reviewed by: dumbbell, kib MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D3965
Diffstat (limited to 'share/misc/committers-src.dot')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud