[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[SCM] GNU Mach branch, master, updated. v1.6-78-gb4d07d3
From: |
Richard Braun |
Subject: |
[SCM] GNU Mach branch, master, updated. v1.6-78-gb4d07d3 |
Date: |
Mon, 16 May 2016 15:17:47 +0000 (UTC) |
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU Mach".
The branch, master has been updated
via b4d07d3c60449dde5c567aaeb2db0cd9f39547bd (commit)
from bbcbebe456c921fc9494fec2bd1cbe1fa6696453 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit b4d07d3c60449dde5c567aaeb2db0cd9f39547bd
Author: Richard Braun <address@hidden>
Date: Mon May 16 17:10:06 2016 +0200
Fix pageout deadlock
The pageout daemon uses small, internal, temporary objects to transport
the data out to memory managers, which are expected to release the data
once written out to backing store. Releasing this data is done with a
vm_deallocate call. The problem with this is that vm_map is allowed to
merge these objects, in which case vm_deallocate will only remove a
reference instead of releasing the underlying pages, causing the pageout
daemon to deadlock.
This change makes the pageout daemon mark these objects so that they
don't get merged.
* vm/vm_object.c (vm_object_bootstrap): Update template.
(vm_object_coalesce): Don't coalesce if an object is used for pageout.
* vm/vm_object.h (struct vm_object): New `used_for_pageout` member.
* vm/vm_pageout.c (vm_pageout_page): Mark new objects for pageout.
-----------------------------------------------------------------------
Summary of changes:
vm/vm_object.c | 2 ++
vm/vm_object.h | 7 +++++++
vm/vm_pageout.c | 1 +
3 files changed, 10 insertions(+)
hooks/post-receive
--
GNU Mach
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [SCM] GNU Mach branch, master, updated. v1.6-78-gb4d07d3,
Richard Braun <=