lkml.org 
[lkml]   [2007]   [Sep]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [RFC][PATCH 1/6] Storing ipcs into IDRs
Andi Kleen wrote:
> Nadia.Derbey@bull.net writes:
>
>
>>This patch introduces ipcs storage into IDRs. The main changes are:
>> . This ipc_ids structure is changed: the entries array is changed into a
>> root idr structure.
>> . The grow_ary() routine is removed: it is not needed anymore when adding
>> an ipc structure, since we are now using the IDR facility.
>> . The ipc_rmid() routine interface is changed:
>> . there is no need for this routine to return the pointer passed in as
>> argument: it is now declared as a void
>> . since the id is now part of the kern_ipc_perm structure, no need to
>> have it as an argument to the routine
>>
>
>
> Thanks for doing this work. It was long overdue.
>
> Do you have any data how this changes memory consumption with
> many objects?
>
> -Andi
>

Andi,

Here are the results I got when creating 32768 (IPCMNI) msg queues with
the patched kernel:

http://akt.sourceforge.net/results/2.6.23-rc2-idr/msg11/output.new

It's the output from msg11.c. This script does what follows:
. gets sysinfo(2) results
. captures /proc/meminfo
. captures /proc/slabinfo
. creates XX msg queues (XX given as parameter)
. captures /proc/meminfo
. captures /proc/slabinfo
. gets sysinfo results
. outputs all the results
. removes the created ipcs

sysinfo results: a BEFORE and an AFTER column are output where necessary.
BEFORE means "before creating the objects"
AFTER means "after the objects have been created"

meminfo results: the BEFORE and AFTER files are pasted

slabinfo results: only the differences between the BEFORE and the AFTER
are output.


Here are also the sizes for the ref and the patched kernel:

size linux-2.6.23-rc2.ref/vmlinux linux-2.6.23-rc2/vmlinux
text data bss dec hex filename
4432697 496450 602112 5531259 54667b linux-2.6.23-rc2.ref/vmlinux
4430747 496450 602112 5529309 545edd linux-2.6.23-rc2/vmlinux



The http://akt.sourceforge.net/results/2.6.23-rc2-idr/msg11 directory is
structured as follows:

msg11.c: the script I used to generate the results
output.ref: the output from msg11 with the ref kernel
output.new: the output from msg11 with the patched kernel
size: the output from the size command
ref: directory with the results files for the ref kernel
new: directory with the results files for the patched kernel
In these 2 directories:
*_mem_*before: /proc/meminfo before creating the msg queues
*_mem_*after: /proc/meminfo after creating the msg queues
*_slab_*before: /proc/slabinfo before creating the msg queues
*_slab_*after: /proc/slabinfo after creating the msg queues

Regards,
Nadia

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2007-09-06 11:31    [W:0.963 / U:0.080 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site