<feed xmlns='http://www.w3.org/2005/Atom'>
<title>teythoon/gnumach.git/vm, branch master</title>
<subtitle>Personal GNU Mach development repository</subtitle>
<id>https://darnassus.sceen.net/cgit/teythoon/gnumach.git/atom?h=master</id>
<link rel='self' href='https://darnassus.sceen.net/cgit/teythoon/gnumach.git/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://darnassus.sceen.net/cgit/teythoon/gnumach.git/'/>
<updated>2015-07-12T11:03:37Z</updated>
<entry>
<title>vm: really fix traversing the list of inactive pages</title>
<updated>2015-07-12T11:03:37Z</updated>
<author>
<name>Justus Winter</name>
<email>4winter@informatik.uni-hamburg.de</email>
</author>
<published>2015-07-12T11:00:07Z</published>
<link rel='alternate' type='text/html' href='https://darnassus.sceen.net/cgit/teythoon/gnumach.git/commit/?id=c40798e0fda94a1b4178b7e620a0777bb86927be'/>
<id>urn:sha1:c40798e0fda94a1b4178b7e620a0777bb86927be</id>
<content type='text'>
Previously, the pageout code traversed the list of pages in an object
instead of the list of inactive pages.

* vm/vm_pageout.c (vm_pageout_scan): Fix traversing the list of
inactive pages.
</content>
</entry>
<entry>
<title>vm: fix traversing the list of inactive pages</title>
<updated>2015-07-11T11:35:13Z</updated>
<author>
<name>Justus Winter</name>
<email>4winter@informatik.uni-hamburg.de</email>
</author>
<published>2015-07-10T09:11:27Z</published>
<link rel='alternate' type='text/html' href='https://darnassus.sceen.net/cgit/teythoon/gnumach.git/commit/?id=e59f05e940643350bb3813e5b7f18f9fe54806f6'/>
<id>urn:sha1:e59f05e940643350bb3813e5b7f18f9fe54806f6</id>
<content type='text'>
Previously, the pageout code traversed the hash table chain instead of
the list of inactive pages.  The code merely compiled by accident,
because the `struct page' also has a field called `next' for the hash
table chain.

* vm/vm_pageout.c (vm_pageout_scan): Fix traversing the list of
inactive pages.
</content>
</entry>
<entry>
<title>vm: drop debugging remnants</title>
<updated>2015-07-10T20:08:18Z</updated>
<author>
<name>Justus Winter</name>
<email>4winter@informatik.uni-hamburg.de</email>
</author>
<published>2015-07-10T00:00:56Z</published>
<link rel='alternate' type='text/html' href='https://darnassus.sceen.net/cgit/teythoon/gnumach.git/commit/?id=ef0ae1b884891af08626e8e52d62fdb02ec23ee1'/>
<id>urn:sha1:ef0ae1b884891af08626e8e52d62fdb02ec23ee1</id>
<content type='text'>
* vm/vm_object.c (vm_object_terminate): Drop debugging remnants.
</content>
</entry>
<entry>
<title>vm: fix panic message</title>
<updated>2015-07-09T17:34:03Z</updated>
<author>
<name>Justus Winter</name>
<email>4winter@informatik.uni-hamburg.de</email>
</author>
<published>2015-07-04T14:36:03Z</published>
<link rel='alternate' type='text/html' href='https://darnassus.sceen.net/cgit/teythoon/gnumach.git/commit/?id=923c1f275596b97e823023e7020475b9a5258d5e'/>
<id>urn:sha1:923c1f275596b97e823023e7020475b9a5258d5e</id>
<content type='text'>
* vm/vm_kern.c (kmem_init): Fix panic message.
</content>
</entry>
<entry>
<title>Allow non-privileged tasks to wire 64KiB task memory</title>
<updated>2015-07-09T12:13:25Z</updated>
<author>
<name>Samuel Thibault</name>
<email>samuel.thibault@ens-lyon.org</email>
</author>
<published>2015-07-09T12:13:25Z</published>
<link rel='alternate' type='text/html' href='https://darnassus.sceen.net/cgit/teythoon/gnumach.git/commit/?id=eaee9424a120c289abc3eeeff331cb0d45efe971'/>
<id>urn:sha1:eaee9424a120c289abc3eeeff331cb0d45efe971</id>
<content type='text'>
* doc/mach.texi (vm_wire): Document that the host port does not have to be
privileged.
* include/mach/mach_hosts.defs (vm_wire): Use mach_port_t instead of
host_priv_t.
* vm/vm_map.h (vm_map): Add user_wired field.
* vm/vm_map.c (vm_map_setup): Initialize user_wired field to 0.
(vm_map_pageable_common, vm_map_entry_delete, vm_map_copy_overwrite,
vm_map_copyout_page_list, vm_map_copyin_page_list): When switching
user_wired_count field of entry between 0 and non-0, accumulate the
corresponding size into the user_wired field of map.
* vm/vm_user.c (vm_wire): Turn host parameter into port parameter, and
inline a version of convert_port_to_host_priv which records whether the host
port is privileged or not.  When it is not privileged, check whether
the additional amount to user_wired will overcome 64KiB.
</content>
</entry>
<entry>
<title>Fix typo</title>
<updated>2015-06-05T06:35:37Z</updated>
<author>
<name>Flávio Cruz</name>
<email>flaviocruz@gmail.com</email>
</author>
<published>2015-06-05T06:28:08Z</published>
<link rel='alternate' type='text/html' href='https://darnassus.sceen.net/cgit/teythoon/gnumach.git/commit/?id=1b8b9c142fb8735ca5a5806ce92ac2e327131f6d'/>
<id>urn:sha1:1b8b9c142fb8735ca5a5806ce92ac2e327131f6d</id>
<content type='text'>
* vm/vm_kern.c (kmem_alloc_aligned): Fix typo.
</content>
</entry>
<entry>
<title>vm: drop unused `kmem_realloc'</title>
<updated>2015-05-23T15:05:58Z</updated>
<author>
<name>Justus Winter</name>
<email>4winter@informatik.uni-hamburg.de</email>
</author>
<published>2015-05-23T05:31:17Z</published>
<link rel='alternate' type='text/html' href='https://darnassus.sceen.net/cgit/teythoon/gnumach.git/commit/?id=417ca3833d651a89dc55462739f9dbb9f7af7866'/>
<id>urn:sha1:417ca3833d651a89dc55462739f9dbb9f7af7866</id>
<content type='text'>
* vm/vm_kern.c (kmem_realloc): Remove function.
(kmem_alloc_wired): Adopt comment.
* vm/vm_kern.h (kmem_realloc): Remove declaration.
</content>
</entry>
<entry>
<title>vm: gracefully handle resource shortage</title>
<updated>2015-05-20T08:56:15Z</updated>
<author>
<name>Justus Winter</name>
<email>4winter@informatik.uni-hamburg.de</email>
</author>
<published>2015-04-26T13:39:00Z</published>
<link rel='alternate' type='text/html' href='https://darnassus.sceen.net/cgit/teythoon/gnumach.git/commit/?id=3c3d3614673c93bf1b1f47d612d8067455d06920'/>
<id>urn:sha1:3c3d3614673c93bf1b1f47d612d8067455d06920</id>
<content type='text'>
* vm/vm_object.c (vm_object_copy_call): Gracefully handle resource
shortage by doing the allocation earlier and aborting the function if
unsuccessful.
</content>
</entry>
<entry>
<title>kern: import `macros.h' from x15</title>
<updated>2015-05-19T14:11:56Z</updated>
<author>
<name>Justus Winter</name>
<email>4winter@informatik.uni-hamburg.de</email>
</author>
<published>2015-03-31T10:57:05Z</published>
<link rel='alternate' type='text/html' href='https://darnassus.sceen.net/cgit/teythoon/gnumach.git/commit/?id=b3c5e41bc05bc622c637d1da75a3c63091e4e789'/>
<id>urn:sha1:b3c5e41bc05bc622c637d1da75a3c63091e4e789</id>
<content type='text'>
Import the macro definitions from the x15 kernel project, and replace
all similar definitions littered all over the place with it.

