haiku/headers/private
Michael Lotz 4e2b49bc0c kernel/vm: Implement swap adoption for cut_area middle case.
Rename MovePageRange to Adopt and group it with Resize/Rebase as it
covers the third, middle cut case.

Implement VMAnonymousCache::Adopt() to actually adopt swap pages. This
has to recreate swap blocks instead of taking them over from the source
cache as the cut offset or base offset between the caches may not be
swap block aligned. This means that adoption may fail due to memory
shortage in allocating the swap blocks.

For the middle cut case it is therefore now possible to have the adopt
fail in which case the previous cache restore logic is applied. Since
the readoption of the pages from the second cache can fail for the same
reason, there is a slight chance that we can't restore and lose pages.
For now, just panic in such a case and add a TODO to free memory and
retry.

Change-Id: I9a661f00c8f03bbbea2fe6dee90371c68d7951e6
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2588
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2020-05-08 21:56:56 +00:00
..
app RosterPrivate: add IsShutDownInProgress() 2019-12-21 20:32:31 +00:00
audio audio: Move hmulti_audio driver API to private audio headers 2018-10-23 16:33:19 +02:00
binary_compatibility BControl: Add icon support 2013-12-22 02:48:25 +01:00
bluetooth bluetooth: remove DEBUG definition. 2016-06-05 18:55:44 +02:00
debug
debugger Add (void*) casts to memcpy/memset invocations to appease GCC 8. 2019-05-24 14:21:37 -04:00
device acpi_battery: support for _BIX method. 2020-03-10 13:14:09 +00:00
drivers smbios: add module to match SMBios vendor and product 2020-04-27 07:38:40 +00:00
file_systems fixed btrfs_shell 2019-10-08 18:57:27 +02:00
firewire Minor tweaks to fix the build after the last commit. 2019-03-26 20:06:09 -04:00
fs_shell fixed btrfs_shell 2019-10-08 18:57:27 +02:00
graphics AreaKeeper.h: move to headers/private/kernel 2020-03-23 16:38:01 +00:00
i2c i2c: add acquire_bus/release_bus hooks 2020-04-12 16:55:52 +00:00
index_server
input Live update of Input preferences device list 2020-01-25 11:58:48 +00:00
interface IK: Update scroll bars for alternative control look 2020-04-11 16:57:54 +00:00
kernel kernel/vm: Implement swap adoption for cut_area middle case. 2020-05-08 21:56:56 +00:00
libroot Fix clang warning "mismatched-tags" 2020-03-23 01:30:23 +00:00
locale Fix instanciate_catalog prototype 2015-01-17 17:02:40 +01:00
mail build: Cleanup of libgnuregex usage. 2018-03-07 18:04:31 -05:00
media Fix clang warning "mismatched-tags" 2020-03-23 01:30:23 +00:00
midi Midi: Remove some duplicated code 2015-08-27 11:51:57 +02:00
mount
net Fix clang warning "mismatched-tags" 2020-03-23 01:30:23 +00:00
notification Notification_Server: Added ability to choose position of notifications 2017-12-24 12:02:38 +01:00
package kit/package: Error on short file read 2019-08-05 15:07:24 +00:00
preferences Fix glitch in Screen prefs when changing background color. 2017-04-30 10:29:39 +02:00
print PictureIterator.h: fix header guard spelling 2016-07-10 17:11:20 +02:00
runtime_loader libroot: make API version available. 2019-09-13 13:38:08 +00:00
screen_saver ScreenSaver: Rename BuildScreenSaverDefaultSettingsView 2016-04-13 15:50:30 -07:00
shared Remove MouseDownThread and its usages 2020-05-07 22:08:23 +00:00
storage s/OpenBeOS License/MIT License/ universally, as they're the same thing. 2017-02-09 22:09:56 -05:00
support Add ZstdCompressionAlgorithm. 2017-11-24 21:35:49 +01:00
syslog_daemon syslog_daemon: Converted to BServer. 2015-07-22 20:40:47 +02:00
system headers: Move B_KERNEL_{EXECUTE,STACK}_AREA into KernelExport.h. 2020-03-01 21:12:49 +00:00
textencoding
tracker Tracker FindPanel: Make a copy of fDeviceIcon 2016-07-31 19:42:39 -07:00
usb_vision
userlandfs Relicense all of Ingo's BSD/MIT+advertising clause'd code as plain MIT. 2019-08-30 18:27:35 -04:00
virtio virtio: add clear_feature hook. 2020-03-21 17:16:45 +00:00
vmdk
wmi wmi: add ACPI WMI implementation 2020-04-20 14:56:59 +00:00