John Baldwin wrote:
On Saturday 15 September 2007 02:47:02 pm Alan Cox wrote:
alc 2007-09-15 18:47:02 UTC
FreeBSD src repository
Modified files:
sys/amd64/amd64 uma_machdep.c
sys/arm/arm vm_machdep.c
sys/ia64/ia64 uma_machdep.c
sys/powerpc/powerpc uma_machdep.c
sys/sparc64/sparc64 vm_machdep.c
sys/sun4v/sun4v vm_machdep.c
Log:
It has been observed on the mailing lists that the different categories
of pages don't sum to anywhere near the total number of pages on amd64.
This is for the most part because uma_small_alloc() pages have never been
counted as wired pages, like their kmem_malloc() brethren. They should
be. This changes fixes that.
It is no longer necessary for the page queues lock to be held to free
pages allocated by uma_small_alloc(). I removed the acquisition and
release of the page queues lock from uma_small_free() on amd64 and ia64
weeks ago. This patch updates the other architectures that have
uma_small_alloc() and uma_small_free().
Approved by: re (kensmith)
I'd like to merge this to 6.x. However, I'm not sure if the same is true
about vm_page_free() not needing the vm_page_queues lock in 6.x, so figured
I'd ask you about that first.
No, the page queue locking changes were never made to 6.x. However, the
accounting fix (paragraph #1 above) is separable from the other change.
Therefore, you could apply the accounting fix to 6.x with no trouble.
In fact, the amd64 and ia64 parts of this commit were purely to apply
the accounting fix because I had already removed the acquisition and
release of the page queues lock from uma_small_{alloc,free} on those
machines in an earlier revision. In effect, for 6.x you just need to
replicate the amd64/ia64 version of this change across all six
architectures.
Alan
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/cvs-all
To unsubscribe, send any mail to "[EMAIL PROTECTED]"