Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 14 Jun 2010 20:24:02 -0700
From:      Garrett Cooper <yanefbsd@gmail.com>
To:        Christian Zander <czander@nvidia.com>
Cc:        Christian Zander <chzander@nvidia.com>, Doug Barton <dougb@freebsd.org>, Rene Ladan <r.c.ladan@gmail.com>, "alc@freebsd.org" <alc@freebsd.org>, Alan Cox <alan.l.cox@gmail.com>, "freebsd-current@freebsd.org" <freebsd-current@freebsd.org>
Subject:   Re: nvidia-driver 195.22 use horribly broken on amd64 between r206173 and
Message-ID:  <AANLkTilWj2eqlMS5jBE8y9-LEMHcXDHAGZ-iSfPjJWwm@mail.gmail.com>
In-Reply-To: <20100614213122.GS28855@wolf.nvidia.com>
References:  <AANLkTil33IEVGXxsjV1oqfBgKQq-aIJ9Ur1U0Gn8Gplt@mail.gmail.com> <AANLkTilinCqVDPajshyu9hkyGbj12rgh_prrrb-KNhAa@mail.gmail.com> <4C15A09B.8080501@FreeBSD.org> <201006140848.55979.jhb@freebsd.org> <4C169F5B.7040409@gmail.com> <20100614213122.GS28855@wolf.nvidia.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, Jun 14, 2010 at 2:31 PM, Christian Zander <czander@nvidia.com> wrot=
e:
> 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 ru=
nning
>> >>>> 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() a=
long
>> > 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 =3D E738 5471 D185 7013 0EE0 =A04FC8 3C1D 6F83 12E1 84F6
>> (subkeys.pgp.net)
>
> Content-Description: patch-jhb-current
>> --- src/nvidia_subr.c.orig =A0 =A02010-03-12 17:48:52.000000000 +0100
>> +++ src/nvidia_subr.c 2010-06-14 23:25:28.000000000 +0200
>> @@ -1301,9 +1301,6 @@
>>
>> =A0 =A0 =A0for (i =3D 0; i < count; i++) {
>> =A0 =A0 =A0 =A0 =A0pte_array[i] =3D at->pte_array[i].physical_address;
>> - =A0 =A0 =A0 =A0vm_page_lock_queues();
>> - =A0 =A0 =A0 =A0vm_page_wire(PHYS_TO_VM_PAGE(pte_array[i]));
>> - =A0 =A0 =A0 =A0vm_page_unlock_queues();
>> =A0 =A0 =A0 =A0 =A0sglist_append_phys(at->sg_list, pte_array[i], PAGE_SI=
ZE);
>> =A0 =A0 =A0}
>>
>> @@ -1365,9 +1362,6 @@
>> =A0 =A0 =A0 =A0 =A0os_flush_cpu_cache();
>>
>> =A0 =A0 =A0for (i =3D 0; i < count; i++) {
>> - =A0 =A0 =A0 =A0vm_page_lock_queues();
>> - =A0 =A0 =A0 =A0vm_page_unwire(PHYS_TO_VM_PAGE(at->pte_array[i].physica=
l_address), 0);
>> - =A0 =A0 =A0 =A0vm_page_unlock_queues();
>> =A0 =A0 =A0 =A0 =A0kmem_free(kernel_map,
>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0at->pte_array[i].virtual_address, PAG=
E_SIZE);
>> =A0 =A0 =A0 =A0 =A0malloc_type_freed(M_NVIDIA, PAGE_SIZE);

    I'll give it a quick shot on my desktop to see how things go.
FWIW, nvidia-driver-195.36.15 has been a rock solid release as well,
with or without the patch.
Cheers,
-Garrett



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?AANLkTilWj2eqlMS5jBE8y9-LEMHcXDHAGZ-iSfPjJWwm>