From: Pavel Emelyanov <xemul-GEFAQzZX7r8dnm+yROfE0A@public.gmane.org>
To: Cedric Le Goater <clg-NmTC/0ZBporQT0dZR+AlfA@public.gmane.org>
Cc: Linux Containers <containers-qjLDD68F18O7TbgM5vRIOg@public.gmane.org>
Subject: Re: Kernel text size with the pid namespaces fixes
Date: Tue, 25 Sep 2007 18:32:44 +0400 [thread overview]
Message-ID: <46F91C0C.2060303@openvz.org> (raw)
In-Reply-To: <46F90381.4040304-NmTC/0ZBporQT0dZR+AlfA@public.gmane.org>
Cedric Le Goater wrote:
> Hello Pavel !
>
> Pavel Emelyanov wrote:
>> Hi, Suka
>>
>> I have posted tree patches with un-inlining of some macros
>> and static inline calls that are expanded into another call.
>>
>> At my i386 notebook this saved about half-a-kilo from the
>> vmlinux. Could you please check these patches at your
>> boxes/configs to see how much progress we have here.
>>
>> Here's the combined patch for 2.6.24-rc8-mm1
>
> on my qemu configuration, scripts/bloat-o-meter gave the following
> results.
>
> it would be interesting to run some micro benchmark. Did you have
> time to do that ?
>
> Thanks,
>
> C.
>
> add/remove: 9/0 grow/shrink: 3/47 up/down: 194/-683 (-489)
> function old new delta
> find_task_by_vpid - 29 +29
> find_vpid - 25 +25
> task_tgid_nr_ns - 22 +22
> task_session_nr_ns - 22 +22
> task_pgrp_nr_ns - 22 +22
> find_task_by_pid - 19 +19
> task_pid_nr_ns - 16 +16
> find_task_by_pid_ns - 16 +16
> find_pid - 15 +15
> proc_task_readdir 762 766 +4
> msg_exit_ns 117 119 +2
> _request_firmware 688 690 +2
> nfs_readpage_truncate_uninitialised_page 298 297 -1
> sys_swapoff 1898 1896 -2
I see you have an interesting effect as well. Look, if you generate
the .i file for mm/swapfile.c (the one where sys_swapoff is) for
two cases - with and without this patch - you will see that the
.i files differ in one place only - the find_task_xxx calls have
transformed from macros into extern calls and (!) no places in
this sys_swapoff() use them.
The question is - WHY its size changed?
Why gcc produces different code on the same input?
BTW, you're lucky - your sys_swapoff shrank, but mine grew up just
like yours msg_exit_ns() which has nothing to do with the functions
changed :(
> set_get_cmap 332 330 -2
> __iovec_copy_from_user_inatomic 88 86 -2
> proc_pid_readdir 438 434 -4
> init_pit_clocksource 82 78 -4
> do_notify_parent_cldstop 297 293 -4
> do_notify_parent 394 390 -4
> kill_proc 39 34 -5
> sys_timer_create 720 713 -7
> do_setlink 796 789 -7
> debug_rt_mutex_print_deadlock 406 399 -7
> check_clock 122 115 -7
> rest_init 78 69 -9
> posix_cpu_clock_get 221 212 -9
> __set_special_pids 154 144 -10
> vma_adjust 855 844 -11
> tty_ioctl 3274 3263 -11
> kthreadd 248 237 -11
> sys_kill 313 301 -12
> sys_capget 285 273 -12
> sys_getsid 128 114 -14
> sys_getpgid 128 114 -14
> posix_cpu_timer_create 240 226 -14
> kill_proc_info 45 31 -14
> find_get_pid 31 16 -15
> sys_sched_getscheduler 92 76 -16
> sys_sched_getparam 143 127 -16
> sys_get_robust_list 149 133 -16
> sched_setaffinity 259 243 -16
> sched_getaffinity 114 98 -16
> ptrace_get_task_struct 90 74 -16
> futex_lock_pi 2435 2419 -16
> f_setown 68 52 -16
> do_tkill 280 264 -16
> do_sched_setscheduler 113 97 -16
> sys_sched_rr_get_interval 161 141 -20
> sys_capset 702 681 -21
> eligible_child 215 191 -24
> do_task_stat 2135 2107 -28
> sys_setpriority 446 416 -30
> sys_setpgid 419 389 -30
> sys_ioprio_set 471 441 -30
> sys_ioprio_get 388 358 -30
> sys_getpriority 439 409 -30
> proc_pid_status 1216 1186 -30
> do_wait 2677 2639 -38
>
prev parent reply other threads:[~2007-09-25 14:32 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-09-25 11:00 Kernel text size with the pid namespaces fixes Pavel Emelyanov
[not found] ` <46F8EA61.9030707-GEFAQzZX7r8dnm+yROfE0A@public.gmane.org>
2007-09-25 12:48 ` Cedric Le Goater
[not found] ` <46F90381.4040304-NmTC/0ZBporQT0dZR+AlfA@public.gmane.org>
2007-09-25 14:28 ` Pavel Emelyanov
2007-09-25 14:32 ` Pavel Emelyanov [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=46F91C0C.2060303@openvz.org \
--to=xemul-gefaqzzx7r8dnm+yrofe0a@public.gmane.org \
--cc=clg-NmTC/0ZBporQT0dZR+AlfA@public.gmane.org \
--cc=containers-qjLDD68F18O7TbgM5vRIOg@public.gmane.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.