Increase the pageout cluster size to 32 pages.

Decouple the pageout cluster size from the size of the hash table entry
used by the swap pager for mapping (object, pindex) to a block on the
swap device(s), and keep the size of a hash table entry at its current
size.

Eliminate a pointless macro.

Reviewed by:	kib, markj (an earlier version)
MFC after:	4 weeks
Differential Revision:	https://reviews.freebsd.org/D11305
This commit is contained in:
Alan Cox 2017-06-24 17:10:33 +00:00
parent a36deee3d3
commit e22415906d
2 changed files with 3 additions and 4 deletions

View File

@ -120,7 +120,7 @@ __FBSDID("$FreeBSD$");
* The 64-page limit is due to the radix code (kern/subr_blist.c).
*/
#ifndef MAX_PAGEOUT_CLUSTER
#define MAX_PAGEOUT_CLUSTER 16
#define MAX_PAGEOUT_CLUSTER 32
#endif
#if !defined(SWB_NPAGES)
@ -134,7 +134,7 @@ __FBSDID("$FreeBSD$");
* Unused disk addresses within a swap area are allocated and managed
* using a blist.
*/
#define SWAP_META_PAGES (SWB_NPAGES * 2)
#define SWAP_META_PAGES 32
#define SWAP_META_MASK (SWAP_META_PAGES - 1)
struct swblock {

View File

@ -251,8 +251,7 @@ static u_int vm_background_launder_max = 20 * 1024;
SYSCTL_UINT(_vm, OID_AUTO, background_launder_max, CTLFLAG_RW,
&vm_background_launder_max, 0, "background laundering cap, in kilobytes");
#define VM_PAGEOUT_PAGE_COUNT 16
int vm_pageout_page_count = VM_PAGEOUT_PAGE_COUNT;
int vm_pageout_page_count = 32;
int vm_page_max_wired; /* XXX max # of wired pages system-wide */
SYSCTL_INT(_vm, OID_AUTO, max_wired,