commit-hurd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[SCM] GNU Mach branch, mplaneta/gsoc12/review, created. e1a950b2649f0563


From: Maksym Planeta
Subject: [SCM] GNU Mach branch, mplaneta/gsoc12/review, created. e1a950b2649f056330cacf5016c91a4f8653f49c
Date: Sun, 28 Oct 2012 16:03:15 +0000

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, mplaneta/gsoc12/review has been created
        at  e1a950b2649f056330cacf5016c91a4f8653f49c (commit)

- Log -----------------------------------------------------------------
commit e1a950b2649f056330cacf5016c91a4f8653f49c
Author: Maksym Planeta <address@hidden>
Date:   Mon Oct 8 22:31:30 2012 +0200

    Add processing of page faults in clusteres in Mach kernel
    
    Earlier, when page fault occurred, control reached the function
    vm_fault_page, that determined the reason of the fault and if the reason
    was appropriate, kernel asked a pager for data that should be stored in that
    single page. The main idea behind this commit is to determine and than
    request not only one page, but a bunch of them.
    
    Almost all work is done in function vm_fault_page, but to keep the size of
    this function there was added a bunch of helper functions for internal use
    in vm_fault_page.
    
    * i386/intel/read_fault.c (intel_read_fault): New prototype of vm_fault_page
    requires supplying of map entry in which fault occurred, so change function
    appropriately.
    
    * vm/vm_fault.h (vm_fault_page): Update function prototype.
    
    * vm/vm_fault.c (min): New macro.
    (vm_fault_state_t): New field.
    (vm_advice_table): New table where parameters for types of memory advice are
    stored.
    (map_function_parameter_t): New union for internal use.
    (vm_mark_for_pagein): New function for internal use.
    (vm_mark_for_unlock): Likewise.
    (vm_free_after_error): Likewise.
    (vm_cleanup_after_error): Likewise.
    (vm_calculate_clusters): Likewise.
    (dont_request_page): Likewise.
    (dont_unlock_page): Likewise.
    (vm_for_every_page): Likewise.
    
    (vm_fault_page): Function has been changed to request data in clusters. Its
    prototype has been changed to supply to this function information regarding
    memory entry where page fault occurred.
    (vm_fault): Function has been changed to supply function vm_fault_page with
    information regarding memory entry where page fault occurred.
    
    (vm_fault_unwire): Function changed to call vm_fault_page with new
    prototype.
    (vm_fault_copy): Likewise.
    
    * vm/vm_map.c (vm_map_copyin_page_list): Function changed to call
    vm_fault_page with new prototype.
    
    * vm/vm_object.c (vm_object_copy_slowly): Function changed to call
    vm_fault_page with new prototype.

commit 5fb4561e864d834cf7c637f6c798f04aea26c23e
Author: Maksym Planeta <address@hidden>
Date:   Mon Oct 8 16:46:28 2012 +0200

    Add special treatment in memory_object_data_error RPC.
    
    This commit add possibility for server to inform kernel that server has no
    some data requested by kernel. This possibility should be used when kernel
    asks for cluster of data, but server can't return all the data.
    
    * include/mach/kern_return.h (KERN_NO_DATA): New macro. Using this value
    server may notify kernel that not all data in requested by kernel cluster
    are available at the moment.
    
    * vm/memory_object.c (memory_object_data_error): Add special treatment for
    error code KERN_NO_DATA.

commit 2cf980488c7ffafae4036dddefa92d9a8cf2b0db
Author: Maksym Planeta <address@hidden>
Date:   Mon Oct 8 16:38:31 2012 +0200

    Update debugging functions to make them inform caller about memory advice.
    
    * include/mach_debug/vm_info.h (vm_region_info_t): Add memory advice that is
    applied to region's information structure.
    (vm_object_info_t): Add memory advice that is applied to object's
    information structure.
    
    * vm/vm_debug.c (mach_vm_region_info): Function changed to inform caller
    about memory advice.
    (mach_vm_object_info): Likewise.

commit 74250405e042ecf0f11adc42f00968b39d93fe3e
Author: Maksym Planeta <address@hidden>
Date:   Mon Oct 8 16:31:41 2012 +0200

    Add RPC that supplies user with general information regarding memory advice.
    
    Current implementation of vm_get_advice_info returns only maximal possible
    size of cluster to be asked. This information is used by default pager,
    because it can't rely on allocating of memory during processing requests
    from kernel. That's why default pager allocates buffers, where it stores
    data to be returned to kernel, beforehand for each thread. So, information
    provided by vm_get_advice_info tells the default pager size of this buffer.
    
    * include/mach/mach.defs (vm_get_advice_info): New ipc definition.
    
    * vm/vm_user.c (vm_get_advice_info): New function.

commit e70ecc311676b9f30cbc5ca7c2029b7f522cbb25
Author: Maksym Planeta <address@hidden>
Date:   Mon Oct 8 16:01:13 2012 +0200

    Add IPC functions that allow user to manipulate with memory advice.
    
    * include/mach/mach_types.defs (vm_advice_t): New type definition.
    
    * include/mach/mach.defs (vm_advise): New RPC definition.
    (memory_object_set_advice): Likewise.
    (memory_object_get_advice): Likewise.
    
    * kern/ipc_mig.c (syscall_vm_advice): New function. This is optimization
    function for RPC that is processed by kernel.
    
    * kern/syscall_sw.c (syscall_vm_advice): Add function prototype.
    (mach_trap_table): Add syscall_vm_advice to trap table.
    
    * vm/memory_object.c (memory_object_set_advice): New function. Sets memory
    advice for memory object.
    (memory_object_get_advice): New function. Returns memory advice of memory
    object.
    
    * vm/vm_user.c (vm_advise): New function. Wrapper for vm_map_advice.
    
    * vm/vm_map.h (vm_map_advice): Add function prototype.
    
    * vm/vm_map.c (vm_map_advice): New function. Sets memory advice for memory
    range.

-----------------------------------------------------------------------


hooks/post-receive
-- 
GNU Mach



reply via email to

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