<feed xmlns='http://www.w3.org/2005/Atom'>
<title>teythoon/gnumach.git/ipc, branch pmm-2015-08-12</title>
<subtitle>Personal GNU Mach development repository</subtitle>
<id>https://darnassus.sceen.net/cgit/teythoon/gnumach.git/atom?h=pmm-2015-08-12</id>
<link rel='self' href='https://darnassus.sceen.net/cgit/teythoon/gnumach.git/atom?h=pmm-2015-08-12'/>
<link rel='alternate' type='text/html' href='https://darnassus.sceen.net/cgit/teythoon/gnumach.git/'/>
<updated>2015-07-26T10:14:40Z</updated>
<entry>
<title>kern/slab: directmap update</title>
<updated>2015-07-26T10:14:40Z</updated>
<author>
<name>Richard Braun</name>
<email>rbraun@sceen.net</email>
</author>
<published>2014-12-10T20:52:40Z</published>
<link rel='alternate' type='text/html' href='https://darnassus.sceen.net/cgit/teythoon/gnumach.git/commit/?id=130fd1a913a98e2a0a3351103651c1193b9b5a07'/>
<id>urn:sha1:130fd1a913a98e2a0a3351103651c1193b9b5a07</id>
<content type='text'>
The main impact of the direct physical mapping on the kmem module is the
slab size computation. The page allocator requires the allocation size
to be a power-of-two above the page size since it uses the buddy memory
allocation algorithm.

Custom slab allocation functions are no longer needed since the only
user was the kentry area, which has been removed recently.

The KMEM_CACHE_NOCPUPOOL flag is also no longer needed since CPU pools,
which are allocated from a kmem cache, can now always be allocated out
of the direct physical mapping.
</content>
</entry>
<entry>
<title>kern: use a general lock for the IPC structures</title>
<updated>2015-07-26T10:14:18Z</updated>
<author>
<name>Justus Winter</name>
<email>4winter@informatik.uni-hamburg.de</email>
</author>
<published>2015-07-25T00:29:58Z</published>
<link rel='alternate' type='text/html' href='https://darnassus.sceen.net/cgit/teythoon/gnumach.git/commit/?id=75e6b9de564382ce5e4d4f2092635ccded70a14c'/>
<id>urn:sha1:75e6b9de564382ce5e4d4f2092635ccded70a14c</id>
<content type='text'>
* ipc/ipc_thread.h (ith_{lock_init,lock,unlock}): Use a general lock.
* kern/task.h (struct task): Use a general lock for `itk_lock_data'.
(itk_{lock_init,lock,unlock}): Use a general lock.
* kern/thread.h (struct thread): Use a general lock for `ith_lock_data'.
</content>
</entry>
<entry>
<title>yyy more general locks, crashes, maybe b/c interrupt handler</title>
<updated>2015-07-26T10:14:18Z</updated>
<author>
<name>Justus Winter</name>
<email>4winter@informatik.uni-hamburg.de</email>
</author>
<published>2015-07-18T14:55:12Z</published>
<link rel='alternate' type='text/html' href='https://darnassus.sceen.net/cgit/teythoon/gnumach.git/commit/?id=724bca75dfd24ab12ae3f25c2ffb10037c14e7d3'/>
<id>urn:sha1:724bca75dfd24ab12ae3f25c2ffb10037c14e7d3</id>
<content type='text'>
</content>
</entry>
<entry>
<title>ipc/space: inline reference counting</title>
<updated>2015-07-25T02:00:43Z</updated>
<author>
<name>Justus Winter</name>
<email>4winter@informatik.uni-hamburg.de</email>
</author>
<published>2015-07-20T19:16:27Z</published>
<link rel='alternate' type='text/html' href='https://darnassus.sceen.net/cgit/teythoon/gnumach.git/commit/?id=6db6bf440bf4187d38484c97eccb0592de5743de'/>
<id>urn:sha1:6db6bf440bf4187d38484c97eccb0592de5743de</id>
<content type='text'>
* ipc/ipc_space.h (is_{reference,release}): Use the macro variant.
</content>
</entry>
<entry>
<title>ipc: use a general lock to protect IPC spaces</title>
<updated>2015-07-15T13:23:14Z</updated>
<author>
<name>Justus Winter</name>
<email>4winter@informatik.uni-hamburg.de</email>
</author>
<published>2015-07-15T10:40:50Z</published>
<link rel='alternate' type='text/html' href='https://darnassus.sceen.net/cgit/teythoon/gnumach.git/commit/?id=7c9b83c90e2acc4f9eb74713c47796a3c0a08800'/>
<id>urn:sha1:7c9b83c90e2acc4f9eb74713c47796a3c0a08800</id>
<content type='text'>
This fixes a corruption in the radix trees representing the IPC spaces
when memory was tight.

