Skip site navigation (1)Skip section navigation (2)
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>