[PATCH 1/2] libports: use a global hash table for the lookups

2014-09-05 Thread Justus Winter
Previously, libports used a hash table per port bucket. This makes looking up a port difficult if one does not know the port bucket, as one has to iterate over all buckets and do a hash table lookup each. Having to iterate over the buckets makes it necessary to keep a list of all buckets, which h

[PATCH 2/2] libports: lock-less reference counting for port_info objects

2014-09-05 Thread Justus Winter
* libports/ports.h (struct port_info): Use the new type. * libports/lookup-port.c: No need to lock _ports_lock anymore. * libports/bucket-iterate.c: Likewise. * libports/complete-deallocate.c: Check if someone reacquired a reference through a hash table lookup. * libports/create-internal.c: Use the

Fixing gnumachs vm_map

2014-09-05 Thread Justus Winter
Hi :) there is a bug affecting vm_map. Contrary to the documentation, address is not ignored if anywhere is given, leading to spurious KERN_NO_SPACE errors. Test case below. I'm not sure the fix is correct, maybe we have to do if (... || start + size > map->max_offset)... or something. Pleas

[PATCH] vm: fix vm_map_enter

2014-09-05 Thread Justus Winter
Previously, vm_map_enter returned KERN_NO_SPACE if ADDRESS is out of range even if ANYWHERE was given. * vm/vm_map.c (vm_map_enter): Pick a suitable address if the given address is out of bounds and anywhere is given. --- vm/vm_map.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff

[PATCH 1/8] Add proc_set_init_task, make runsystem pid 1

2014-09-05 Thread Justus Winter
* hurd/process.defs (proc_set_init_task): New procedure. * hurd/process_reply.defs (proc_set_init_task): Likewise. * hurd/process_request.defs (proc_set_init_task): Likewise. * include/pids.h: Add HURD_PID_INIT as 1, adjust others accordingly. * init/init.c (start_child): Register the child task. *

[PATCH 2/8] procfs: do not hard-code the default argument values

2014-09-05 Thread Justus Winter
* procfs/main.c (common_options): If possible, do not hard-code the default values. --- procfs/main.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/procfs/main.c b/procfs/main.c index f3067d9..36a2d25 100644 --- a/procfs/main.c +++ b/procfs/main.c @@ -142,13 +142,13 @@

Missed to change the kernel pid in procfs

2014-09-05 Thread Justus Winter
Hi, I missed procfs, which has to be told the new kernel pid. Also, I realize that these changes are a pita to build Debian packages from. You can grab the packaging bits from git://darnassus.sceen.net/teythoon/packaging/hurd.git and binary packages from deb http://darnassus.sceen.net/~teytho