Date: Wed, 26 May 2010 16:54:55 -0500 From: Alan Cox <alc@cs.rice.edu> To: Ryan Stone <rysto32@gmail.com> Cc: Kostik Belousov <kostikbel@gmail.com>, Garrett Cooper <yanefbsd@gmail.com>, FreeBSD Current <freebsd-current@freebsd.org>, alc@freebsd.org Subject: Re: nvidia-driver 195.22 use horribly broken on amd64 between r206173 and Message-ID: <4BFD98AF.9030503@cs.rice.edu> In-Reply-To: <AANLkTinnaeHiM7mWd_47LH77m8q6Z5KOPtM78RynjPMo@mail.gmail.com> References: <AANLkTil33IEVGXxsjV1oqfBgKQq-aIJ9Ur1U0Gn8Gplt@mail.gmail.com> <4BFD4AE6.5040105@cs.rice.edu> <20100526165141.GF83316@deviant.kiev.zoral.com.ua> <4BFD5D5F.8090106@cs.rice.edu> <AANLkTinb2paAVMVXjXQBn7AseC5Iwydl7vs_HTCt4vWM@mail.gmail.com> <AANLkTinnaeHiM7mWd_47LH77m8q6Z5KOPtM78RynjPMo@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On 5/26/2010 2:56 PM, Ryan Stone wrote: >> I'm by no means an expert in this area, but isn't removing the locking >> on free a bad thing? >> > Looking at the code, it seems that vm_page_unwire() only requires the > page to be locked if it is managed. As it was acquired by > contigmalloc, the page should be unmanaged so that should be ok. > > I am confused as to why vm_page_unwire() does not require the page to > be locked if the page is unmanaged. What is synchronizing the > accesses to m->wire_count? > You can think of unmanaged pages as being private. Not necessarily private to a thread or processor, but private to some entity, such as a particular process's page table. So, no one else, such as the page daemon, is going to be concurrently accessing the wire count field of the page, and thus, no page or page queues locking is needed. Alan
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4BFD98AF.9030503>