[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20190129141848.5f3d2d1aa125c8ec45ee091d@linux-foundation.org>
Date: Tue, 29 Jan 2019 14:18:48 -0800
From: Andrew Morton <akpm@...ux-foundation.org>
To: Alexey Dobriyan <adobriyan@...il.com>
Cc: linux-kernel@...r.kernel.org
Subject: Re: [PATCH] proc: calculate end pointer for /proc/*/* lookup at
compile time
On Mon, 14 Jan 2019 23:04:23 +0300 Alexey Dobriyan <adobriyan@...il.com> wrote:
> Compilers like to transform loops like
>
> for (i = 0; i < n; i++) {
> [use p[i]]
> }
>
> into
> for (p = p0; p < end; p++) {
> ...
> }
>
> Do it by hand, so that it results in overall simpler loop
> and smaller code.
>
> Space savings:
>
> $ ./scripts/bloat-o-meter ../vmlinux-001 ../obj/vmlinux
> add/remove: 0/0 grow/shrink: 2/1 up/down: 4/-9 (-5)
> Function old new delta
> proc_tid_base_lookup 17 19 +2
> proc_tgid_base_lookup 17 19 +2
> proc_pident_lookup 179 170 -9
>
> Note: this trick bloats readdir, so don't do it :-\
I don't understand the Note:. Can you please expand?
Powered by blists - more mailing lists