Andi Kleen wrote:
[email protected] 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 [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]