diff options
author | tanimura <tanimura@FreeBSD.org> | 2000-12-13 10:01:00 +0000 |
---|---|---|
committer | tanimura <tanimura@FreeBSD.org> | 2000-12-13 10:01:00 +0000 |
commit | a8dbeb3f7b850f093f2892563882b3afcecd5e8e (patch) | |
tree | 5cfdc93fb25655fb4c56646dcc64ce1e405c28e8 /sys/vm/swap_pager.h | |
parent | 90d90d0c248fbcde27a7d443098c2bf514aaa199 (diff) | |
download | FreeBSD-src-a8dbeb3f7b850f093f2892563882b3afcecd5e8e.zip FreeBSD-src-a8dbeb3f7b850f093f2892563882b3afcecd5e8e.tar.gz |
- If swap metadata does not fit into the KVM, reduce the number of
struct swblock entries by dividing the number of the entries by 2
until the swap metadata fits.
- Reject swapon(2) upon failure of swap_zone allocation.
This is just a temporary fix. Better solutions include:
(suggested by: dillon)
o reserving swap in SWAP_META_PAGES chunks, and
o swapping the swblock structures themselves.
Reviewed by: alfred, dillon
Diffstat (limited to 'sys/vm/swap_pager.h')
-rw-r--r-- | sys/vm/swap_pager.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/sys/vm/swap_pager.h b/sys/vm/swap_pager.h index ea57132..b0fbe3a 100644 --- a/sys/vm/swap_pager.h +++ b/sys/vm/swap_pager.h @@ -84,6 +84,7 @@ struct swblock { extern struct pagerlst swap_pager_un_object_list; extern int swap_pager_full; extern struct blist *swapblist; +extern vm_zone_t swap_zone; void swap_pager_putpages __P((vm_object_t, vm_page_t *, int, boolean_t, int *)); boolean_t swap_pager_haspage __P((vm_object_t object, vm_pindex_t pindex, int *before, int *after)); |