From 291f413ed8d0dec9c88fc58da7a31334ad3c09cd Mon Sep 17 00:00:00 2001 From: attilio Date: Mon, 13 May 2013 15:40:51 +0000 Subject: o Add accessor functions to add and remove pages from a specific freelist. o Split the pool of free pages queues really by domain and not rely on definition of VM_RAW_NFREELIST. o For MAXMEMDOM > 1, wrap the RR allocation logic into a specific function that is called when calculating the allocation domain. The RR counter is kept, currently, per-thread. In the future it is expected that such function evolves in a real policy decision referee, based on specific informations retrieved by per-thread and per-vm_object attributes. o Add the concept of "probed domains" under the form of vm_ndomains. It is responsibility for every architecture willing to support multiple memory domains to correctly probe vm_ndomains along with mem_affinity segments attributes. Those two values are supposed to remain always consistent. Please also note that vm_ndomains and td_dom_rr_idx are both int because segments already store domains as int. Ideally u_int would have much more sense. Probabilly this should be cleaned up in the future. o Apply RR domain selection also to vm_phys_zero_pages_idle(). Sponsored by: EMC / Isilon storage division Partly obtained from: jeff Reviewed by: alc Tested by: jeff --- sys/vm/vm_phys.h | 1 + 1 file changed, 1 insertion(+) (limited to 'sys/vm/vm_phys.h') diff --git a/sys/vm/vm_phys.h b/sys/vm/vm_phys.h index 7b7b33b..9812816 100644 --- a/sys/vm/vm_phys.h +++ b/sys/vm/vm_phys.h @@ -48,6 +48,7 @@ struct mem_affinity { }; extern struct mem_affinity *mem_affinity; +extern int vm_ndomains; /* * The following functions are only to be used by the virtual memory system. -- cgit v1.1