* ipc/ipc_space.h: Use a general lock to protect IPC spaces.
</content>
</entry>
<entry>
<title>ipc: fix the locking of the IPC entry allocation functions</title>
<updated>2015-07-15T13:23:14Z</updated>
<author>
<name>Justus Winter</name>
<email>4winter@informatik.uni-hamburg.de</email>
</author>
<published>2015-07-15T13:11:05Z</published>
<link rel='alternate' type='text/html' href='https://darnassus.sceen.net/cgit/teythoon/gnumach.git/commit/?id=8a68e0a6f3a62c3e382791774e5feb9506e1f7d8'/>
<id>urn:sha1:8a68e0a6f3a62c3e382791774e5feb9506e1f7d8</id>
<content type='text'>
* ipc/ipc_entry.c (ipc_entry_alloc): Assume the space is write-locked.
(ipc_entry_alloc_name): Likewise.
* ipc/ipc_object.c: Fix the locking around all call sites to the two
functions where the space was not locked before.
</content>
</entry>
<entry>
<title>ipc: avoid kmem_alloc</title>
<updated>2015-07-12T11:03:37Z</updated>
<author>
<name>Justus Winter</name>
<email>4winter@informatik.uni-hamburg.de</email>
</author>
<published>2015-07-02T14:14:18Z</published>
<link rel='alternate' type='text/html' href='https://darnassus.sceen.net/cgit/teythoon/gnumach.git/commit/?id=8760a60438d4f06b0a65b7fe2719bc39ad02c50d'/>
<id>urn:sha1:8760a60438d4f06b0a65b7fe2719bc39ad02c50d</id>
<content type='text'>
* ipc/ipc_table.c (ipc_table_alloc): Unconditionally use `kalloc'.
(ipc_table_free): Unconditionally use `kfree'.
</content>
</entry>
<entry>
<title>Use custom port macros.</title>
<updated>2015-06-05T06:35:37Z</updated>
<author>
<name>Flávio Cruz</name>
<email>flaviocruz@gmail.com</email>
</author>
<published>2015-06-05T06:26:20Z</published>
<link rel='alternate' type='text/html' href='https://darnassus.sceen.net/cgit/teythoon/gnumach.git/commit/?id=d48d85e729f6d7651e276b83ac01d40e467936b8'/>
<id>urn:sha1:d48d85e729f6d7651e276b83ac01d40e467936b8</id>
<content type='text'>
* ipc/ipc_port.c (ipc_port_alloc_special): Use ip_alloc and ip_lock_init
macros instead of manually inlining them.
</content>
</entry>
<entry>
<title>ipc: fix typo</title>
<updated>2015-05-31T16:02:55Z</updated>
<author>
<name>Justus Winter</name>
<email>4winter@informatik.uni-hamburg.de</email>
</author>
<published>2015-05-31T16:02:55Z</published>
<link rel='alternate' type='text/html' href='https://darnassus.sceen.net/cgit/teythoon/gnumach.git/commit/?id=0d44362ce83ed75ea0bd0d24a5461c93561e8b11'/>
<id>urn:sha1:0d44362ce83ed75ea0bd0d24a5461c93561e8b11</id>
<content type='text'>
* ipc/notify.defs: Fix typo.
</content>
</entry>
<entry>
<title>Include the notify protocol in `gnumach.msgids'</title>
<updated>2015-05-31T16:01:01Z</updated>
<author>
<name>Justus Winter</name>
<email>4winter@informatik.uni-hamburg.de</email>
</author>
<published>2014-05-25T14:26:42Z</published>
<link rel='alternate' type='text/html' href='https://darnassus.sceen.net/cgit/teythoon/gnumach.git/commit/?id=255c47e669819f153c722c98a230f6fe4e6ece08'/>
<id>urn:sha1:255c47e669819f153c722c98a230f6fe4e6ece08</id>
<content type='text'>
* Makefrag.am (gnumach.msgids): Add `notify.msgids' as prerequisite.
* Makerules.mig.am: Add rule to generate the list of message ids when
neither the client nor the server stubs are required.
* ipc/notify.defs: New file.
</content>
</entry>
</feed>
