commit-hurd
[Top][All Lists]
Advanced

[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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]