Re: [PATCH] proc: calculate end pointer for /proc/*/* lookup at compile time

From: Andrew Morton
Date: Tue Jan 29 2019 - 17:18:52 EST


On Mon, 14 Jan 2019 23:04:23 +0300 Alexey Dobriyan <adobriyan@xxxxxxxxx> 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?