Importing this file will make importing code from the x15 kernel
easier.  We are already using the red-black tree implementation and
the slab allocator from it, and we will import even more code in the
near future.

* kern/list.h: Do not define `structof', include `macros.h' instead.
* kern/rbtree.h: Likewise.
* kern/slab.c: Do not define `ARRAY_SIZE', include `macros.h' instead.
* i386/grub/misc.h: Likewise.
* i386/i386/xen.h: Do not define `barrier', include `macros.h' instead.
* kern/macro_help.h: Delete file.  Replaced by `macros.h'.
* kern/macros.h: New file.
* Makefrag.am (libkernel_a_SOURCES): Add new file, remove old file.
* device/dev_master.h: Adopt accordingly.
* device/io_req.h: Likewise.
* device/net_io.h: Likewise.
* i386/intel/read_fault.c: Likewise.
* ipc/ipc_kmsg.h: Likewise.
* ipc/ipc_mqueue.h: Likewise.
* ipc/ipc_object.h: Likewise.
* ipc/ipc_port.h: Likewise.
* ipc/ipc_space.h: Likewise.
* ipc/ipc_splay.c: Likewise.
* ipc/ipc_splay.h: Likewise.
* kern/assert.h: Likewise.
* kern/ast.h: Likewise.
* kern/pc_sample.h: Likewise.
* kern/refcount.h: Likewise.
* kern/sched.h: Likewise.
* kern/sched_prim.c: Likewise.
* kern/timer.c: Likewise.
* kern/timer.h: Likewise.
* vm/vm_fault.c: Likewise.
* vm/vm_map.h: Likewise.
* vm/vm_object.h: Likewise.
* vm/vm_page.h: Likewise.
</content>
</entry>
<entry>
<title>kern: avoid #if 0ing out thread_collect_scan</title>
<updated>2015-02-18T05:40:07Z</updated>
<author>
<name>Justus Winter</name>
<email>4winter@informatik.uni-hamburg.de</email>
</author>
<published>2015-02-18T05:40:07Z</published>
<link rel='alternate' type='text/html' href='https://darnassus.sceen.net/cgit/teythoon/gnumach.git/commit/?id=b0fa32c1d7de74a8b83b33833640ff30c84e9fbd'/>
<id>urn:sha1:b0fa32c1d7de74a8b83b33833640ff30c84e9fbd</id>
<content type='text'>
Currently, `thread_collect_scan' does nothing because `pcb_collect' is
a nop.  Its body is exempt from compilation by means of the
preprocessor.

This is unfortunate as it increases the risk of bitrot, and we still
need to pay the price of rate-limiting thread_collect_scan.

* kern/thread.c (thread_collect_scan): Drop #if 0 around the body.
* vm/vm_pageout.c (vm_pageout_scan): Do not call
`consider_thread_collect' and document why.
</content>
</entry>
</feed>
