From: Nicolas Iooss <nicolas.iooss_linux@m4x.org>
To: "Eric W. Biederman" <ebiederm@xmission.com>
Cc: Andy Lutomirski <luto@amacapital.net>,
Andrew Morton <akpm@linux-foundation.org>,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH] userns: simplify map_id_range_* functions
Date: Mon, 27 Jul 2015 20:59:15 +0800 [thread overview]
Message-ID: <55B62B23.8050008@m4x.org> (raw)
In-Reply-To: <878ua26x5v.fsf@x220.int.ebiederm.org>
On 07/27/2015 12:29 PM, Eric W. Biederman wrote:
> Nicolas Iooss <nicolas.iooss_linux@m4x.org> writes:
>
>> Functions map_id_range_down, map_id_down and map_id_up all used the
>> construction:
>>
>> if (...)
>> id = ...
>> else
>> id = ...
>> return id;
>>
>> which can be simplified by directly returning the result of the
>> computations in each branch.
>>
>> Moreover as the condition tested whether the "break;" in the previous
>> for loop was hit, it is simpler to directly compute the result and
>> return it.
>
> It is not a simplification, it is just code motion.
I agree. Also on my system (x86_64 kernel with Arch Linux +
CONFIG_USERNS configuration), the assembly code generated either by gcc
5.2.0 or by clang 3.6.2 (with LLVMLinux patches) does not change at all
with this patch. So there would be absolutely no performance change or
similar things which could motivate this change.
> Further at least to my eyes adding multiple exit points and setting the
> same value in two different places actually obscures what the functions
> are doing.
I did not understand what "setting the same value in two different
places" refers to. Anyway, all right. I haven't got much experience
about code maintenance so if you say my patch make things less clear, I
believe you.
> If we could talk about speeding up the performance of the stat system
> call I think there would be a point in mucking with these functions.
>
> As it is I think it is I think merging your patch will just make it more
> difficult to understand what the code is doing in the future, with no
> benefit except a reduction in line count.
OK. My intention was precisely to make the code easier to understand
(because I spent some time before I understood there really were only
two cases: existing mapping or not) but if you think my patch does the
opposite, I accept dropping it.
Thanks for your comments.
Nicolas
next prev parent reply other threads:[~2015-07-27 12:59 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-07-26 1:50 [PATCH] userns: simplify map_id_range_* functions Nicolas Iooss
2015-07-27 4:29 ` Eric W. Biederman
2015-07-27 12:59 ` Nicolas Iooss [this message]
2015-07-27 18:04 ` Eric W. Biederman
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=55B62B23.8050008@m4x.org \
--to=nicolas.iooss_linux@m4x.org \
--cc=akpm@linux-foundation.org \
--cc=ebiederm@xmission.com \
--cc=linux-kernel@vger.kernel.org \
--cc=luto@amacapital.net \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox