[PATCH] Implement /proc/slabinfo

2014-05-22 Thread Justus Winter
Add a node 'slabinfo' to the root directory that contains information about the slab allocator used in GNU Mach. The formatting code has been taken from Richard Braun's standalone client available here: git://darnassus.sceen.net/rbraun/slabinfo.git * rootdir.c (rootdir_gc_slabinfo): New function

Re: [PATCH 06/11] libstore: provide function declaration until available upstream

2014-05-22 Thread Justus Winter
Quoting Samuel Thibault (2014-05-23 00:22:14) > Justus Winter, le Thu 22 May 2014 22:13:28 +0200, a écrit : > > Until the Hurd specific header is available, provide a local > > declaration of ped_device_new_from_store. > > Mmm, does it really fix something? I'd prefer to keep the warning > showin

Re: let's make libpager single-threaded

2014-05-22 Thread Samuel Thibault
Richard Braun, le Mon 05 May 2014 18:32:26 +0200, a écrit : > On Mon, May 05, 2014 at 06:01:17PM +0200, Samuel Thibault wrote: > > ? The patch makes both ext2fs's service_paging_requests and libdiskfs' > > service_paging_requests become singlethreaded. > > That's what I call the paging part. The f

Re: [PATCH 7/7] libtrivfs: lock-less reference counting for trivfs_peropen objects

2014-05-22 Thread Samuel Thibault
Justus Winter, le Tue 13 May 2014 21:02:56 +0200, a écrit : > diff --git a/libtrivfs/protid-clean.c b/libtrivfs/protid-clean.c > index f98da6a..cce736d 100644 > --- a/libtrivfs/protid-clean.c > +++ b/libtrivfs/protid-clean.c > @@ -31,19 +31,23 @@ trivfs_clean_protid (void *arg) > (*trivfs_prot

Re: [PATCH 6/7] libdiskfs: lock-less reference counting for peropen objects

2014-05-22 Thread Samuel Thibault
Justus Winter, le Tue 13 May 2014 21:02:55 +0200, a écrit : > * libdiskfs/diskfs.h (struct peropen): Use refcount_t for field refcnt. > * libdiskfs/peropen-make.c (diskfs_make_peropen): Initialize refcnt. > * libdiskfs/peropen-rele.c (diskfs_release_peropen): Adjust accordingly. > * libdiskfs/proti

Re: [PATCH 2/3] i386: add io_map_cached

2014-05-22 Thread Samuel Thibault
Justus Winter, le Thu 15 May 2014 12:32:41 +0200, a écrit : > Quoting Samuel Thibault (2014-05-15 02:13:13) > > Justus Winter, le Fri 02 May 2014 21:33:01 +0200, a écrit : > > > io_map_cached is like io_map, but reuses the old mapping if it is > > > applicable. > > > > But AIUI, if it is not appli

Re: [PATCH 08/11] libdiskfs: add diskfs_make_node_alloc to allocate fat nodes

2014-05-22 Thread Samuel Thibault
Samuel Thibault, le Fri 23 May 2014 00:28:41 +0200, a écrit : > Justus Winter, le Thu 22 May 2014 22:13:30 +0200, a écrit : > > libdiskfs has two kind of nodes, struct node and struct netnode. > > struct node is used to store libdiskfs specific data, while struct > > netnode contains user supplied

Re: [PATCH 08/11] libdiskfs: add diskfs_make_node_alloc to allocate fat nodes

2014-05-22 Thread Samuel Thibault
Justus Winter, le Thu 22 May 2014 22:13:30 +0200, a écrit : > libdiskfs has two kind of nodes, struct node and struct netnode. > struct node is used to store libdiskfs specific data, while struct > netnode contains user supplied data. Previously, both objects were > allocated separatly, and a poin

Re: [PATCH 07/11] Avoid compiler warning about empty bodies

2014-05-22 Thread Samuel Thibault
Justus Winter, le Thu 22 May 2014 22:13:29 +0200, a écrit : > diff --git a/console-client/xkb/xkb.c b/console-client/xkb/xkb.c > index 0b43913..220701b 100644 > --- a/console-client/xkb/xkb.c > +++ b/console-client/xkb/xkb.c > @@ -606,10 +606,11 @@ clearcontrols (keypress_t key, boolctrls ctrls, in

Re: [PATCH 06/11] libstore: provide function declaration until available upstream

2014-05-22 Thread Samuel Thibault
Justus Winter, le Thu 22 May 2014 22:13:28 +0200, a écrit : > Until the Hurd specific header is available, provide a local > declaration of ped_device_new_from_store. Mmm, does it really fix something? I'd prefer to keep the warning showing up, so somebody eventually takes the time to provide a h

Re: [PATCH 05/11] libdiskfs: fix type of dir_cache_id, node_cache_id

2014-05-22 Thread Samuel Thibault
Justus Winter, le Thu 22 May 2014 22:13:27 +0200, a écrit : > * libdiskfs/name-cache.c (struct lookup_cache): Fix type of > dir_cache_id, node_cache_id. Ack. > --- > libdiskfs/name-cache.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/libdiskfs/name-cache.c b/libdiskf

Re: [PATCH 04/11] term: fix memory leak

2014-05-22 Thread Samuel Thibault
Justus Winter, le Thu 22 May 2014 22:13:26 +0200, a écrit : > I hope someone fixed that bug. Well, I guess you ran a box for some time with it? > * term/users.c (pi_destroy_hook): Fix memory leak. > --- > term/users.c | 4 +--- > 1 file changed, 1 insertion(+), 3 deletions(-) > > diff --git a/t

Re: [PATCH 03/11] pfinet: add missing include

2014-05-22 Thread Samuel Thibault
Justus Winter, le Thu 22 May 2014 22:13:25 +0200, a écrit : > * pfinet/linux-src/include/net/addrconf.h: Include ipv6.h. Ack. > --- > pfinet/linux-src/include/net/addrconf.h | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/pfinet/linux-src/include/net/addrconf.h > b/pfinet/linux-src

Re: [PATCH 02/11] exec: add missing includes

2014-05-22 Thread Samuel Thibault
Justus Winter, le Thu 22 May 2014 22:13:24 +0200, a écrit : > * exec/exec.c: Include mach/gnumach.h. > * exec/main.c: Include device/device.h. Ack. > --- > exec/exec.c | 1 + > exec/main.c | 1 + > 2 files changed, 2 insertions(+) > > diff --git a/exec/exec.c b/exec/exec.c > index b068f5e..2fc1

Re: [PATCH 01/11] include: install refcount.h

2014-05-22 Thread Samuel Thibault
Justus Winter, le Thu 22 May 2014 22:13:23 +0200, a écrit : > * include/Makefile (installhdrs): Add refcount.h. Ack. > --- > include/Makefile | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/include/Makefile b/include/Makefile > index b8773fe..4de165d 100644 > --- a/incl

[PATCH 11/11] trans/fakeroot: use netfs_node_netnode instead of np->nn

2014-05-22 Thread Justus Winter
When using fat nodes, expressions of the form E->nn can be rewritten as netfs_node_netnode (E). This is much faster as it only involves a offset calculation. For reference, I used the following semantic patch to create the patch: @@ expression E; @@ - E->nn + netfs_node_netnode (E) * trans/fak

[PATCH 04/11] term: fix memory leak

2014-05-22 Thread Justus Winter
I hope someone fixed that bug. * term/users.c (pi_destroy_hook): Fix memory leak. --- term/users.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/term/users.c b/term/users.c index 97bc22c..9bd51d0 100644 --- a/term/users.c +++ b/term/users.c @@ -259,9 +259,7 @@ pi_destroy_

[PATCH 06/11] libstore: provide function declaration until available upstream

2014-05-22 Thread Justus Winter
Until the Hurd specific header is available, provide a local declaration of ped_device_new_from_store. * libstore/part.c (ped_device_new_from_store): New declaration. --- libstore/part.c | 10 ++ 1 file changed, 10 insertions(+) diff --git a/libstore/part.c b/libstore/part.c index 56e904

[PATCH 10/11] trans/fakeroot: use fat nodes to simplify the node cache

2014-05-22 Thread Justus Winter
Previously, fakeroot stored netnodes in the hash table. But we are not interested in a cache for netnodes, we need a node cache. So fakeroot kept pointers to the associated node object in each netnode object. Use fat netfs nodes, which combine node and netnode objects. * trans/fakeroot.c (struc

[PATCH 08/11] libdiskfs: add diskfs_make_node_alloc to allocate fat nodes

2014-05-22 Thread Justus Winter
libdiskfs has two kind of nodes, struct node and struct netnode. struct node is used to store libdiskfs specific data, while struct netnode contains user supplied data. Previously, both objects were allocated separatly, and a pointer from the node to the netnode provided a mapping from the former

[PATCH 05/11] libdiskfs: fix type of dir_cache_id, node_cache_id

2014-05-22 Thread Justus Winter
* libdiskfs/name-cache.c (struct lookup_cache): Fix type of dir_cache_id, node_cache_id. --- libdiskfs/name-cache.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libdiskfs/name-cache.c b/libdiskfs/name-cache.c index 8424ffe..c113692 100644 --- a/libdiskfs/name-cache.c +++ b/l

[PATCH 03/11] pfinet: add missing include

2014-05-22 Thread Justus Winter
* pfinet/linux-src/include/net/addrconf.h: Include ipv6.h. --- pfinet/linux-src/include/net/addrconf.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pfinet/linux-src/include/net/addrconf.h b/pfinet/linux-src/include/net/addrconf.h index d711d0d..4b27077 100644 --- a/pfinet/linux-src/incl

[PATCH 02/11] exec: add missing includes

2014-05-22 Thread Justus Winter
* exec/exec.c: Include mach/gnumach.h. * exec/main.c: Include device/device.h. --- exec/exec.c | 1 + exec/main.c | 1 + 2 files changed, 2 insertions(+) diff --git a/exec/exec.c b/exec/exec.c index b068f5e..2fc1e44 100644 --- a/exec/exec.c +++ b/exec/exec.c @@ -24,6 +24,7 @@ the Free Software Fo

[PATCH 01/11] include: install refcount.h

2014-05-22 Thread Justus Winter
* include/Makefile (installhdrs): Add refcount.h. --- include/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/Makefile b/include/Makefile index b8773fe..4de165d 100644 --- a/include/Makefile +++ b/include/Makefile @@ -22,7 +22,7 @@ dir := include makemode :=

[PATCH 09/11] libnetfs: add netfs_make_node_alloc to allocate fat nodes

2014-05-22 Thread Justus Winter
libnetfs has two kind of nodes, struct node and struct netnode. struct node is used to store libnetfs specific data, while struct netnode contains user supplied data. Previously, both objects were allocated separatly, and a pointer from the node to the netnode provided a mapping from the former to

[PATCH 07/11] Avoid compiler warning about empty bodies

2014-05-22 Thread Justus Winter
Make empty bodies of control flow statements more explicit. Doing so will allow us to use stricter compiler settings. This would have cought 4ece292c. * console-client/xkb/xkb.c: Make empty bodies more explicit * libpipe/pipe.c: Likewise. * mach-defpager/default_pager.c: Likewise. * pfinet/linux

GSOC - Valgrind-Hurd repo

2014-05-22 Thread Subhashish
Hello, Here's the repository for valgrind-hurd: https://github.com/sprkv5/valgrind-hurd.git The branches are: main - The experimental development branch master - The default development branch master-clean - The branch without any changes Regards, Subhashish