android_kernel_xiaomi_sm7250/drivers/char/agp
Alan Hourihane 88d51967f5 [PATCH] AGP performance fixes
AGP allocation/deallocation is suffering major performance issues due to
the nature of global_flush_tlb() being called on every change_page_attr()
call.

For small allocations this isn't really seen, but when you start allocating
50000 pages of AGP space, for say, texture memory, then things can take
seconds to complete.

In some cases the situation is doubled or even quadrupled in the time due
to SMP, or a deallocation, then a new reallocation.  I've had a case of
upto 20 seconds wait time to deallocate and reallocate AGP space.

This patch fixes the problem by making it the caller's responsibility to
call global_flush_tlb(), and so removes it from every instance of mapping a
page into AGP space until the time that all change_page_attr() changes are
done.

Signed-off-by: Dave Jones <davej@redhat.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
2005-11-08 13:43:54 -08:00
..
agp.h [PATCH] agp: restore APBASE after setting APSIZE 2005-07-29 15:01:15 -07:00
ali-agp.c Merge master.kernel.org:/pub/scm/linux/kernel/git/davej/agpgart 2005-11-07 13:26:58 -08:00
alpha-agp.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
amd64-agp.c Merge master.kernel.org:/pub/scm/linux/kernel/git/davej/agpgart 2005-11-07 13:26:58 -08:00
amd-k7-agp.c [AGPGART] Set .owner field of struct pci_driver. 2005-10-24 20:20:11 -07:00
ati-agp.c Merge master.kernel.org:/pub/scm/linux/kernel/git/davej/agpgart 2005-11-07 13:26:58 -08:00
backend.c [PATCH] AGP performance fixes 2005-11-08 13:43:54 -08:00
efficeon-agp.c [AGPGART] Fix up warning in efficeon driver. 2005-11-05 20:32:26 -08:00
frontend.c [AGPGART] Replace kmalloc+memset's with kzalloc's 2005-10-20 15:12:16 -07:00
generic.c [PATCH] AGP performance fixes 2005-11-08 13:43:54 -08:00
hp-agp.c [IA64] Remove warnings for gcc 4.0 IA64 compilation. 2005-09-16 09:45:27 -07:00
i460-agp.c [PATCH] AGP performance fixes 2005-11-08 13:43:54 -08:00
intel-agp.c [PATCH] AGP performance fixes 2005-11-08 13:43:54 -08:00
isoch.c [PATCH] fix missing includes 2005-10-30 17:37:32 -08:00
Kconfig [PATCH] CONFIG_IA32 2005-10-30 17:37:10 -08:00
Makefile Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
nvidia-agp.c [AGPGART] Set .owner field of struct pci_driver. 2005-10-24 20:20:11 -07:00
sgi-agp.c Merge master.kernel.org:/pub/scm/linux/kernel/git/davej/agpgart 2005-11-07 13:26:58 -08:00
sis-agp.c [AGPGART] Set .owner field of struct pci_driver. 2005-10-24 20:20:11 -07:00
sworks-agp.c Merge master.kernel.org:/pub/scm/linux/kernel/git/davej/agpgart 2005-11-07 13:26:58 -08:00
uninorth-agp.c [AGPGART] Set .owner field of struct pci_driver. 2005-10-24 20:20:11 -07:00
via-agp.c [AGPGART] Set .owner field of struct pci_driver. 2005-10-24 20:20:11 -07:00