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

_______________________________________________
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"

Reply via email to