On Mon, Jun 14, 2010 at 02:30:03PM -0700, Rene Ladan wrote:
(...)
I've asked the driver author if the calls to vm_page_wire() and
vm_page_unwire() can simply be removed but have not heard back yet.
Is there any news on this? I have updated to the latest current so I'm
running the nv driver now, but I'd like to get the nvidia driver running
again.
Yes, the unnecessary (and now problematic) wiring and unwiring calls will
be
removed in a future release of the driver.
Excellent! Any ETA? Or are there patches against an existing version of
the driver?
I would just remove the calls to vm_page_wire() and vm_page_unwire() along
with the immediately adjacent calls to vm_page_{un,}lock_queues().
Just to confirm, like the attached patch?
Yes.
This is with a GeForce GT 240M, current/amd64 r209035, nvidia-driver
195.36.15
I haven't runtime-tested it yet...
Rene
--
http://www.rene-ladan.nl/
GPG fingerprint = E738 5471 D185 7013 0EE0 4FC8 3C1D 6F83 12E1 84F6
(subkeys.pgp.net)
Content-Description: patch-jhb-current
--- src/nvidia_subr.c.orig2010-03-12 17:48:52.0 +0100
+++ src/nvidia_subr.c 2010-06-14 23:25:28.0 +0200
@@ -1301,9 +1301,6 @@
for (i = 0; i count; i++) {
pte_array[i] = at-pte_array[i].physical_address;
-vm_page_lock_queues();
-vm_page_wire(PHYS_TO_VM_PAGE(pte_array[i]));
-vm_page_unlock_queues();
sglist_append_phys(at-sg_list, pte_array[i], PAGE_SIZE);
}
@@ -1365,9 +1362,6 @@
os_flush_cpu_cache();
for (i = 0; i count; i++) {
-vm_page_lock_queues();
-vm_page_unwire(PHYS_TO_VM_PAGE(at-pte_array[i].physical_address),
0);
-vm_page_unlock_queues();
kmem_free(kernel_map,
at-pte_array[i].virtual_address, PAGE_SIZE);
malloc_type_freed(M_NVIDIA, PAGE_SIZE);
--
christian zander
ch?zan...@nvidia.com
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org