atom feed30 messages in org.freebsd.freebsd-hackersRe: swapoff?
FromSent OnAttachments
Sean KellyJul 12, 2002 9:02 pm 
David SchultzJul 12, 2002 10:23 pm 
David SchultzJul 12, 2002 10:32 pm 
Matthew DillonJul 12, 2002 11:51 pm 
David SchultzJul 13, 2002 12:18 am 
Matthew DillonJul 13, 2002 12:27 am 
Peter WemmJul 13, 2002 12:33 am 
Andrey AlekseyevJul 13, 2002 1:23 am 
Terry LambertJul 13, 2002 3:17 am 
Jon MiniJul 13, 2002 3:44 am 
Terry LambertJul 13, 2002 4:30 am 
David SchultzJul 13, 2002 4:57 am 
Terry LambertJul 13, 2002 5:22 am 
Matthew DillonJul 13, 2002 9:36 am 
David SchultzJul 13, 2002 2:00 pm 
Peter WemmJul 13, 2002 3:39 pm 
David SchultzOct 7, 2002 8:38 am 
Matthew DillonOct 7, 2002 4:46 pm 
Nate LawsonOct 7, 2002 9:47 pm 
David SchultzOct 8, 2002 4:35 am 
David SchultzOct 8, 2002 4:39 am 
Matthew DillonOct 8, 2002 10:04 am 
Matthew DillonOct 8, 2002 10:45 am 
David SchultzOct 11, 2002 6:01 am 
Matthew DillonOct 11, 2002 11:14 am 
David SchultzOct 14, 2002 2:41 am 
Matthew DillonOct 14, 2002 8:55 am 
David SchultzOct 15, 2002 12:10 am 
David SchultzOct 23, 2002 11:07 am 
Matthew DillonOct 23, 2002 11:45 am 
Subject:Re: swapoff?
From:Matthew Dillon (dil@apollo.backplane.com)
Date:Jul 12, 2002 11:51:56 pm
List:org.freebsd.freebsd-hackers

:BTW, NetBSD's new UVM code has the ability to do this. Perhaps :it's worth looking in to how difficult it would really be in FreeBSD... : :To Unsubscribe: send mail to majo@FreeBSD.org :with "unsubscribe freebsd-hackers" in the body of the message

Someone got it mostly working a year or two ago if I remember right but I don't know what happened to it finally.

Implementing swapoff is a bunch of grunt-work but not too hard in concept. Basically the work involved is this:

* Make a calculation to be sure that it is possible to turn off the swap device and not run the system out of VM. If it is not possible do not allow the swapoff.

* Allocate all the free bitmap bits related to the swap device you are trying to remove to prevent pageouts to the device you are removing.

* Flag the swap device being removed and then scan all OBJT_SWAP VM Objects looking for swap blocks associated with the device, and force a page-in of those blocks. The getpages code for the swap backing store would detect the flag and not clear the swap bitmap bits as it pages-in the data.

(Forcing a pagein may force pages to cycle back out to another swap device, so special treatment of the paged-in pages (like immediately placing it in the VM page cache instead of the active or inactive queues) is necessary to reduce load effects on the system.

* The swap device being removed can now be closed and the related swap device index marked free.

To Unsubscribe: send mail to majo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message